4 ms·
> I can't even run SwayWM with NVIDIA as I do with AMD and Intel How do you know this is an NVIDIA issue, as opposed to a Wayland or wlroots issue?
by nsajko 3y ago
> I can't even run SwayWM with NVIDIA as I do with AMD and Intel
How do you know this is an NVIDIA issue, as opposed to a Wayland or wlroots issue?
- bombela 3y agoSame experience here. I get 4k 120hz over HDMI with my puny AMD laptop embedded GPU without tearing on Wayland. Previous machine with Nvidia GPU (on Xorg) couldn't resume and had atrocious performances because of overheating.
- jchw 3y agoWayland does not contain any NVIDIA defeat devices, and neither does SwayWM. They just use standard Linux GPU interfaces. What I do know is that you can't use the same codepaths you'd use with countless other GPUs, again including AMD and Intel: NVIDIA cards need special cases. This is just as true for KDE and GNOME, which also do not work as well with NVIDIA under Wayland, despite having special codepaths for NVIDIA cards specifically. This issue isn't new either. In fact, until very recently, it was significantly worse. But progress on NVIDIA's end has been slow, it seemingly gets completely stalled for years at a time. On the other hand, Nouveau works quite well with Wayland compositors if your card is well-supported, AND you never have to wait on a kernel upgrade because NVIDIA's shim hasn't been updated yet. There's basically exactly one driver that works this way. It's not a hardware problem, it's not a general GPU issue. There's just one thing it could be.
- chlorion 3y agoThis is from a maintainer of wlroots: >Maintainer of sway and wlroots here. The Nvidia proprietary driver does not support sway, not the other way around. >Their standard, EGLStreams, is only implemented by their proprietary drivers, so in order to test that codepath we'd have to use a famously broken and undebuggable driver, which we're not interested in - and make no mistake, we get our hands dirty in the drivers all the time. Their standard also has serious technical problems - lots of really important features simply are not possible to implement based on the proprietary driver. We can't export buffers to clients, overlay planes don't work, buffer presentation timings are impossible... Supporting this driver would be a massive overhaul and would probably make the good drivers worse. https://news.ycombinator.com/item?id=21628494 https://news.ycombinator.com/item?id=21628494
- jchw 3y agoTo be fair, they did actually abandon EGLStreams. It took far too long, but it did happen.
- kaba0 3y agoBecause wlroots and most Wayland implementations strictly use the kernel abstractions for buffer management, nothing else. They run on literally anything that supports linux’s abstractions, but nvidia drivers did not (it changed recently, not sure about its current state). Also, xserver used to work with nvidia cards due to goddamn proprietary binary patching done by drivers.