while(true){💩};

  • 0 Posts
  • 1 Comment
Joined 1 year ago
cake
Cake day: June 11th, 2023

help-circle
  • The story goes that around the time the AMD RX480 came out - or maybe a little after - AMD almost completely opensourced their GPU drivers on Linux.

    They gave two offerings: amdgpu (open source) and amdgpu-pro (Closed source, included some extra features most people wouldn’t care about but some really do). Thus retiring the old radeon driver.

    At first, the new drivers were decent, if slightly unstable.

    AMD also provided a Vulkan driver by the name of amdvlk, which was good but the performance wasn’t very exciting.

    Then Valve started contributing. They started providing a Vulkan driver for AMD cards that is better than AMD’s called RADV, which has since become the default and has been mainlined into mesa. Performance went through the roof.

    I may be wrong but I think Valve may also contribute back to the amdgpu driver.

    Wayland finally became a thing, and between AMD, Nvidia, and Intel, AMD was king in stability and performance in this arena. Especially on KDE, which had very early adoption of many important features long before Gnome had them - Mixed monitor scaling, Variable refresh rate, mixed monitor refresh rate, DRM modesetting for VR headsets, HDR monitor support, etc., in addition to a bunch of extra security features which some appreciate greatly and others find frustrating.


    Over in Nvidia land, they were busy doing Nvidia things. And by Nvidia things, I mean doing nothing new.

    Nvidia’s drivers mostly remained just as you remember them from 15 years ago, with the Nvidia config tool for X11 and so on. Their closed-source driver performance on Linux was good but not great.

    Wayland threw a wrench in Nvidia’s gears. Nvidia tried to control the narrative by trying to force EGLStreams as the standard, several years after the community had settled on GBM as the standard (I won’t dive much into what those are - for now, you only need to know that they’re important in making Wayland work at all and affect performance, stability, and the ability to talk to the Wayland protocol). For a very long time, Nvidia card users were either unable to use Wayland, or had a very poor experience with it; experiencing stuttering, flashing or flickering screens, black boxes, and so on. This whole thing locked Nvidia users to the outdated X11 system which is missing a lot of modern features mentioned previously in the AMD section.

    Some time later, Nvidia was hacked by a group called LAPSUS$, who among other things demanded that Nvidia fully open-source their drivers. They essentially got ahold of Nvidia’s code and said “Either you open-source it or we do.”

    I forget exactly what Nvidia’s direct response to them was, but interestingly some time later, they opted to “open-source” their drivers by reducing the size of and wrapping the closed proprietary binaries in what the Linux community was calling an “open-source condom.” Effectively, we got drivers that behaved the way the Linux kernel expected, despite not being truly open source. A neat hat trick.

    Something else happened, I think maybe more bits got open sourced, but as of recently there are now new open source Nvidia drivers as of driver version 555, called nvidia-open (not to be confused with nouveau open source community drivers), and you can now use Nvidia cards with 80-90% as much ease and performance as AMD users have on Linux. There is still some jank and rough edges that need to be smoothed out, but Nvidia is now part of the 21st century on Linux.

    I personally would recommend avoiding Nvidia due to their history and how they treat their Linux customers, but if you already have an Nvidia card and don’t want to or can’t afford to switch, you can now use your card with relatively smooth and high performance on Linux - and use Wayland to boot.