this post was submitted on 08 Dec 2023
36 points (95.0% liked)

Linux

46819 readers
1085 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

If i run X.org i dont need to modify my kernel or its configs, it just works well (well, well for X.org) out of box. With wayland its the other story. I need to enable nvidia-dkms module and much other stuff to should be configured. There is a whole page about enabling hyprland on nvidia.

https://wiki.hyprland.org/Nvidia/

I ran into troubles trying to set up wayland preperly with nvidia, it has many issues and visual artifacts. I know that the problem somewhere in my kernel set up, but i feels like there would be no problem if hyprland/wayland would not require that granual configuration.

I keep thinking about wayland as a fullscreen videogame that just draws windows (in wayland it called somewhat else though, dont remember the term). And this is kinda weird for me that a video game needs special kernel modules.

Probabely if in wayland they could not require this extra set ups on nvidia, they would do that. They should have some reasons for not doing that i just want to know why?

Thank you :3

all 18 comments
sorted by: hot top controversial new old
[–] [email protected] 58 points 8 months ago

Almost a decade ago there was a discussion how to draw into display buffers for Wayland. Everybody agreed on using Mesa GBM, nvidia wasn't really interested, but said they'd do EGLstreams.

As nvidia wasn't interested, and generally is a dick to everybody anyway Wayland development just progressed ignoring nvidia, and now they have to catch up to where all the other graphics driver were at already years ago. While ignoring most of the things those others learned, because they want to keep their own tiny proprietary island.

Just avoid supporting nvidias dickish behaviour by not giving them money, and eventually they might learn and change.

[–] [email protected] 20 points 8 months ago* (last edited 8 months ago) (1 children)

Without Nvidia's proprietary driver (nvidia-dkms), you're probably using the independent, open source Nouveau driver for Nvidia cards. Nouveau has issues (performance at least, but also stability on some hardware), even on X11. I don't think it supports Wayland, and there are no mentions of Wayland anywhere on the website.

As for why you need nvidia-dkms: the proprietary Nvidia driver isn't open source, and needs to be compiled and linked on your machine for legal reasons.

Nvidia now publishes an open source driver that works on some GPUs (open-gpu-kernel-modules) that could end up in the mainstream Linux kernel, eventually. Nvidia hid all of its special sauce in firmware starting around the 20xx series of cards (and also for the 16xx series), so it seems they have decided to finally open up their drivers. For older hardware (up to 10xx) the special sauce is packaged in software, so Nvidia has kept the code for those devices closed source.

As for the "fullscreen videogame": in a way, that's true, both for X11 and for Wayland. The difference is that X11 has existed for longer, and Nvidia has provided the necessary hardware acceleration features for X11 for longer as a result, ironing out a lot of issues. X11 also allows them to add their stupid arbitrary limits (Nvidia put a hard cap on the amount of displays you can drive using their driver on consumer platforms for no well-explained reason). For Wayland, for years Nvidia refused to implement the normal spec, and instead decided to only implement an optional side feature that only Gnome really used, just to get Nvidia hardware working. They changed course a while ago, but Wayland + Nvidia is still a mess even with the latest drivers and code.

Nouveau has been developed for X11 from the start and the project is moving very slowly. That's not because the project doesn't care, but because reverse engineering GPU hardware is extremely complicated. It took a while to get the 30xx series cards to the point of "boot and show a terminal", so don't hold your breath for Wayland support.

Why do you need hardware acceleration for GUI? Well, technically you don't, but you probably don't want one or two cores being eaten up entirely by rendering your screen. Performance will be terrible, the GUI will stutter like crazy, and if you're on a laptop, your battery will drain fast.

TL;DR: Nvidia + Linux is always iffy, be glad X11 works well for you if you don't use the proprietary driver, because that's far from a given.

[–] [email protected] 3 points 8 months ago (1 children)

I don't think it supports Wayland, and there are no mentions of Wayland anywhere on the website.

It seems you are talking about nouveau and very wrong. Nouveau is part of Mesa, which supports DRI/Mesa GBM by design. You can guess why.

Worked perfectly while I had nvidia gpu. Maybe even more stable than on X11, but memory is kinda fuzzy. It was few years ago.

open-gpu-kernel-modules

Isn't it their GPL shim?

Nvidia hid all of its special sauce in firmware starting around the 20xx series of cards

Nouveau says around Maxwell

[–] Grass 9 points 8 months ago* (last edited 8 months ago) (1 children)

That's the Nvidia drivers. Dkms just builds to match your kernel when the kernel updates. Intel and AMD contribute driver code so you don't have to do anything extra but Nvidia doesn't do that because they are shits.

As far as not needing it for x11 you are either using nouveau, the reverse engineered drivers which last I tried are effectively useless for any modern workload, or a non dkms version of Nvidia driver provided by distro maintainers or someone else and just didn't notice.

[–] [email protected] 1 points 8 months ago (1 children)

Nouveau got way better I heard

[–] Grass 2 points 8 months ago

Probably nvk which I think just completed vulkan feature set for the newest cards recently, but is not reaching the windows fps yet. I still haven't gotten over Nvidia betraying me by dropping the GTX 460 from drivers at a time when it was still more than enough for me so I don't follow it very carefully.

[–] [email protected] 5 points 8 months ago

0_o but you do need to configure a bunch of stuff in the kernel for X.org to work

I'm guessing that you've been using kernels from packages provided by your distribution and its maintainers simply haven't decided yet that Wayland is used wide enough to put things it needs into default kernel. But that's just a matter of time.
On distribution I use, for example, I did not have to compile my own kernel when I decided to check Wayland out. But that's only because kernel package maintainers of my distribution have decided to enable it earlier

[–] [email protected] 4 points 8 months ago

This is hyprland specific, wayland runs fine on Gnome and KDE with regular, open and Noveau nvidia drivers

[–] [email protected] 4 points 8 months ago

chances are you already used the external nvidia kernel module prior
the dkms package is just the "catch all" way which works on most setups
(at least on Arch Linux)

[–] [email protected] 3 points 8 months ago

Depending on model, you don't need to.

Short version: Nvidia is terrible company

[–] [email protected] 3 points 8 months ago (1 children)

it sure will be interesting when xorg gets deprecated

[–] [email protected] 4 points 8 months ago (2 children)

Isn't it already deprecated?

[–] [email protected] 3 points 8 months ago* (last edited 8 months ago) (1 children)

well, to an extent that xorg only exists in outdated distros that no longer get updates is what I meant - but in essence, yes.

[–] [email protected] 1 points 8 months ago

No Xorg also ships with up to date distros like Debian, arch, Ubuntu, etc but several of them have switched to using Wayland by default. It is deprecated because it is no longer actively developed and only maintained by a small group of devs and even that because these devs work for companies like Red Hat, Oracle, etc who have a vested interest in fixing those bugs

[–] [email protected] 2 points 8 months ago

It is still part of various LTS releases till 2030 or something like that. Would not call it deprecated but more or less in maintenance mode.