Fejlődnek a video driverek

Fórumok

Öcsém hív, az egyik régi számítógépe nem boot-ol. Jól van, ránézek. Tényleg. Régi kernellel megy. Frissítek mindent a régi kernellel, probléma ugyanaz az újjal: megáll, mint a szög. A régi 6.14.11-es, az új 6.15.9-es. Nézem a logokat, nova-core driver megdöglött. Kb. azt sem tudom, mi az, de hangzásra meg utánaolvasás után valami nVidia csoda. Majd megtalálom ezt a cikket.

Tehát ez már hülyebiztos, mert Rustban írták, meg minden ellen is véd, tehát akkor biztos nagyon jó.

Nem jó. Nagyon nem. Amit C-ben írtak, az még működött, ez meg a logok alapján láthatóan összedől, a gép be sem boot-ol, de mosolyogjak hozzá, mert ez legalább Rustban íródott.

Letiltottam a kernel frissítését, továbbá beállítottam defaultnak a 6.14.11-es kernelt a Grubban.

Apropó, hogyan lehet megmondani 6.15+-os kernelnek, hogy ha nVidia hardware-t lát, ne ezt a Rustban írt szutykot töltse be - illetve csomagolja az initrd-be -, hanem a jól bevált C-ben írt nouveau drivert?

Az oprendszer Fedora 41.
 

Hozzászólások

Mondjuk erősen bele is van írva, hogy ez bizony kb az első step abban a driverben, mert még kurvára nincsen kész, de ja, a rust a baj :)

Mondjuk erősen bele is van írva, hogy ez bizony kb az első step abban a driverben

Akkor mit keres a stable ágban úgy egyáltalán? Hát nem erre lettek pont kitalálva a branchek?

még kurvára nincsen kész

Akkor mit keres a stable ágban úgy egyáltalán? És ráadásul defaultként?

Elég egyértelmű iocsemege kolléga kérdése: "hogyan lehet megmondani 6.15+-os kernelnek, hogy ha nVidia hardware-t lát, ne ezt a Rustban írt szutykot töltse be", tehát ez a félkész Rust szutyok az alapértelmezett az öcsi production-ready disztrója által szállított kernelben! Ez epic fail, bárhogy is nézzük.

Úgy, hogy a vanilla kernel az ilyen, mindig is ilyen volt, Linus már kurva rég megmondta, hogy az nem direktben usable, azért van a distributor (tényleg magyarázni kell ezt neked a kernelről, hogy miért nem branch?). A kérdés, hogy a fedora miért nem kapcsolta ki alapból? (Azért, mert a fedora ált gyorsan húzza be az új dolgokat, ez bizony benne vana  buliban)

Linus már kurva rég megmondta

Össze-vissza beszélsz. Amit Linus valójában megmondott, az ez. Nem a mainline-ról van szó, hanem a STABLE-ről. Oda hogy kerülhetett át, ha egyszer ennyire bugos?

A kérdés, hogy a fedora miért nem kapcsolta ki alapból?

Nem, a kérdés az, hogy egy ilyen félkész bughalmaz miért lett alapértelmezettnek beállítva? Ha mindenki tudta, hogy félkész, miért nem bukott ki a review során (akár Linus, akár Fedora), hogy talán nem kéne alapértelmezettnek lennie?
(Szóval nem az a baj, hogy a Fedora nem kapcsolta ki, hanem eleve az, hogy egyáltalán alapértelmezettnek lett valaha is beállítva mikor még félkész. Az már csak hab a tortán, hogy ráadásul ezt senki nem vette észre, kiment production-be.)

Olvasni tudsz?

Mainline
Mainline tree is maintained by Linus Torvalds. It's the tree where all new features are introduced and where all the exciting new development happens. New mainline kernels are released every 9-10 weeks.
Stable
After each mainline kernel is released, it is considered "stable." Any bug fixes for a stable kernel are backported from the mainline tree and applied by a designated stable kernel maintainer. There are usually only a few bugfix kernel releases until next mainline kernel becomes available -- unless it is designated a "longterm maintenance kernel." Stable kernel updates are released on as-needed basis, usually once a week.
 

Bemennek a patchek, linux kb 10 hetente releasel, és onnantól az a stabil, max a következő windowban bejövő bugifexből bakcportolnak rá, míg ki nem jön a következ. Nincsen ezen kívül hosszú életű teszting ág. És ezekbe a kernelekbe rendszeresen kerülnek be félkész dolgok, inkrementálisan. Tudod, release early, release often. És mindig is az volt a stance, hogy majd a disztró összerakja endusernek valóra. És ebből rendszeresen volt nyaffogás, van az a viszonylag új keletű dolog, hogy LTS kernel, ami többek között ezt is célozza valamennyire. Na, ez most nem ilyen, ez egy sima release :)

Aha, persze. A kernel fejlesztési folyamatának mélyreható ismeretéről tökéletesen tanúskodik a "Hát nem erre lettek pont kitalálva a branchek?" mondatod. Ja, nem. Annyira gyönyörű lejjebb is, ahogy a kizárólag a saját fejedben létező lófaszt próbálod számonkérni a linux fejlesztésen, és jössz azzal, hogy branchelniük kellene, és hát ezek hülyék.

Már megint fingod sincs miről beszélsz, az van.

A stable kernelben nem csak az van benne, ami kész van. Ez mindig is így volt. A kernel release-ek közül a stable semmilyen driver minőségére nem jelent garanciát.

Akkor mit keres a stable ágban úgy egyáltalán? És ráadásul defaultként?

Mert Linus így döntött. És nem default, maximum ha a disztró úgy konfigurálja a kernelt. Az nem Linus hibája, ha a Fedorások úgy döntöttek, hogy ez legyen a default. Ez egy félkész driver, ott is van a Kconfigban:

Choose this if you want to build the Nova Core driver for Nvidia
      GPUs based on the GPU System Processor (GSP). This is true for Turing
      and later GPUs.

      This driver is work in progress and may not be functional.

      If M is selected, the module will be called nova_core.

Amúgy mindenféle driverek esetén tök alap az, hogy félkész dolog van benn a stabil kernelfában. Ilyen volt az ext4 támogatás is, először a 2.6.19-es kernelben jelent meg, aztán a 2.6.28-ban lévő verzióra lett az mondva, hogy az már stabil és használható.

https://kernelnewbies.org/Linux_2_6_19#EXT_4

https://kernelnewbies.org/Linux_2_6_28#Ext4

Szerintem nem igazán érted, hogy miként működik a kernel fejlesztése, és mit jelent a stable kernel.

Tanuljatok már meg olvasni.

Idemásolom: Nem, a kérdés az, hogy egy ilyen félkész bughalmaz miért lett alapértelmezettnek beállítva?

Mert Linus így döntött.

És direkt odaírtam ezt is: nem bukott ki a review során (akár Linus, akár Fedora)

És igen, direkt erre találták ki a brancheket. Egy külön branchbe kellene ezzel szarakodni, nem a mainline kernelben, oda csak akkor kéne átkerüljön, ha már működik úgy-ahogy.

mindenféle driverek esetén tök alap az, hogy félkész dolog van benn a stabil kernelfában

Ja, ha már félig-meddig működőképes, és akkor is baszom nagy EXPERIMENTAL cimkével ellátva. A csenge próbálkozásokat tipikusan nem szokta beengedni Linus, csak ha már áll valahogy. Most mégis bekerült, és alapértelmezett is lett, akármit is pofáztok.

De miért kellett volna a kernel.org review-ján kibuknia? A kernel.org policyje szerint félkész dolog elfér a mainline/stable kernelben, mindig is így volt és most is így van. Teljesen jogosan van benne a mainline kernelben a nova-core driver.

Az, hogy a Fedora az új kernelben miért forgatja be modulként, annak meg semmi köze ahhoz, hogy Linus hogy dönt. Eleve a dokumentáció megmondja, hogy ez a driver nincs készen.
Amúgy ha megnézed a nova-core Kconfigját (linkeltem feljebb), default ki van kapcsolva a kernelbe forgatása.

config NOVA_CORE
    tristate "Nova Core GPU driver"
    depends on PCI
    depends on RUST
    depends on RUST_FW_LOADER_ABSTRACTIONS
    default n

A Fedora kernelébe ezzel a komittal került be: https://src.fedoraproject.org/rpms/kernel/c/fc343b9928b15914396277c0c6a…

Jól látszik a kernel-x86_64-fedora.config fájl 5216-os sorában a megfelelő rész:

CONFIG_NOVA_CORE=m

A Fedora kernelek ilyenek, követik az upstreamet, és mindent beforgatnak modulként, amit csak lehet.

 

A csenge próbálkozásokat tipikusan nem szokta beengedni Linus, csak ha már áll valahogy. Most mégis bekerült, és alapértelmezett is lett, akármit is pofáztok.

Az, hogy mi kerül be és mi nem, az Linus egyszemélyi döntése, ő a projekt teljhatalmú vezetője. Ha ő így döntött, akkor így döntött és kész. Így csinálja már 35 éve, pont most akarod ennél az egy kernelmodulnál ezt megkérdőjelezni?

A problémád és értetlenséged ez volt:

Akkor mit keres a stable ágban úgy egyáltalán?

Elmondtuk neked, hogy az a normális, hogy félkész dolog van a kernelben, de nem értetted meg.

Nincs semmilyen review szabály, ami miatt el kellett volna utasítani ezt a kernelmodult, nem kellett volna kibuknia sehol sem review során semminek. Egyetlen egy végső review szabály van: az van a kernelben, amiről Linus azt gondolja, hogy bemehet. Ez minden mást felülír.

És azt gondolta, hogy ez a driver a kernelben teljesen okés. Ugyanis teljesen normális egy ilyen állapotú driver a kernelfában, miért kéne kivételezni ezzel a driverrel? 

A Fedora meg beforgatja modulként, mert mindig is ezt csinálta.

Semmilyen review szabály nem sérült, nem kellett volna kibuknia sehol, ami történt, az a dolgok normál menete. A Fedora rolling release ilyen, meg a kernel is ilyen. Mindig is ilyen volt. Miért kellett volna másként lennie? 

A problámád az, hogy NEM ÉRTESZ hozzá, de azért csak jár a szád. Nem akartalak még jobban beégetni, de tessék, ha ragaszkodsz hozzá:

Az, hogy mi kerül be és mi nem, az Linus egyszemélyi döntése

Mondom én, hogy hülye vagy hozzá (kiemelés tőlem): "for example, of the over 9,500 patches which went into the 2.6.38 kernel, only 112 (around 1.3%) were directly chosen by Linus himself."
Írd és mondd: MINDÖSSZE 1.3% VOLT LINUS DÖNTÉSE (segítek, hogy a hozzád hasonló értelmi fogyatékosok is megértsék: 98.7%-ról NEM Linus döntött.)

Elmondtuk neked, hogy az a normális, hogy félkész dolog van a kernelben, de nem értetted meg.

Elmondtam, hogy a működésképtelen az nem félkész, a félkésztől elvárják ugyanis, hogy lehet, nem tud mindent még, de akkor se fagyjon le a picsába. És ha félkész, akkor a leírásába bele kellett volna írni, hogy "EXPERIMENTAL" (lásd pl mint itt vagy itt vagy itt)
Kerek perec le van persze írva ez is a kernelfejlesztési szabályzatban, de nem értetted meg. (Valószínűleg még csak el sem olvastad, csak jár itt a szád.)

1. Itt tehát hibázott Linus, mert működésképtelen kódot engedett stable-be, miközben legendás arról, hogy máskor ezért ki szokott kelni magából.
2. Hibázott a Fedora is, mert működésképtelen Rust fost fordított a kernelébe.
3. Kurvára tök mindegy, hogy mit okoskodsz, iocsemege öccsének akkor is lefagy a gépe, és hiába tolod itt a hülyeségeidet, akkor is bugos a Fedora kernele, mert lefagy induláskor.

locsemegének az a problémája, hogy olyan szállítót választott, amiről tudható, hogy a release early, release often modellt követi, emiatt könnyen előfordulhatnak problémák frissítéskor. Főleg a kernel frissítésekor.

Ha valaki egy ilyen modellt választ, akkor meg ne picsogjon, ő választotta ezt.

blacklisteld a nova_core modulet: https://discussion.fedoraproject.org/t/f42-updating-to-kernel-6-15-3-20… . Nyilván a nouveau-t ne (Aki ezt elnevezte, annak jövök egy üveg sörrel. Külsőleg.)

Én értem egyébként, hogy csak ezért nem húzod újra, mert minek, de egyébként egy ilyen kioskos gépen valójában nyugodtan ki lehet pinelni a kernel, nagy baja nem lesz (ha nem updateled az egészet, akkor se nagyon)

Elmondtam, hogy a működésképtelen az nem félkész, a félkésztől elvárják ugyanis, hogy lehet, nem tud mindent még, de akkor se fagyjon le a picsába.

De ez nem működésképtelen. Ha olvasnál fórumokat, akkor látnád, hogy sokaknak megy. Függ a hardver típusától, ami egy driver eserén nem meglepő dolog. Nem kezel minden Nvida eszközt, ez igaz. Ha a nagyokos disztribútor ezt és a noveaou-t is egyszerre modulként elérhetővé teszi, összeakadhatnak, ez is így van. Ez nem a driver készítőjének a problémája.

Írd és mondd: MINDÖSSZE 1.3% VOLT LINUS DÖNTÉSE (segítek, hogy a hozzád hasonló értelmi fogyatékosok is megértsék: 98.7%-ról NEM Linus döntött.)

Az is Linus döntése, hogy megbízik másokban (a maintainerekben), amikor beemelnek valamit a kernelfába. Minden a végén Linus felelőssége. A mainline repository-t Linus menedzseli.  De ez le is van írva a linkelt oldalon, pontosan ez előzi meg az általad kiemelt dolgokat: 

There is exactly one person who can merge patches into the mainline kernel repository: Linus Torvalds.

Csak az ő felelőssége az, hogy mi kerül be a mainline kernelbe, mivel csak ő mergelhet oda. Az, hogy másokban megbízik, és amire a maintainer azt mondja, hogy jó és ő bemergeli, az Linus döntése. Az, hogy egy patchet megnéz, vagy vakon bemergeli, az Linus döntése, rajta múlik az egész.

 

Kurvára tök mindegy, hogy mit okoskodsz, iocsemege öccsének akkor is lefagy a gépe, és hiába tolod itt a hülyeségeidet, akkor is bugos a Fedora kernele, mert lefagy induláskor.

Üdv a Linux világában, nem tudom miért kell meglepődni azon, ha egy rolling release disztribúció néha lefagy. Az egész Linuxos világ a konstans béta, release early, release often modellre épül (ez amúgy is a nyílt forrású fejlesztés egyik alap dogmája,  és pont a Linux kernel a fő példa rá, mint helyes működésre a nyílt fejlesztésben), cégek dollármilliárdokat keresnek azzal, hogy valamiféle stabilitást vigyenek ebbe.

"Az egész Linuxos világ a konstans béta, release early, release often modellre épül"

Pont ezért utálom az összes rolling disztribet, kivétel nélkül. Igazából nekem nem azzal van bajom, ha valaki rolling-ot használ, lelke rajta. A linuxos influenszerekkel van bajom, akik hirdetik ezt az igét az új felhasználóknak, de elfelejtik megemlíteni azt a tényt, hogy mennyire instabil dolgok ezek. Jön az új felhasználó, feltelepíti, örül, hogy a linux milyen cool(tényleg az), aztán eltelik 1-2 hét, és :

-elmegy a hang

-nem megy már a suspend, pedig ment

-nem áll le a gép

-nem megy a video lejátszás többé

-nem bootol be a gép

-elmegy a hálózat

 

stb,stb... A fő kretén influenszer ebből a szempontból DT. Kinyílik tőle a bicska a zsebemben.

Amúgy senki nem kötelezi Linust arra, hogy 10 hetente újabb kernelt adjon ki, át is nézhetné a patcheket. Mi baj történne abból, ha csak évente egy új kernel release lenne, összesen egy hetes merge window-val? Vagy kétévente lenne új kernel?

Az Linus döntése, hogy ilyen a fejlesztési folyamat, amilyen.

Szerintem a nouveau sem egy főnyeremény, miért nem használod az nvidia zárt driverét inkább?

Ez egy nagyon régi, bontószökevény gép. A feladata annyi, hogy egy bemutatóteremben, kioskként a cég saját honlapján a vevő tudja böngészni a termékeket, nézni hozzá az árakat. Ehhez nem kell az utolsó cseppig kifacsarni a video processzor képességeit, pláne úgy, hogy a video processzor tranzisztorai is nagyjából fából vannak kifaragva, mert annyira régi. :)

Körülbelül 2 perc alatt bootol be a gép.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Akkor nem értem, hogy miért akarja ezt a csoda új drivert használni hozzá, azt írják, ez csak a legújabb GPU-kal működik.

Fedorához van 390-es driver is (rpmfusion repoból), az még a GeForce 400/500-asokhoz is jó. Attól, hogy nem kell a kártya minden képességeit kihasználni, a stabilitás még jól jöhet :)

Ez egy AMD alapú brand gép, talán valami HP vagy Fujitsu-Siemens, s egy nagyobb cég vedlette le. Nem tudom, pontosan milyen VGA van benne, annyira nem érdekelt.

A nouveau-t azért szeretem, mert beállítom, hogy frissítse magát a gép automatikusan, nem kell hozzányúlni, nem tainted a kernel, elvan, működik. A zárt driver esetében vagy előre fordított modul kell, de ha a kernel hamarabb frissül, mint a modul, a következő boot már grafikus felület nélkül lesz. Ha pedig dkms, meg effélék, akkor forrásból fordul az interface, de az elég para, hogy sikerül-e - általában igen -, nem épp fordítás közben jön áramszünet. Egy gyenge, lassú vason külön élmény forrásból fordítani.

Itt az a cél, hogy frissítse magát a gép, stabilan menjen, ne kelljen hozzányúlni. A nouveau stabil, legfeljebb lassabb a zártnál. De már jó rég óta Compiz is megy nouveau driverrel. Ez persze most nem kell, csak megjegyeztem.
 

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Ez jogos, de kalapácsom van és mindent szögnek látok. ;) Szóval Red Hat 7.2 környékén kezdtem (talán 2001-ben), aztán volt ott még valami Red Hat 8.x meg Red Hat 9, utána Fedora Core 1, stb., jelenleg Fedora 42. Elég jól ismerem, nem kívánom azt az érzést, hogy nem tudom, mit kell csinálni egy Debiannal, ha frissítés közben jön egy áramszünet. Fedorát eddig mindig megmentettem a legváltozatosabb lesántulásokból is, sohasem telepítettem újra.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Tudom, de nem telepítem újra ezt a gépet, amin minden úgy van beállítva, ahogyan kell. És igen, azt is tudom, hogy hogyan lehetne a beállításokat költöztetni, de nekem ez nem ér annyit. Pontosabban inkább nézem a nőket a strandon, minthogy egy újabb Linuxot konfiguráljak. Ha baj van, így vagy úgy meg szoktam oldani Fedorával. Persze előfordul, hogy kérdezek, de ez még mindig a gyorsabb megoldás.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Pedig egyszer megérné az időt rászánni, hogy egy stabilabb oprendszerrel újratelepítsd, és akkor még többet nézhetnéd a nőket a strandon, mert nem jönnének mindenféle gonosz rozsdás driverek.

Blog | @hron84

valahol egy üzemeltetőmaci most mérgesen toppant a lábával 

via @snq-

Nekem a Fedorával a meghatározó emlékem az, hogy használtam 2 hónapig boldogan, majd egy frissítés után soha többé nem indult el az X. Akkoriban még nem voltam annyira gyakorlott az X hibakeresésében, ráment egy napom érdemi eredmény nélkül. De az is valami driver issue volt, ráadásul valami szögegyszerű intel kártyával. Végül letörültem, és visszakerült az Ubuntu. 

Amit akarok mondani: az elvvel van a bajom. Hogy minimálisan sincs a stable ág tesztelve.

Blog | @hron84

valahol egy üzemeltetőmaci most mérgesen toppant a lábával 

via @snq-

Todom, meggyőzni nem tudlak, nem is cél!

De hogy erősítsem a már elhangzottakat:

 régi gépre - főleg amire ti használjátok - nem a Fedora való ;)

Erre a feladatra egy stabil, nem bleeding edge, sőt LTS verzióval rendelkető disztó való! :)

pl: RHEL, ami gyerekkorában egy korábbi Fedora-volt ;)

vagy Ubuntu LTS

 

ja, a régi kernel meg biztosan nem hatossal kezdődik ;) Ezeket (6.x) tulajdonképpen mi teszteljük, annyira bleeding edge :D

 

szerintem.