Lemondott a nyílt forráskódú "Nouveau" NVIDIA driver karbantartója

Címkék

A Red Hat alkalmazásában álló Ben Skeggs régóta elsődleges karbantartója (volt) a "Nouveau" nevű, nyílt forráskódú NVIDIA DRM driver-nek a mainline kernelben. A hacker most jelezte, hogy lemond pozíciójáról. Ahogy írta, évek óta fontolgatta a lépést:

I have resigned, and will no longer be taking as active a role in nouveau development. [...] This is a personal decision that I've been mulling over for a number of years now,

Távozása jelentős veszteség a Nouveau fejlesztése és általában véve a nyílt forráskódú NVIDIA illesztőprogram-ökoszisztéma számára. - írja a Phoronix

Részletek itt.

Hozzászólások

Azert gondolom ebben az is szerepet jatszhatott, hogy az nvidia tavaly kiadta a kernel modulokat az ujabb nvidia kartyakhoz... ket dudas meg nem fer meg egy csardaban (kernelben) :)

De az csak a nagyon uj nvidia gpu-kra vonatkozik (ahol a gpu-ban levo arm proci futtatja az idaig a proprietary driverben levo cuccokat...). Nem is biztos hogy megeri egybe venni oket, mint pl. ahogy AMD-re is van amdgpu meg radeon a regi kartyakra.

I hate myself, because I'm not open-source.

2018-ban kiadott kartyakra is mukodik az open driver... az 5 eveset en nem hivnam nagyon ujnak.

A tamogatott kartyak listaja itt, benne pl a 2018-19-ben megjelent GTX 16x0 es  RTX 20x0 kartyak:

https://github.com/NVIDIA/open-gpu-kernel-modules

fun fact:  3 oraja adtak ki egy uj verziot: 535.113.01

Minden tiszteletem az övé, illetve a többi fejlesztőé, mert pokolian nehéz feladatot vettek a nyakukba, de ettől még a nouveau-t soha nem éreztem, hogy kinőtte volna magát.

Jobb esetben csak a 3d gyorsítás nem ment, vagy nem ment normálisan, rosszabb esetben fagyásokat is produkált. Annak ellenére, hogy pl. hardware videó dekódolás támogatott (a megfelelő firmware megléte esetén), azt sem sikerült soha stabilan működésre bírnom.

Sajnáltam is, hogy kukázták a 2d only nv drivert, mert az legalább azt tudta stabilan hozni.

ez remenytelen volt az elso perctol... mondjuk kb minden reverse engineering az, mert ha sikerul is akkor is evek-evtizedek lemaradasban lesz mindig. lasd pl. wine, vagy a reactos

anno (~15 eve) nezegettem a forrasat, hogy kuldik a 3d parancsokat a gpu-nak, es elotte mar irtam matrox (utah-glx) es via gpu-kra hasonlot de azokhoz kepest az nvidianak sikerult ezt vegtelenul bonyolultan megoldani, folyamatosan dma-n streamelt bytecode-al. a dma-val meg nagyon konnyu merevre fagyasztani barmit hardveresen, debuggolni meg iszonyuan nehez es maceras.

raadasul manapsag mar csak az vesz nv gpu-t aki ki is akarja hasznalni, pl a cuda-t, vagy jatszik, azoknak meg ez ugyse volt eleg.

Ahhoz képest azért nem haladtak rosszul. Illetve az ember elvárja, hogy felteszi a linuxot és minden menjen pöccre, legalább alapszinten.

Az eléggé elgondolkodtató, hogy az Nvidia-nak miért nem éri meg kiadni egy opensource drivert... hiszen ha így nézzük a közösség töredék erőforrást adott rá, ahhoz képest azért messze jutottak. Főleg hogy dokumentációt sem kaptak. Rátennének egy 10 fős csapatot dedikáltan, mindenki boldogabb lenne, pénzben meg ki sem mutatható Nvidia szinten.

Az AMD jól csinálja, az open source driver is egész használható, ha több kell, akkor tedd fel a pro drivert. Viszont ha jól tudom azonos kódbázisból épül.

> Nvidia-nak miért nem éri meg kiadni egy opensource drivert

en inkabb ugy tennem fel a kerdest: miert erne meg neki? mi haszna lenne belole? 10 ember bere sem olcso, foleg usa berekkel szamolva... es mellekesen az is szivarogtatna infokat a kartyak belso mukodeserol, amit szeretnenek elkerulni.

(pl. sok hw bugot javitanak ki / kerulnek meg szoftveresen, ami latszana az OS driverbol is - vagy ami meg gyakori szokott lenni ilyen esetekben, hogy a chip tobbet tud valojaban mint aminek eladjak, es ezt a korlatozast a driverben oldjak meg szoftveresen)

Lehet jönni azzal, Linuxot 3% használ, de az a 3% világszinten több 10 millió ember. Az Nvidia profitja dollármilliárdokban mérhető, több mint 20000 alkalmazottja van.

Egy USA szoftverfejlesztő valmivel 100000 $ felett van évente. Szánjanak a projektre évi 1 milliót: ezreléknél kisebb mértékben érinti a profitot, de a több 10 millió lehet hogy elgondolkozna azon, hogy akkor inkább venne Nvidia-t.

Vettem egy ideig nvidiat, most van amd-s gepem. Es hat eg es fold, nvidia jo akkor ha ilyen basic X meg opengl kell, ha ennel barmivel specibb igenyed van, osszefossa az egesz magat. Egy idaig nekem kellett nvidia drivert patchelni, hogy ha unbindelem a PCI device-rol, akkor legyen olyan kedves es engedje mar el a kartyat, es ne hagyja ott rajta a kernel resourceokat, hogy amikor atbindolom vfio-ra, akkor szetkernelpanikoljon az egesz a gecibe. Hogy legyen valami ertelmes modesetting es ne 80x25-os text-mode-ot vagy uvesafb-t aminek a sebessege egy alvo csigahoz hasonlithato lassak ha eppen kilepek X-bol, az is baromi sokaig tartott. UEFI volt a felig megvaltas, mert akkor mar a simplefb mar nagyjabol mukodott. Ja es a kedvencem amit par napja talaltam, vulkannal idaig is tudtam hogy van ilyen hogy masik deviceon fusson mint amin megjelenjen, de opengl alatt is, DRI_PRIME=1 app es akkor masik GPU-n fog futni az opengl anelkul hogy ott kene egy X-et futtassak. Marha hasznos hogy nem kell ezert kilojem az egesz X-et es ujrainditani egy masik configgal (a regi nvidia-s gepen egesz konfiggyujtemenyem volt es cdm-el valasztottam minden loginkor hogy most melyiket akarom...)

Egyetlen bajom AMD-vel hogy ez a HIP/ROCM egy hasznalhatatlan hulladek es amiatt ha barmi GPGPU dolog kell akkor az egy szopas. Multkor megprobaltam leforditani a rocm-et, ugy hogy elinditas utan ne instant crasheljen, de fel napnyi szivas utan feladtam. Szerintem van valahol egy docker image, aztan ha ahhoz kepest barmelyik program/library egy git committal is elter, akkor osszeomlik az egesz ragasztoszalaggal osszetakolt rendszer.

I hate myself, because I'm not open-source.

Nem, nem veszek nvidia-t. Sok mindent ossze lehet szerencsetlenkedni azert a rocm-mel, lehet hogy valami programbol masik implementaciot kell keresni, stb, ugyhogy 10x annyi szopas. De ha meg nagyon nem, akkor inkabb berelek cloudban egy gpu-t, ha cuda akkor ugyse szamit az extra latency, cserebe nem kell kiherelnem a lokal gepem gpu supportjat.

I hate myself, because I'm not open-source.

Szerencsere nem kell ilyen gpu-s dolgokat baszogassak munka alatt, es azon kivul se annyira jellemzo, ugyhogy belefer. Es mondjuk pont ebben az esetben lehet hogy nem igaz, de altalaban azon vagyok hogy inkabb legyen valamivel az elejen sok szopas, de utana mukodjon jol, mint hogy valami csilivili elejen tok jol kinezo valami, aztan menet kozben kiderul hogy hasznalhatatlan. Valoszinuleg ezert is vagyok linuxon, teny elsore kicsit sokkolo tud lenni egy gentoo linux, meg awesome wm meg terminal emulator es emacs mindenhol, de ezt legalabb addig baszogattam amig nem lett belole valami jol mukodo dolog (es neha eleg keves koze van az upstream defaulthoz), Windowson meg eldontheted hogy a 100% mac klon dockert akarod talca helyett, vagy legyen balra igazitva es akkor csak 99.9%-ban van mac erzesed.

I hate myself, because I'm not open-source.

mert nem akarom szopatni magam.

Hat en pont emiatt hasznalok linuxot, es nem windowst vagy mac-et. A windows hasznalhatosaga a 7 utan megszunt letezni (bar mar ott is voltak bajok, peak az valahol xp kornyeken volt), mac-et meg szerencsere sose kellett igazabol hasznaljak, eleg nekem oket neha VNC-n keresztul latni.

I hate myself, because I'm not open-source.

> de az a 3% világszinten több 10 millió ember

de hat van az nvidianak sajat linux drivere. es abbol a 3%-bol 2.99% azt hasznalja... a maradek szopik nouveauval es egyeb hackekkel.

amugy miert annyira fontos, hogy egy gpu driver opensource legyen? egy security devicenel vagy szoftvernel meg oke manyeyeballs (lol, lasd debian openssh bug amit 2 ev utan vettek eszre) stb, de egy millio soros gpu drivert ami bytecodeot general es dma regisztereket birizgal, ki a joisten fog atnezni vagy akar modositgatni, az nvidia fejlesztoin kivul?

Nvidia-nak miért nem éri meg kiadni egy opensource drivert

Siman lehet, hogy tele van 3P koddal a driver/firmware. Igy nem kizarolag technikai, sajat szabadalom es perelhetoseg (SW patent nem olyan vicces) kerdese a dolog. Ha szet tudjak valasztani eproblemas reszeket egymastol, es meg mukodo drivert keszithetnek igy is, akkor kb mehet, amit az AMD csinal.

Egyebkent mi az, hogy "megeri"? A piac mekkora szeletet erdekli annyira, hogy emiatt ne hasznalja a termekuket?

Az open source drivereknek amúgyis az egyik legfontosabb funkciója az, hogy a gyártó ne húzhassa ki alólad a hardvert, amit már megvettél. Én addig vettem ilyen nividia szarokat, amíg nem volt intel. Valami ATI szarral előfordult, hogy az új driver nem támogatta a kártyát, a régi meg nem működött újabb kernellel. Azóta ATI cuccot bottal se piszkáltam meg, az nvidia kártyáim drivere kitartott addig, hogy megvettem az első inteles gépet. Legközelebb akkor veszek valami ilyen szemetet, ha cudazni kell.

ez remenytelen volt az elso perctol... mondjuk kb minden reverse engineering az, mert ha sikerul is akkor is evek-evtizedek lemaradasban lesz mindig. lasd pl. wine, vagy a reactos

 

Szerintem azon is sok mulik, hogy ki all be a projekt moge. A wine-nak pl eleg jot tett, hogy a Valve/Steam elkezdte hasznalni. Ehhez kepest a ReactOS minidig is egy hobbiprojekt volt.

Sajnáltam is, hogy kukázták a 2d only nv drivert, mert az legalább azt tudta stabilan hozni

Sajnos amióta az összes browsergyártó befeküdt a 3d vonat alá, azóta a 2d-only driverek nem jók semmire (feltéve, hogy böngészni is szeretnél a gépen).

A FF-ból is szépen, lassan, release-ről release-re kidobták a régi, 2d renderinget, és a nem 3d renderinget is már GPU műveletekkel csinálják. Amire viszont nincs optimális SW megoldás, ergó vagy van jól működő 3d GPU drivered, vagy egy szaros scrollozásba is belehal a géped CPU-ja. Ugyanazt, amit 10 évvel ezelőtt ugyanaz a gép vállalható sebességgel meg tudott jeleníteni a browserben, most már csak haldoklással tudja.

Ez annyiból rossz hír, hogy pont most lódulhatna meg a fejlesztés. Itt nem csak az opensource NV driverre gondolok, mert az csak RTX-es kártyákhoz jó, hanem az NV kiadott header fájlokat is a többihez. Annyiból megértem a fószert, hogy nehéz drivert írni ezekhez a zárt szutykokhoz, és elege lett egy idő után. Kicsit szélmalomharc, ezt az NV-nak kéne csinálnia.

A computer is like air conditioning – it becomes useless when you open Windows.” (Linus Torvalds)

Erik a masodik Rustos Linuxos GPU driver ugy erzem. Mert hogy C programozo ezt a munkat nem lesz hajlando atvenni, az igen valoszinu. :(

Ezt nem a nyelvtől függ, hanem hogy a kártya specifikációit tegyék nyilvánossá, milyen függvényhívások, driver API funkciót, hogy tölti be a firmware-t, energiatakarékosság, stb.. Az NV ezeket eddig masszívan titkolta. A Rust csak egy memory safe modern prognyelv, nem csodafegyver. Amit Rust-ban meg tudsz írni, meg tudsz C-ben is.

Nagyon remélem, hogy valamelyik másik kompetens fejlesztő átveszi a projektet, sokan próbálnának NV GPU-t Linuxszal használni. Nekem is van egy, de én meg se próbálom, Linux alatt az integrált Radeon 680M-et használom (RDNA2), az NV kártyát meg csak Win10 alatt (arra pont nem bootoltam már át vagy 3 hónapja, egy másik gépen meg vagy 1 éve).

A computer is like air conditioning – it becomes useless when you open Windows.” (Linus Torvalds)