Kan du förklara problemet med Nvidias Linux-drivrutiner på ett enkelt sätt för någon som inte kört Linux i någon meningsfull omfattning? Jag har uppfattat det som att "det stora problemet" är att Nvidias drivrutiner till Linux är closed source, inte att de inte fungerar per se.
Beror lite vilken synvinkel man tittar på. För Linux och FOSS människor är det att de är stängda. Detta gör att alla lösningar måste Nvidia implementera och ingen annan. Men utöver att deras drivrutiner är stängda så är problemet också att de kör sitt egna race och varit sega på att följa med strömmen som Intel eller AMD eller Samsung etc har följt.
Kernel och Nvidia
Som en följd av allt detta så skapar det problem för "Gamers" eller de som faktiskt använder deras kort. Eftersom Nvidia drivrutinen inte kan följa med kernel uppdateringar gör att du måste "bygga om" drivrutinen varje gång en kernel uppdatering kommer annars får man en svart skärm med en terminal för att drivrutinen och kernel hamnade i en "missmatch". Linux folk är snabba med att patcha deras egna drivrutiner (installern) för att anpassa sig till ändringar i kerneln eller patcha kerneln till Nvidia. Ibland måste man invänta att Nvidia släpper en ny version för att kernel senare än version x skall fungera. Arch med flera har tidigare "löst" det att man väntade med att uppdatera kerneln tills man säkerhetställde att Nvidia fungerade men detta slutade man med eftersom i vissa fall hamnade man mer än en månad efter mainline (om jag minns rätt nu) vilket inte var positivt ur säkerhetsynpunkt samt att icke nvidia folk blev sura.
Detta är också orsaken till att _alla_ säger att man inte skall använda Nvidia.com som källa för vid en uppdatering där om du manuellt inte uppdaterar också drivrutinen direkt efter kommer sluta med svart skärm och promt eller helt förstörd prestanda.
Detta skapar också problem då vägrar Nvidia uppdatera sin drivrutin för X kernel så kommer inte kortet att fungera. Så har du ett gammalt kort som Nvidia valt att inte längre ta med i sin drivrutin så är enda sättet att köra kortet via nouveau eller köra med gammal Kernel. Blir lite som att du tvingas endast köra ditt kort med specifik Service Pack av Windows, uppdaterar du så slutar saker att fungera.
Teknikstack
Det hjälper inte heller att Linux utvecklas när det kommer till teknikerna som används.
KMS (Kernel Mode Setting) där upplösningen sätts så fort Kerneln har kört igång. I princip alla var färdiga med detta medans Nvidia blev klara med detta för ~2 år sen och även då inte en fullt färdig implementation. (Detta medförde att en basic sak som hög upplösning inte fungerade innan Nvidia drivrutinen laddades) Inte kul med en 4k skärm och ha en promt på 800x600px.
Intel / AMD hade en lösning på detta 2013.
Wayland är det nya protokollet som ersätter Xorg (för att kunna hantera mus/tangentbord/fönster etc). Här var alla med på en implementation medans Nvidia vägrade och valde gå en egen väg som i stort sätt har tvingat FOSS folket att implementera speciellt för Nvidia för att få det fungera. Än idag är det inte färdigt men börjat att fungera någolunda som jag förstår det. https://blog.devgenius.io/wayland-and-nvidia-in-2022-2f0407fb...
Intel / AMD hade en lösning på detta 2018.
Optimus Att kunna använda laptop med Intel + Nvidia har varit ett stort problem då Nvidia vägrade implementera stöd för det. Detta är också orsaken till kända "Nvidia f*** You" från Torvalds
https://www.phoronix.com/scan.php?page=news_item&px=MTEyMjk%2...
https://www.phoronix.com/scan.php?page=news_item&px=MTEyMTc
GalliumNine är kanske av en överdrift, men fördelen med att köra opensource var exempelvis att man kunde implementera Direct3D 9 direkt i Linux och få till bra prestanda. Iom att detta fungerar som en drivrutin så fungerar det endast för Intel/AMD kort.
Saker som man tagit för givet på Windows med Nvidia finns inte på Linux. DLSS, DSR, etc. Vissa av dessa har bara nyligen börjat fungera för att FOSS tog tiden och började implementera och röra runt med deras SDK i Wine/Proton. Jag blev själv förvånad när något simpelt som HDMI ljud strulade för något år sen när jag försökte köra Valve Index. På tal om VR, Asynchronous Reprojection gick fort för AMD att fixa men Nvidia som vanligt laggade efter.
Gsync tog sin tid också innan den började och då bara för fullscreen. Sen kanske inte deras fel iom att stacken inte har för bra stöd men ingen aktivitet sker från Nvidia att försöka röra till det. Händer något är det snarare en reaktion att hantera det.
(Notera datumen)
More than 140% of performance loss with drivers superior to 470 series
Performance issues in Dota 2 on 495.44