open-gpu-kernel-modules
open-gpu-kernel-modules copied to clipboard
wlroots based compositors (including sway) does not work well with NVIDIA
NVIDIA Open GPU Kernel Modules Version
525.53
Does this happen with the proprietary driver (of the same version) as well?
Yes
Operating System and Version
Arch Linux
Kernel Release
6.0.8
Hardware: GPU
NVIDIA GeForce GTX 1660 SUPER
Describe the bug
Invisible cursor and flickering in wlroots based compositors.
To Reproduce
Install sway with the latest NVIDIA drivers and run cat /dev/urandom in the terminal to see the artifacts. Also the cursor is invisible.
Thank you for the bug report. Tracking internally in bug 3707157.
Me too,my arch upgrade 515.57 vulkan isn't working
+1
Usage [Linux: OpenSuse Tumbleweed] After updating the NVIDIA open source driver to version 515.57, I immediately had a frozen black screen issue during boot (see illustrative image in the link: https://i0.wp.com/windows11tools.com/wp-content/uploads/2022/01/image-17.png?resize=640%2C254&ssl=1). I even reinstalled Open Suse Tumbleweed, but that didn't help. This is strange, because on 515.48.07 everything worked perfectly.
Hardware GPU: NVIDIA GeForce GTX 1660 SUPER
driver 515.65.01 I haven't tested it yet. Did it really not work for you?
😟
@rsmunix Unfortunately, yes.
The flicker seems to disappear when you run the git version of sway with WLR_RENDERER=vulkan. Please fix it. UPDATE: Cursor sometimes freezes with WLR_RENDERER=vulkan UPDATE2: grim is not working:
failed to copy output HDMI-A-1
The flicker seems to disappear when you run the git version of sway with WLR_RENDERER=vulkan. Please fix it. UPDATE: Cursor sometimes freezes with WLR_RENDERER=vulkan UPDATE2: grim is not working:
failed to copy output HDMI-A-1
the grim thing is wlroots/vulkan issue https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3290 same with amdgpu if sway use vulkan renderer.
I found a temporary solution from the hyprland wiki https://wiki.hyprland.org/Nvidia/.
I am now able to run sway with opengl without flicker. I.e., without WLR_RENDERER=vulkan
I am using Arch linux and has a 3080. I cloned wlroots-git from AUR, added a line in build, and then build the package :
build () {
sed -E -i "s/glFlush/glFinish/" "$srcdir"/wlroots-git/render/gles2/renderer.c
_meson_setup "${_builddir}"
meson compile -C "${_builddir}"
}
The code replaces glFlush with glFinish in render/gles2/renderer.c before building. Finally install the package.
It is a hack, but it works so far. Hopefully it gets officially fixed in wlroot soon.
Hopefully it gets officially fixed in wlroot soon
It probably won't - here is rejected PR with the same change from mid-august:
Well, as you explained this introduces a blocking call which waits for GPU operations to complete. This is very much a performance regression. There is no reason why this should be necessary, glFlush introduces a synchronization barrier, which is supposed to be waited on by the buffer consumer via implicit synchronization. NACK, sorry, this is a NVIDIA bug.
525.53, the problem still remains.
525.53, the problem still remains.
Hello, @niv I was wondering if this bug 3707157 is very far at the bottom of NVIDIA priorities, or if there are some investigations already on-going ?
I am on https://github.com/hyprwm/Hyprland/commit/e8b99ae13a0525f9fbd6899fe39fe723879f86b9 (wlroots based compositor, closely follows wlroots git version), and I had random flickering when running without the above mentioned wlroots patch, but since 525.60.11 of proprietary driver I don't need the patch anymore - it works flawlessly even without it.
Can't test on opensource driver (old gpu), but since the readme says
This code base is shared with NVIDIA's proprietary drivers
I thought it might be relevant.
EDIT
I forgot to mention, I run Hyprland with
export WLR_NO_HARDWARE_CURSORS=1
before launch, since its wiki says so.
Without this env variable set there is still no cursor displayed.
I am on 525.60.11 with an RTX 2080, the mouse cursor is still disappearing upon opening an app.
@MahouShoujoMivutilde, the flickering has indeed disappeared with wlroots-git (even when using an open source driver), but the mouse cursor is still invisible. Thanks for the report!
Same problems with Qtile + Wayland + nVidia 3070Ti. Flickering and no mouse cursor. ( nVidia 525.78.01-2 on Arch Linux )
Same issues described here
Nvidia needs to add support for missing GBM protocols to resolve performance issues and adress missing features like 10bit support with wlroots based compositors such as Sway, Hyprland and so on.
I've been using NVIDIA for ages but I'm starting to consider if AMD could be a better choice to get proper hardware acceleration in Wayland since I'm tired of using Windows and Linux is just perfect for work
This bug is still not fixed, after almost 1 year. Hopefully nouveau will get GSP firmware support this year...
This bug is still not fixed, after almost 1 year. Hopefully nouveau will get GSP firmware support this year...
Yep, at this point i'm also considering Nouveau...
Yep, at this point i'm also considering Nouveau...
Here's a better solution
$ glxinfo -B | grep Device
Device: AMD Radeon RX 6800 XT (navi21, LLVM 16.0.6, DRM 3.54, 6.5.7-2-cachyos-lto) (0x73bf)
Bye bye my old RTX 3080 Ti
I just switched to using Nouveau driver. Hopefully its performance will improve with the latest news.
UPD: https://www.phoronix.com/news/Nouveau-NVK-One-Win :-)
stuff's still not working. at this point I'm literally just telling people to stay away from nvidia GPUs....
I just switched to using Nouveau driver. Hopefully its performance will improve with the latest news.
UPD: https://www.phoronix.com/news/Nouveau-NVK-One-Win :-)
Could you test it ? Does it fix the issue with wlroots ?
The problem with nouveau is the lack of hardware acceleration on new cards. I tried it last week, but couldn't retain due to high cpu loads.
you need to install kernel 6.7 when available.
you need to install kernel 6.7 when available.
And if you are using Turing or Ampere, add nouveau.config=NvGspRm=1 to /etc/default/grub (don't forget to run grub-mkconfig -o /boot/grub/grub.cfg)
https://nouveau.freedesktop.org/PowerManagement.html
@Crystal4276 I think it's mainline now. @oifj34f34f You tried it ? How's the performance ?
Well, I haven't tested any games except GZDoom so I can't say anything. However, performance has improved a bit (e.g. in the browser), so there is an improvement
What about video playback in browser (also in mpv) ?
AFAIK, NVDEC still only works with proprietary drivers