DRM fbdev / Wayland presentation support with Linux kernel 6.11 and above

With Linux kernel 6.11, drm_fbdev_generic_setup was renamed to
drm_fbdev_ttm_setup. What this means for end users is that DRM fbdev support
(nvidia_drm.fbdev=1) will no longer continue to work as expected. The major
effect of this is Wayland compositors being unable to present to the display.
This leads to a black screen and the compositor being unusable. Our production
branch driver 550.120 contains the fix for nvidia-drm to work properly with
Linux kernel 6.11, and a future new feature branch release will also contain
this fix.

2 Likes

The 550.120 update from the 550.107 driver is broken with missing file dependency in module nvidia-dkms-550.

Leaves the kernel in broken state or preferably defaulting to nouveau drivers to at least draw a desktop to start remediation.

Had to remove the 550 drivers and install the 555.58.02 drivers into my kernel 6.11.0-061100-generic to get a working system again.

Hi,

We found this internally as well and our next releases will fix this in the NVIDIA installer. Sorry about this disruption. The problem with 555.58.02 is you will likely face black screens with KWin (Plasma 6 + Wayland) with kernel 6.11. Anyways, we will have the issue you reported resolved in the next driver releases.

Thanks,
Rahul Rameshbabu

1 Like

Even with the patch from 550.120, I am still getting a black screen when I don’t enable fbdev=1. Considering that fbdev is still considered experimental, I think this is a bug.

You can find confirmation of the Arch 6.11 kernel including the 550.120 patch here: nvidia-utils: Add fix for fbdev with 6.11 Kernel (538f8a3d) · Commits · Arch Linux / Packaging / Packages / nvidia-utils · GitLab

Hey, I’m the Arch Linux NVIDIA driver packager. How do you suggest we fix this for our users? What kind of change are you making to the installer that I can already implement for Arch Linux?

Hi @svenstaro,
I tried reaching out on the Arch Linux gitlab issue for this. Unfortunately, I do not have an account, so I emailed accountsupport@archlinux.org. Have not heard back yet but hoping to have an account in the future.

I took a look at the work you did to pull in the 550.120 change. It looked good to me personally. We hope that you will be able to drop this patch when we release the next New Feature Branch release.

With regards to nvidia-installer, here is the patch I implemented to resolve the depmod issue.

1 Like

@rrameshbabu Can you confirm whether fbdev=1 is mandatory now for Wayland? Even with the above patch, if fbdev=1 is not explicitly set, it causes black screens for a lot of users.

1 Like

Hi @UrbenLegend,
I was going to have one of our team members who works actively with customers follow up with you on this thread.
I also noticed that I needed to use fbdev=1 to avoid a black screen, which I found strange since compositors like KWin should be using a series of DRM_IOCTL_MODE_*_DUMB ioctls. These ioctls should not depend on DRM fbdev support from my understanding.
In general, I am investigating this to confirm if this is an issue with our driver or some change due to a refactor in the kernel that makes DRM fbdev support a requirement for some reason. We are using bug 4890260 to track this internally.

4 Likes

Not directly related to the bug, but according to Nvidia’s slides from XDC, fbdev (and modeset) will be enabled by default in the future, so fbdev=1 as a workaround seems like a decent solution on the current 560.xx (which last had a fix for an fbdev issue).

See second image - https://www.phoronix.com/news/NVIDIA-Wayland-Roadmap-2024

1 Like

I have a related bug on Fedora KDE spin with kernel 6.11.3-200.fc40.x86_64 and kmod-nvidia-open-dkms.x86_64 3:560.35.03-1.fc39 from the cuda-fedora39 repo. I do not get a black screen but DRM does not work, so Wayland is slow and uses a lot of CPU. From journalctl -b - g kwin_wayland output

Oct 15 14:19:27 fedora sddm-helper-start-wayland[1584]: "kwin_wayland_drm: Failed to create framebuffer: Invalid argument\n"
Oct 15 14:19:30 fedora sddm-helper-start-wayland[1584]: "kwin_wayland_drm: Failed to create framebuffer: Invalid argument\n"
Oct 15 14:19:34 fedora sddm-helper-start-wayland[1584]: "kwin_wayland_drm: Failed to create framebuffer: Invalid argument\n"
Oct 15 14:19:34 fedora sddm-helper-start-wayland[1584]: Stopping... "kwin_wayland"
Oct 15 14:19:36 fedora systemd[1797]: Starting plasma-kwin_wayland.service - KDE Window Manager...
Oct 15 14:19:36 fedora systemd[1797]: Started plasma-kwin_wayland.service - KDE Window Manager.
Oct 15 14:19:36 fedora kwin_wayland[2118]: kwin_wayland_drm: Failed to create framebuffer: Invalid argument
Oct 15 14:19:36 fedora kwin_wayland[2118]: kwin_wayland_drm: Failed to create framebuffer: Invalid argument

Moreover, sleep mode no longer works on my laptop. I have set the nvidia_drm.fbev=1 nvidia_drm.modeset=1 options in the kernel command, but it did not help.

It looks like the only desktop which needs fbdev=1 is KDE Plasma (+ SDDM). GDM+GNOME, LXDE+LXDM, LightDM, etc. works without problems with kernel 6.11.3 + NVIDIA 560.35.03 (Wayland / X11). 550.120 won’t install due to this bug.

But @rrameshbabu you are totally right, that KWin should work without fbdev=1, because KDE Neon (SDDM + Plasma 6) works without it. I don’t know exact difference between Fedora KDE builds (needs fbdev=1) compared to KDE Neon builds (works without fbdev=1).

Any idea when this installer update is available on public installers, like Stable, NFB / Beta?

Same issue here, Fedora 40 KDE. Did you find a solution?

There are “community patches” for 6.11, nothing official from Nvidia yet afaik.

Kernel 6.11 needs also patched NVIDIA installer, not only kernel patches.

Version 550.120 use very similar changes compared to earlier versions, but depmod fails without this patch:

I would like to add that the same Nvidia driver does not work with kernel 6.10.12-200.fc40.x86_64 as well, although it did work before installing kernel 6.11.3-200.fc40.x86_64. I think the Nvidia installation script does not build the proper kernel module version. Afterward, the computer will launch recognizing the Nvidia GPU, but it shows a black screen for some time, then launches KDE, and finally proceeds to log out on its own. On login, the screen will turn black permanently.

If you are facing this problem on fedora, installing the kernel 6.11.5 and xorg-x11-drv-nvidia 360 from rpmfusion-nonfree repos worked for me.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.