Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate to FreeBSD 14.0-CURRENT for better GPU support. #271

Open
TargetGalaxy opened this issue Aug 18, 2021 · 17 comments
Open

Migrate to FreeBSD 14.0-CURRENT for better GPU support. #271

TargetGalaxy opened this issue Aug 18, 2021 · 17 comments

Comments

@TargetGalaxy
Copy link
Contributor

Is your feature request related to a problem? Please describe.

It is, limited hardware has fully working graphics hardware. My laptop has a newer iGPU so the version of drm-kmod available does not support it. Switching to the FreeBSD 14.0-CURRENT snapshot allows you to get drm-devel-kmod which supports up to the soon-releasing 12th gen intel chips and tons of AMD and nVidia GPUS.

Describe the solution you'd like

I would like it if helloSystem migrates to FreeBSD 14.0-CURRENT so it can use drm-devel-kmod. This would give better GPU support. It would be nice if you put exec="mode 0" in /boot/loader.conf so a GPU not supported by the updated driver support will still run at the monitors resolution and supported GPUs will still have the native resolution before the drivers loads.

Describe alternatives you've considered

The only alternative would to be putting exec="mode 0" in /boot/loader.conf without the GPU driver which for me at least will force FreeBSD to go to the displays maximum resolution but that would not fix any bugs relating to no hardware acceleration.

Additional context

I know both of these work because I used exec="mode 0" in the loader.conf file when I used FreeBSD 13.0-RELEASE (also in helloSystem 0.5 but just entering mode 0 in the loader prompt and not the file) which does not have drivers that support my iGPU and I am currently using FreeBSD 14.0-CURRENT with the exec="mode 0" option in my loader to get a widescreen boot splash and have drm-devel-kmod so I have graphics acceleration.

@grahamperrin
Copy link
Contributor

I like this idea, however I'd prefer the system and packages to be upgradeable. Respectively:

… drm-devel-kmod …

Maybe too adventurous. See for example freebsd/drm-kmod#93

As a default for -CURRENT, graphics/drm-kmod is probably safer.

@probonopd
Copy link
Member

At this point we still have documented showstoppers that prevent us from going from 12 to 13, let alone 14

@grahamperrin
Copy link
Contributor

Fixed whilst testing an upgrade: wulf7/utouch#2

@probonopd
Copy link
Member

@grahamperrin can you please elaborate? What is "utouch_softc's mutex" and how is it related to this ticket?

@grahamperrin
Copy link
Contributor

Encountered whilst experimentally building and installing 14.0-CURRENT (over 13.0-RELEASE-p3).

@grahamperrin
Copy link
Contributor

@target-relative you can install 14.0-CURRENT, however – not OS version-specific – you'll probably encounter breakage of helloSystem applications such as the three pictured (2021-06-18) at #267 (comment); probably the four listed at #267 (comment).

image

@ivr588
Copy link

ivr588 commented Aug 28, 2021

Can graphics/drm-devel-kmod not be compiled from ports on 13-stable? Sorry if this has been answered elsewhere; i've looked but not found anything to suggest it can't.

@grahamperrin

This comment has been minimized.

@probonopd
Copy link
Member

probonopd commented Aug 28, 2021

I am really confused about all the FreeBSD versions that are available and partly supported in parallel. 12.x seems the one where most things work, 13.x is still the new kid on the block where things are broken, and now people are already talking about 14.x... all the while Ports make some (which?) implicit assumptions about the FreeBSD version users are running.

@grahamperrin
Copy link
Contributor

FreeBSD

… versions … partly supported in parallel. …

We have full support for multiple versions:

Support is tiered by platform/architecture:

13.x is still the new kid on the block where things are broken,

No, there were release engineering (releng) processes during which things were fixed for all three releases:

Orientation

https://cgit.freebsd.org/src/log/?h=main

  • main a.k.a. HEAD uppermost
  • this is CURRENT.

https://cgit.freebsd.org/src/log/?h=stable/13

https://cgit.freebsd.org/src/log/?h=releng%2F13.0

  • releng/13.0 uppermost
  • release/13.0.0 part-way down.

Example

I built and installed 14.0-CURRENT a few hours ago. Boot environments are normally named, by me, to include the revision.

% bectl list 
BE                             Active Mountpoint Space Created
14.0-CURRENT_2021-08-08_145838 -      -          365M  2021-08-26 22:54
14.0-CURRENT_2021-08-19_045942 -      -          1.09G 2021-08-26 22:41
default                        -      -          789M  2021-08-26 16:33
n247565-b49ba74deeb-f          -      -          36.7G 2021-08-26 19:50
n247798-f39dd6a9784-a          -      -          22.9M 2021-08-26 22:54
n247798-f39dd6a9784-e          -      -          328M  2021-08-26 22:55
n247798-f39dd6a9784-j          -      -          4.98G 2021-08-26 22:55
n248139-3a57f08b504-b          -      -          1.21G 2021-08-26 22:54
n248269-941650aae97-b          -      -          524M  2021-08-26 22:54
n248269-941650aae97-d          -      -          260M  2021-08-26 22:55
n248269-941650aae97-e          -      -          40.5M 2021-08-26 22:54
n248269-941650aae97-f          -      -          29.3M 2021-08-26 22:54
n248478-f3a3b061216-a          -      -          51.0M 2021-08-26 22:54
n248478-f3a3b061216-b          -      -          56.7M 2021-08-26 22:55
n248478-f3a3b061216-c          -      -          101M  2021-08-26 22:55
n248478-f3a3b061216-d          -      -          310M  2021-08-26 22:55
n248478-f3a3b061216-e          -      -          579M  2021-08-26 22:54
n248685-c9f833abf1d-e          -      -          39.5M 2021-08-26 22:55
n248685-c9f833abf1d-f          -      -          900M  2021-08-26 21:13
n248984-08b9cc316a3-a          NR     /          54.0G 2021-08-28 20:20
% 

Taking 08b9cc316a3 from the currently active environment:

Ports

Ports make some (which?) implicit assumptions about the FreeBSD version users are running.

Not really.

Ignoring FreeBSD 11.4-RELEASE, which is nearly end of life …

  • a binary for 12.⋯ should run on 13.⋯ and greater

– and so on. For example, a few weeks ago I built editors/nano on 13.0-RELEASE-p3 then ran it on 14.0-CURRENT. From https://forums.FreeBSD.org/threads/80117/post-523432:

… COMPAT_FREEBSD11, COMPAT_FREEBSD12, COMPAT_FREEBSD13, etc are in the GENERIC kernel. …

Nothing OS version-specific in the makefile for editors/nano; nothing OS version-specific in the makefile for www/falkon; and so on.

@ivr588
Copy link

ivr588 commented Aug 28, 2021

I am really confused about all the FreeBSD versions that are available and partly supported in parallel. 12.x seems the one where most things work, 13.x is still the new kid on the block where things are broken, and now people are already talking about 14.x... all the while Ports make some (which?) implicit assumptions about the FreeBSD version users are running.

The way I think about it is:

11.x and 12.x is legacy but is still production
13.x is mainstream and production
14 is development

https://www.freebsd.org/releases/

Some things (like *kmod; another one is lsof) need to be built against the relevant kernel sources, in order to run.

edit: you'll see from the link I've pasted that point releases have their own EoL, like for example 12.0

@grahamperrin
Copy link
Contributor

grahamperrin commented Aug 28, 2021

… 13.x is mainstream …

Undoubtedly.

People are often advised to upgrade from 11.4 or 12.2 to 13.0-RELEASE.

Downgrade situations are extremely rare.

https://old.reddit.com/r/freebsd/comments/pbdyo8/-/hab19cy/ is a rare example of a use case where the installer for 13.0-RELEASE is not usable, so there's a plan to simply install 12.2 then update, then upgrade to 13.0-RELEASE-p4.

@grahamperrin

This comment has been minimized.

@kettle-7
Copy link
Contributor

kettle-7 commented Sep 1, 2021

Because of drivers, I had to install FreeBSD 13-based helloSystem, and had absolutely no issues there at all.

@grahamperrin
Copy link
Contributor

#271 (comment)

Can graphics/drm-devel-kmod not be compiled from ports on 13-stable?

It can be built ▶ https://forums.FreeBSD.org/threads/81919/post-531421

@probonopd
Copy link
Member

There is now a (crashing) build based on 14-CURRENT.
https://github.com/helloSystem/ISO/releases/tag/tmpfs-14.0

Maybe someone can figure out what is going on.

@grahamperrin
Copy link
Contributor

grahamperrin commented Sep 5, 2022

helloSystem/hello#161 (comment) graphics/drm-510-kmod is now building for FreeBSD:13:amd64.

Migrate to FreeBSD 14.0-CURRENT for better GPU support.

Some drm-510-kmod use cases might get more mileage from 14.0-CURRENT than from 13.1-RELEASE-p2, however — for purposes such as security and support https://www.freebsd.org/security/#sup – I think that 13.1-RELEASE will be a better base for helloSystem.

Postscript

It's now packaged for latest and quarterly.

https://www.freshports.org/graphics/drm-510-kmod/#packages

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants