[Megoldva] NVIDIA driver értelmes telepítése Fedora alatt

Fórumok

Sziasztok!

Kb harmadjára futok bele pofonba az nvidia driver installal, és szeretném megkérdezni, hogy ha esetleg valaki tud jól bevált lépéseket, ami után minden megy a maga útján egy update után is, és működőképes marad, akkor azt esetleg meg tudná osztani?

Én a következőket csináltam:

1. első probálkozás:

- a nonfree repository-ból feltettem az 550.54.14, erre azt gondoltam, hogy elég lesz. Belefutottam, hogy a secure boot miatt nem indul el a kernel modul, és egy alap driver indult: nouveau

Itt addig "kavartam", hogy legyen egy aláírt secure boot által elfogadott kernel modulom, hogy a végén el sem indult a gépem.

2. második próbálkozás:

Ez alapján a leírás alapján szépen feltettem a drivert: https://github.com/roworu/nvidia-fedora-secureboot, és minden működött is. rájöttem, hogy nekem a cuda driver kell, úgyhogy elkezdtem ezt feltenni:

https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch…

Ennek az lett az eredménye, hogy először a nonfree repóból felment a driver (a github-os leírás alapján), aztán a második install (az nvidia-s cudas leírás alapján) letiltotta azt a dnf modult amiben az volt, és ebből a második repóból rátelepült ez a cuda-s verzió.

De ezek után minden működött hetekig.

3. kör, és most ezt gyűröm:

Update jött a developer.nvidia.com-ról, és most felemás driverem van: a dmesg-gel 550.54.14-et látok, amik települtek csomagok, azok verziója már 550.54.15. (törölni nem sikerül a régit)

Ennek eredménye, hogy az nvidia-smi pl azt írja, hogy verzió ütközés van, és vannak funkciók amik nem működnek. pl a kártya állapotának a lekérdezése, stb...

most töröltem a cuda-s verziót, de dnf-el nem tudom visszatenni/update-elni azt ami a nonfree repóból jött a github-os leírás alapján (tehát ami nem a developer.nvidia.com-ról jön), mert a dnf ezt mondja: Az összes találat ki lett szűrve moduláris szűréssel

Gondoltam update-elem azt, ami bent ragadt, és közben ki lett kapcsolva a modul, és visszarakom rá a cuda-s verziót, de így belegondolva, ezt biztos, hogy nem így kell. Szerintem kiszúrja a szemem, hogy hogy kellene, de ezt a modult meg nem sikerült visszakapcsolni. :) De ezt 100% hogy nem is így kellene csinálni (ez egy összevisszaság).

 

Valaki esetleg futott bele hasonlókba, vagy tudja, hogy mi a helyes menete ennek?

Köszönöm előre is

Megoldva, nekem ez vált be: https://hup.hu/comment/3040472#comment-3040472

annyi megjegyzéssel, hogy az nvidia driver telepítése után érdemes a gnome szoftverközpont helyett a frissítéseket a dnf update-tel feltenni. A szoftverközpont újraindítgatja a gépet, és az első újraindításkor fordítja le az akmods az nvidia drivert. Utána viszont valamiért kifagy a gép, nem tud elindulni (csak egyszer fagy ki, kézzel újra kell indítani). (lehet, hogy már van betöltve valami, vagy valami timeoutra megy, stb..., de nem kerestem az okát).

A dnf update tökéletesen működik, után pedig várni kell a gép újraindítással, amíg az akmods fordít a háttérben, de ez egyértelműen látszik mikor ér véget.

Hozzászólások

Ha nem sikerül leszedni dnf-fel, akkor egy réteggel alacsonyabb szinten próbáld meg, szedd le rpm-mel. Az rpm parancs használható továbbra is, működik, csak a függőségeket nem kezeli. Helyesebben szólva függőségi probléma esetén hibát ad, de még az is kijátszható --nodeps kapcsolóval, de ekkor azért észnél kell lenni, hogy tényleg ne maradjanak fenn olyan csomagok, amelyeknek a függőségeit leszedted.

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

Nem vagyok benne biztos, hogy sikerült-e leszednem:

lsmod | grep nvidia
nvidia_drm            126976  1
nvidia_modeset       1605632  1 nvidia_drm
nvidia              60362752  1 nvidia_modeset
video                  77824  2 nouveau,nvidia_modeset

A nouveau van itt, de az nvidia_drm, és az nvidia_modeset rendben van itt?

Közben dmesg-el meg ezt látom:

dmesg | grep nvidia
[    8.338978] nvidia: loading out-of-tree module taints kernel.
[    8.338986] nvidia: module license 'NVIDIA' taints kernel.
[    8.338990] nvidia: module license taints kernel.
[    8.471683] nvidia-nvlink: Nvlink Core is being initialized, major device number 509
[    8.472380] nvidia 0000:01:00.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=none:owns=io+mem
[    8.549138] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms  550.54.14  Thu Feb 22 01:25:25 UTC 2024
[    8.553188] [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver
[    9.235511] [drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:01:00.0 on minor 0
[    9.235518] nvidia 0000:01:00.0: vgaarb: deactivate vga console
[    9.261814] fbcon: nvidia-drmdrmfb (fb0) is primary device
[    9.349762] nvidia 0000:01:00.0: [drm] fb0: nvidia-drmdrmfb frame buffer device

Tehát mi az az 550.54.14 ott?

Most már nem jön a hiba a dnf-től, hogy a modul filter miatt nem tudja feltenni újra a drivereket, csak a bökkenő, hogy azok továbbra is 550.54.14, és nem a 15-ös végű, ami a cuda-s nvidias lapon van. :)

Igen.

A helyzet az, hogy a driver-ből csak az 1-gyel kisebb al-al-verziót tudom felrakni, a cuda toolkitből meg már települne az aktuális, ami csak az nvidia-s repóban van meg. A cuda toolkit kell.

Így-is úgy-is összeakad, és ugyanott vagyok, ahol elindultam. :) Este megpróbálom megcsinálni.

/etc/dnf/dnf.conf file-ba tudsz olyan dolgot írni például, hogy

excludepkgs=speech-dispatcher*,kernel-devel

Ez példa, nyilván semmi köze a kernel-develnek meg a speech-dispatcher*-nek a problémádhoz. Szóval ki tudsz tiltani csomagokat.

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

Most a nonfree repóból feltéve a drivert, akkor ez van most: (és egy cuda-s csomagot telepítettem, remélem az az, ami nekem kell).

nvidia-smi
      
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.54.14              Driver Version: 550.54.14      CUDA Version: 12.4     |
|-----------------------------------------+------------------------+----------------------+

Most nincs bekavarva a külsős nvidia repo, amiben a cuda-toolkit volt.

Majd meg kell néznem, hogy mi az a cudatoolkit, és kell-e, ami az nvidia-s oldalon volt, és 1-gyel nagyobb verzióval behozott csomagokat.

Egyébként játékhoz kell? Mert nekem jók a free driver-ek filmnézés, programozás, neten böngészésre, és a compiz is megy. Jó, nekem nem nVidia-m van, hanem a CPU chip-jére integrált Radeonom, illetve van inteles picike gépem, de sehol sem gyötröm magam azzal, hogy szétcsússzanak a verziók, s külső repóból tegyek fel valamit.

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

Szerkesztve: 2024. 03. 21., cs – 17:03

A driver telepítés lépései (most minden működik):

1. Secure boot bekapcsolva hagyása, és telepítés a következő módon: https://github.com/roworu/nvidia-fedora-secureboot
Egyszerűen csak végig kell csinálni a lépéseket, de a 10-es pont fontos, tehát a dnf install után még modulok fordulnak, azt meg kell várni.
Én az xorg-x11-drv-nvidia-cuda csomagot is feltettem.

2. CUDA toolkit telepítése, a két leírás alapján:

https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch…

https://rpmfusion.org/Howto/CUDA

Tehát, amikor a developer.nvidia-com-on lévő leírás alapján telepítünk, akkor kell ez is:

sudo dnf module disable nvidia-driver

Így módosul a telepítés:

sudo dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/fedora39/x86_64/cuda-fedora39.repo
sudo dnf clean all
sudo dnf module disable nvidia-driver
sudo dnf -y install cuda-toolkit-12-4

 

És így csak az települ fel, ami kell, az nvidia driver verziókban nem lesz ütközés, és a nonfree-s repóban lévő driver van a gépen (550.54.14).

Meglátjuk mi lesz, ha megint frissül valami, a driver a non-free repóban, vagy a cuda toolkit. :)

 

Köszönöm mindenkinek a segítséget!

Szerkesztve: 2024. 03. 25., h – 21:35

Update:

Megérkeztek a frissítések:

3:550.54.14-1.fc39 -> 3:550.67-1.fc39

akmod-nvidia 
nvidia-modprobe
nvidia-persistenced
nvidia-settings
xorg-x11-drv-nvidia
xorg-x11-drv-nvidia-cuda
xorg-x11-drv-nvidia-cuda-libs
xorg-x11-drv-nvidia-kmodsrc
xorg-x11-drv-nvidia-libs
xorg-x11-drv-nvidia-power

és most megint ez a helyzet:

$ nvidia-smi
Failed to initialize NVML: Driver/library version mismatch
NVML library version: 550.67

A megoldva címkét le is vettem a thread címe mellől.

(Ha ez így működik, akkor ez azért fájdalmas.)

Már jóideje leszoktam arról, hogy nem Fedora repóból származzon valaminek az egyik fele. Illetve a hplip nyomtató driver ilyen, de az eléggé akkor frissül repóban, amikor le lehet tölteni a HP honlapjáról a másik felét.

Biztos hogy nem elegendő a free driver teljesítménye, szolgáltatása?

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

De elegendő lenne. De A cuda toolkit-et is szeretném használni, pythonnal. Ha leszedem akkor a numba so-kat hiányol, ami a cuda toolkittel települ.

Egyébként valami alapvető dolgon bénázok / nem tudom, hogy van: Most leszedtem a drivereket, és a dmesg még mindig ezt írja reboot után:

nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms  550.54.14  Thu Feb 22 01:25:25 UTC 2024

Ezt honna veheti? Ez a régi verzió.

És a cuda-s repóból elvileg most nincs driver telepítve.

Tehát a jó kernel modult kellene rávennem, hogy betöltődjön, és azt hittem, hogy ez dnf update-re automatikusan újrafordul, és szépen a helyére kerül. De még a régi fut valamiért.

Az akmods segítségével kellett újrabuild-eltetni az nvidia drivert. A megértésem szerint ennek automatikusan kellett volna megtörténnie.

Ezzel próbálkoztam:

akmods --rebuild --kernels 6.7.9-200.fc39.x86_64

de ez lefordította a drivert (felpörgött a gép, és futott egy ideig), majd kiírta, hogy sikertelen a telepítés, és egy hosszú logfájl végén ez volt:

cat /var/cache/akmods/nvidia/550.67-1-for-6.7.9-200.fc39.x86_64.failed.log 


A(z) kmod-nvidia-6.7.9-200.fc39.x86_64-3:550.67-1.fc39.x86_64 csomag nincs telepítve, nem lehet újratelepíteni.
Nem található egyezés a következő argumentumra: /tmp/akmods.yPQPcyYH/results/kmod-nvidia-6.7.9-200.fc39.x86_64-550.67-1.fc39.x86_64.rpm
Hiba: Nincsenek újratelepítésre kijelölt csomagok.
2024/03/25 22:44:40 akmods: Could not install newly built RPMs. You can find them and the logfile in:
2024/03/25 22:44:40 akmods: /var/cache/akmods/nvidia/550.67-1-for-6.7.9-200.fc39.x86_64.failed.log

Ezek után töröltem az akmods-ot dnf-el, és a drivereket is, és újra telepítettem, és akkor lefordultak az új modulok automatikusan.

Most működik minden:

nvidia-smi
Mon Mar 25 23:06:05 2024       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.67                 Driver Version: 550.67         CUDA Version: 12.4     |
|-----------------------------------------+------------------------+----------------------+

Még egy két kör, és belerázódok. :)

Egyébként legalább egy kicsit ismerkedek a rendszerrel, a dnf-et is meg lehetne egy kicsit jobban ismerni, a kernel modul telepítgetésekről, initrd, stb... ezekről is keveset tudok. Arra látok esélyt, hogy én csinálom nyakatekert módon ezt az nvidia driver telepítést, és azért szívok vele. Nem lennék meglepődve, ha ez derülne ki a végén.

Köszi szépen a segítséget!

Köszi szépen, megnézem, hogy mi a dkms.

A furcsaság az volt a log fájlban, hogy mintha az akmods törölte volna le amit hiányolt, a logüzenetek alapján. :) Látszólag minden ott volt a könyvtárakban, de egy csomó rm-et lefuttatott.

A devel csomagok fent vannak.

Az érdekesség kedvéért megosztom:

Új kernel modul csomagok, és kernel-devel csomag érkezett most.

A telepítés a szokásos módon ment: Telepítés indítása, majd újraindult a fedora, kiírta hogy telepítés van folyamatban, progress bar, stb..

A telepítés végeztével újraindult megint a gép, és boot-kor szépen futott az akmods --rebuild, a systemctl indította, szépen lebuild-elte az nvidia drivert.

Majd elindultak az nvidia modulok a build végén (kiírta bootoláskor a feliratokat, hogy minden rendben van), és ott megállt minden. Kifagyott. :)

A reset gomb után minden működött, elvileg jól sikerült a build is, és újabb "akmods --rebuild"-et indítottam kézzel, szépen végig ment az is, és minden működik.

De azért van ezzel az egésszel probléma bőven.

A dkms-t megnéztem, és az akmods-ot is, elvileg az akmods-val ugyanúgy kellene mennie, és az rpm-et is build-el, és azt telepíti. Ha jól értettem van olyan driver verzió, ami dkms-el működik.

Szerintem sokatoknak nem fog tetszeni, amit írok, de telepítsd inkább újra az egész rendszert. Amiatt, hogy már feltelepítettél egy csomó szemetet, és már amiatt nem fogod tudni, hogy mi miatt nem működik. Meg kéne próbálni egy teljesen patyolat friss telepítésű rendszeren, és mindent szigorúan a Fedora nonfree/Fusion tárolójából feltenni, a kártyád pontos típusához való NV driverágat, nem az Nvidia oldaláról töltöttet. A tárolóból való rendes drivernek meg kéne oldania saját hatáskörben a dkms-modul fordítását, meg mindent, anélkül, hogy szenvednek kéne ezzel.

Mondanám, hogy használd a nouveau, vagy az NVK drivert, de azok a CUDA-t nem támogatják, így mindenképp meg kell küzdjél ezzel, ha befosol, akkor is, különben Linuxon nem fogod tudni máshogy megoldani.

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

Szerintem sokatoknak nem fog tetszeni, amit írok

Ez bizony így van! :D

Mi a fenének kellene újratelepíteni? Akkora probléma megkeresni, mi okozza a bajt, netán egy systemctl paranccsal letiltani valamelyik túlbuzgó folyamatot? Vagy eltávolítani néhány rpm csomagot?

Amíg hajlandó boot-olni, bárhányszor lehet próbálkozni. Ha nem boot-ol, akkor rescue live pendrive, mount az fs-eket, chroot, és helyre lehet hozni akkor is.

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

Azért is szóltam előre. Én is a rendszer megmentésének a híve vagyok, mert abból tanul az ember, és még ebben az esetben is megpróbálnék segíteni, de eleve nem tudjuk pontosan milyen kártya, se dmesg kimenet, se csomaglista, meg már a 3. drivert tette fel, volt már minden, mint a Fradi levesben, dkms, akms, config fájlok nyomorgatása, mit tudom én, ez már csak egy olyan kutyulmány, ami sose fog megoldódni. Van egy szint, ahol az újratelepítés nem csak könnyebb, hanem tényleg tanulságosabb is. Mert tényleg lehet, hogy az utolsó próbálkozásra már jól csinálta, de azért nem ment, mert a kettővel ezelőtti kísérlet után fent maradt olyan csomag, tároló vagy beállítás, ami keresztbe tesz.

Ha friss rendszeren próbálna minden új lépést, akkor jobban lehetne az egészet debugolni. Ilyen értelemeben még újratelepíteni sem kell, fog egy tartalék HDD-t, vagy SSD-t, pendrive-ot, arra próbáljon új bare metal rendszert telepíteni, és onnan próbálkozni, a bejáratott rendszerhez úgy nem is kell nyúlnia. Ha megoldja friss rendszeren, akkor átülteti a megoldást a bejáratott fő rendszerére. Mert ez nem annyira bonyolult, pár hete pont a FreeBSD-s topikban oldottuk meg majdnem ugyanezt az NV driveres problémát, de ott pontosabb adatok álltak rendelkezésre, meg ott a kolléga még kevesebb módszerrel próbálkozott, annyira nem volt szétbarmolva a rendszere (pedig szerintem teljesen oké az is, félre ne értsetek), többször indult friss telepítésről, és lám, végül sikerült is neki. Vért hugyozott, de ott volt a szakmai sikerélmény, már érti, tudja hogyan kell. Pedig még megpihenni se tudott, meg túl sokáig örülni, mert jött a nyakára a BT-os driver problémája, amit még nehezebben oldott meg, de végül az is meglett neki, és nem futamodott meg, hogy sose lesz xydesktopéve, csak a windows-mek-a-jó.

Ha lúzerség, ha nem, ezzel én is így voltam anno, nehezen ment a Linuxra átállás, a LaTeX/TeX, vim, stb. megtanulása, többször neki kellett futni. Tudom, ti úgy jöttetek a világra, hogy minden azonnal ment, de ezzel nincs így mindenki, meg nem is számít, hogy lett meg, csak az, hogy az ember végül megtanulja, rájöjjön, abszolválja. Sokan ezt nem értik meg, hajtogatják, hogy ők jogsinál is elsőre mentek át, mindjárt 20-30 óra után lekörözték Lewis Hamilton-t, meg ők szín jelesre érettségiztek, meg elsőre vették fel, meg BME, cum laude végeztek, sőt, köztársasági elnöki érdemrenddel, holott ez senkit nem érdekel, annyi a történet vége, hogy végül megtanulták, kezükben van a tudás, igazolás, és tudják érdemben használni. Ha ez sok bukás, meg újratelepítés, bénázás árán megy, akkor úgy, a végeredmény a lényeg.

A másik az, hogy a telepített rendszer sem szent és sérthetetlen. Skill az is, ha megtanulod a rendszert hatékonyan, gyorsan újratelepíteni, from scratch rekonstruálni-reprodukálni, meg elengedni néha, és nem görcsösen görgetsz magad előtt egy évek óta barmolt, ősi rendszert, mert az szent, be van lakva (valaha az is belakatlanként kezdte), örök lakhelyed, oda fognak temetni, mert ott találtad meg az örök lelki nyugalmat. Az a baj, hogy ezt trey sem érti, büszke rá, hogy egy stock Ubuntu rendszert már 20 éve görget maga előtt, lényegében csak egyszeri újratelepítésre, és ez szép, jó, nem is kívánom a vesztét, lelke rajta, ha ezt élvezi, de ezért senkitől nem fog kitüntetést kapni, vagy valakivel szemben is előnybe kerülni, vagy felsőbbrendű lenni.

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

mit tudom én, ez már csak egy olyan kutyulmány, ami sose fog megoldódni.

De ez nem így van. Fent is írtam, hogy melyik csomagokat telepítem, és teljes telepítési leírásokat tettem be, hogy mit csináltam. dmesg-ből a releváns részeket is bemásoltam, és az akmods-ból is, amikor hiba volt. Tehát ennyi volt az infó.

Az nvidia kártyákhoz ha jól értem a 3070-hez, 4060-hoz, 4070-hez, stb... ugyanazt a drivert teszted fel.

A friss rendszer telepítéssel pont ugyanezt csinálnám végig, és tudom, hogy milyen csomagok mentek fel.

A problémák sorban, amibe belefutottam:

1. secure boot -> ezt megértettem, felfogtam, így telepítettem.

2. valóban volt egy összekutyult állapot, amit egyszerűen lehetett tisztázni, két repóból is telepítettem drivereket (a cuda-toolkit-es repóból betelepültek függőségként, vagy hasonló probléma volt). De egyszerű volt tisztázni, töröltem azokat a csomagokat, amik nem jó repóból jöttek, sőt, itt töröltem mindent is. Ezután feltettem a drivereket a Fedora nonfree repókból, és csak a cuda toolkit csomagokat az nvidias-ból. Minden működött.

3. Időközben, valószínűleg az előző kézi reszelések miatt (amit az előző problémák javításakor csináltam), valami problémája lett az akmods-nak, ami miatt egy buildelés nem ment végig. Itt volt minden is, kézzel avatkoztam be, töröltem nem megfelelőjű verziójú drivereket, tanultam az esetből, el is romlott az akmods, ami egy dnf remove / dnf install hatására megjavult.

4. Azóta nincs kérdés, jó csomagok vannak fent, nincs fent felesleges csomag.

Egy videókártya driver telepítés miatt szerintem nem szoktak újrahúzni egy rendszert, jól elhatárolható csomagok vannak, amiknek működniük kellene. De egyébként ha mérlegelek, és az a sokkal gyorsabb megoldás, akkor simán újrahúzom a rendszerem. Ez kb 1.5-2 órás procedura, van mentésem, tudom milyen csomagokat kell felrakni, szóval ezzel sem lenne gond. De ha el tudom kerülni, akkor azért nem telepítek mindent újra, mert felesleges. Ágyúval verébre megoldás.

Most bízom benne, hogy több furcsaság nem jön elő, ami egyébként a friss rendszerrel is valószínűleg előjönne. Csak annyi megjegyzés van, hogy ez az egész megoldás, hogy így kell egy nvidia drivert telepíteni, ez egy törékeny dolog, és nem egy-kattintásos. Én nem tudom elképzelni pl, hogy a szomszéd, vagy egy random ember ezeket végigcsinálja. És a furcsa, hogy ez 2024-ben még így van, utoljára 2000-ben volt problémám videókártya telepítéssel (szerintem debian alatt volt és nem emlékszem, hogy ati radeon, vagy nvidia volt), és persze azzal is csak annyi volt a gond talán, hogy konfig fájlokat kellett írkálni, de az élmény egy kicsit előjött most 2024-ben is. Én meg látatlanban mondtam volna bárkinek, hogy ezzel ma már nincs kérdés. :)

Egyébként windows alatt sem tökéletes, tud probléma lenni a driverrel, láttam már kifagyást, vagy gép újraindulást, ami szerintem a bugos nvidia driver miatt lehetett.

Még egy álmom, hogy a kölkökkel végigteszteltetem, hogy minden játék rendben fut-e linuxon, ami kell nekik, tudnak-e ezzel együtt élni, és ha igen, esetleg meg is tetszik nekik a linux, akkor mehet fel a gépükre. :) Most az xbox-store (vagy mi) a legnagyobb visszatartó erő.

Akkor végül mi segített a rendes driver feltelepítésében mi oldotta meg?

Ha Windows alatt is kifagy, akkor lehet, hogy a táp nem elég neki, ezek a 30xx, 40xx RTX kártyák elég energiaéhesek, esetleg a hűtés lehet elégtelen, vagy a kártya hibás.

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

Windows alatt nem ez a videókártya fagyott ki, csak ott sem tökéletes ez az egész nvidia videókártya kérdés. A gyerekek gépén volt furcsa fagyás másik kártyával, játék közben. Driver update megoldotta.

Itt az a megoldás, hogy nem szabad többet/kevesebbet csinálni, mint amit fent az indító postban a "Megoldva" után írtam, akkor minden működni fog. :) A thread többi részében már csak elmélkedtem rajta, hogy, ez az egész miért ilyen sz*r bonyolult? Még legyintettem is rá magamban, és megmosolyogtam, amikor ismerőseim mondták, hogy az nvidia kártyával linux alatt szívás lesz. Én tűzbe tettem volna a kezem, hogy minden 1 klikkelésre működik (a szoftver központban), és csak fel kell tenni egy nvidia drivert.

Ehhez képest:

  1. kulcsot kellett generálni a secure boot miatt, és telepíteni
  2. a driver láthatatlan módon forráskódból fordul a háttérben percekig
  3. bekavartam a cuda toolkit telepítéssel, mert szétszórt repókban van minden, nem egy helyen,
  4. és a kavarásokkal hibás állapotok is előálltak, amik meg a következő update-ekbe kavartak be.

Végül, ha valaki semmit nem csinál, csak amit leírtam mint megoldást, akkor működni fog az nvidia drivere cuda toolkittel. (Köszönöm amúgy azoknak, akik írtak, mindegyik hasznos volt.)

 

A másik szál: https://hup.hu/node/184823,  pedig azt erősítette meg, hogy ez az egész folyamat, hogy a Fedora-ban bugos kernelt telepítettem (ez már nem az nvidia kérdés), elromlott a bluetooth, keresgéltem a megoldást, hibát jelentettem, próbáltam a javított kernelt, ez azért volt, hogy ami a redhat-ba bekerül, az már jó legyen. (de ezt lehetett is tudni). Itt a felhasználó ezzel fizet meg a szoftverért, amit használ, hogy kénytelen bevonódni a tesztelésbe. Egyébként nekem ez itthon nem gond, élveztem is kicsit.

 

Van még dolog, amivel szívok Fedora alatt, nem működik a suspend-ből a feléledés. (de nem akarok rá külön thread-et indítani, mert nem vagyok biztos benne, hogy ezek a kérdések másoknál is előjönnek, érdekes kérdések. Valószínűleg én lámáskodok itt (nem is másoktól várom igazából, hogy megoldjanak minden Fedora kérdésem, csak érdekesnek gondoltam beszélni róla, stb.. :) ) ).

1. systemctl-lel suspend-elem a gépem, vagy kivárom a gnome-ban beállított időt, akkor szépen "lekapcsol", ahogy láttam deep sleep-be megy a gép. Egy relé kattan is egyet a házban, elalszanak a ledek, csend lesz.

2. Megnyomok egy billentyűt, akkor kattan a házban a relé, felgyúlnak a ledek, és ennyi, kifagy.  A monitor nem kapcsol be, a billentyűzeten még a numlock sem működik.

3. A journalctl furcsaságokat ír, de nem kezdtem még el kinyomozni:

ápr 07 12:35:55 desktop kernel: usb 1-10: can't set config #1, error -71
ápr 07 12:35:58 desktop kernel: usb usb1-port10: disabled by hub (EMI?), re-enabling...
ápr 07 10:36:00 desktop kernel: Bluetooth: hci0: FW download error recovery failed (-19)
ápr 07 10:36:00 desktop kernel: Bluetooth: hci0: sending frame failed (-19)
ápr 07 10:36:00 desktop kernel: Bluetooth: hci0: Reading supported features failed (-19)
ápr 07 10:36:00 desktop kernel: Bluetooth: hci0: sending frame failed (-19)
ápr 07 10:36:00 desktop kernel: Bluetooth: hci0: Failed to read MSFT supported features (-19)
ápr 07 10:36:00 desktop kernel:
ápr 07 10:36:01 desktop /usr/bin/nvidia-powerd[1110]: Found unsupported configuration. Exiting...
ápr 07 10:36:02 desktop kernel: Bluetooth: hci0: Malformed MSFT vendor event: 0x02
ápr 07 10:36:02 desktop bluetoothd[1085]: src/device.c:set_wake_allowed_complete() Set device flags return status: Invalid Parameters
ápr 07 10:36:02 desktop kernel: snd_hda_intel 0000:00:1f.3: Cannot probe codecs, giving up
ápr 07 10:36:08 desktop dbus-broker-launch[1645]: Ignoring duplicate name 'org.gnome.gedit' in service file '/usr/share//dbus-1/services/org.gnome.gedit.service'
ápr 07 10:36:21 desktop gdm-password][2577]: gkr-pam: unable to locate daemon control file
ápr 07 10:36:22 desktop dbus-broker-launch[2770]: Ignoring duplicate name 'org.gnome.gedit' in service file '/usr/share//dbus-1/services/org.gnome.gedit.service'
ápr 07 10:36:23 desktop systemd[2599]: Failed to start app-gnome-xdg\x2duser\x2ddirs-3159.scope - Application launched by gnome-session-binary.
ápr 07 10:36:23 desktop systemd[2599]: Failed to start app-gnome-nvidia\x2dsettings\x2duser-3310.scope - Application launched by gnome-session-binary.
ápr 07 11:10:45 desktop dbus-broker-launch[1077]: Activation request for 'org.freedesktop.nm_dispatcher' failed.

Szerintem ez lehet a suspend-ből feléledés logja lehet, a gép nem indul el.

Gondolom ezek a többi disztribúcióban pont így működnek.

Most derült ki, hogy elindul, csak kb másfél perc kell neki (amit eddig egyszer sem vártam ki), és az előbb nem jó logot néztem...

És sajnos van is a logban egy 1 perces lyuk, amikor értelmes semmi infó, jó lett volna látni, hogy hol áll.

Végül megoldódott az is, hogy a suspend lassan ébred fel (több mint 1 perc):

Ez alapján a doksi alapján: https://www.kernel.org/doc/Documentation/power/states.txt

# cat /sys/power/mem_sleep
s2idle [deep]

Tehát a deep suspend mód van beállítva, aminek a jelentése:

State:        Suspend-to-RAM
ACPI State:    S3
Label:        "deep"

This state, if supported, offers significant power savings as everything in the
system is put into a low-power state, except for memory, which should be placed
into the self-refresh mode to retain its contents.

journalctl-lel ezt találtam:

ápr 08 21:39:49 desktop kernel: pcieport 0000:09:00.0: not ready 1023ms after resume; waiting
ápr 08 21:39:49 desktop kernel: pcieport 0000:09:00.0: not ready 2047ms after resume; waiting
ápr 08 21:39:49 desktop kernel: pcieport 0000:09:00.0: not ready 4095ms after resume; waiting
ápr 08 21:39:49 desktop kernel: pcieport 0000:09:00.0: not ready 8191ms after resume; waiting
ápr 08 21:39:49 desktop kernel: pcieport 0000:09:00.0: not ready 16383ms after resume; waiting
ápr 08 21:39:49 desktop kernel: pcieport 0000:09:00.0: not ready 32767ms after resume; waiting
ápr 08 21:39:49 desktop kernel: pcieport 0000:09:00.0: not ready 65535ms after resume; giving up

Ezek a milliszekundumok kb annyi idő, amennyire a feléledéskor kellett várni. Furcsa, hogy mind a 49-es másodperchez van beírva, de gondolom akkor íródott ki egyben egy csomó log üzenet, de ez félrevitt eddig.

lspci:
 

09:00.0 PCI bridge: Intel Corporation Thunderbolt 4 Bridge [Maple Ridge 4C 2020] (rev 02)

A biosba belépve kikapcsolva a "Thunderbolt support"-ot, megjavult minden, suspendből kb 1-2 másodperc alatt feléled a gép. A próba utána visszakapcsoltam ezt a bios-ban, és a gép továbbra is 1-2 másodperc alatt éled fel. Úgy is, hogy teljesen áramtalanítottam a gépet, és utána tettem még egy próbát.

Tehát kellett a bios-ban egy thunderbolt support ki-be kapcsolás...  (most már minden működik, úgy tudom legalábbis. :))

Nem érzem úgy, hogy csomó szemetet feltettem, mert tudom, meg is tudom nézni, törölni, és újratelepíteni is tudom a csomagokat, amiket telepítettem. Persze mindig előfordulhat, hogy benézek valamit, de pár csomag érintett.

Ezen felül pár függőségre szükség volt még, pl ami a kulcsot generálja a secure boot-hoz, vagy a kernel-devel, és a többi fordításhoz szükséges csomag, de ezeket meg nem kell újratelepíteni, mindig is ugyanabból a repóból jöttek.

Most már az is rendben van, hogy nem két repository-ból telepítem a drivereket, csak a Fedora non-free repository-ból van feltéve driver, és a Cuda toolkit pedig az nvidia-s repóból, amit kénytelen vagyok így csinálni, mert máshol nincs meg a cuda toolkit. A cuda toolkit-es repónál ki lett kapcsolva egy driver-es modul, és nem települ onnan driver.

A nouveau teljesen jól működött azonnal, tényleg jó lenne használni, csak én is ebbe futotta bele, amit írsz, hogy a cuda használathoz a másik kell.

Egyébként véleményem szerint, az, hogy secure boot-os géphez parancssorból kulcsot kell generálni, aláírt drivert fordítani egy erre kialakított tool-al (abbóll is három opció van: dkms, akmods, kmods), úgy kell repository-kból összevadászni egy valamihez a csomagokat, ez nem egy felhasználóbarát működés, de megértem, hogy így működik.

Akmods-sal közben a fordítás a háttérben működik, aki nem tudja, hogy mi történik, az simán újraindítja a gépet, mert azt hiszi, hogy települt a driver. Ha systemctl-el megy a kernel modulok frissítése után (amikor nekem is kifagyott valami a bootolás után/közben), pl történt-e valami timeout? (gondolom nem futhat az ott a végtelenségig). Törékenynek érzem az egész folyamatot.

Tehát nagyon jó rendszer a Fedora (a legjobb rendszer amit használtam valaha, és biztos ezt gondolnám még 1-2 disztribúcióról), és ez biztos nem a Fedora hibája. A leírások alapján úgy látom, hogy ez tényleg ilyen "nyögvenyelősen"/"törékenyen" működik: Nem lehet bárkinek odaadni, hogy telepítsd, és használd az nvidia videókártyáddal. És sajnos van is ilyen ismerősöm, aki ezek miatt nem meri bevállalni.

De a konklúzió, amit ki akartam hozni az egészből: amikor elkezdtem a telepítést, azt gondoltam, hogy én csinálok kerülő utakat, és bonyolítom túl az egészet feleslegesen, de most úgy látom, hogy ez a driver telepítés tényleg így működik. Ami érdekes, hogy hol lehet ez a folyamat elakadva, mert ez egy ilyen "gyerekbetegségnek" tűnik, valami ilyen "bonyolult" X év után is, és nem egy kattintás. :)

Igen, pont ezen gondolkodtam, hogy a legtöbbeknek az nem kell. :) Igazad van. Amúgy ez a fajta félelem, hogy ááá, jól hangzik a linux, nem tudom feltegyem-e... az inkább arra vonatkozik, hogy bármilyen témában belefut-e ilyenbe (persze 99.9%-ban nem, de most itt van egy) Én ezelőtt mindenkinek hangoztattam, hogy semmi bonyolultabb folyamatba nem keveredhet egy linux desktop gép esetén. :) (és ez sem bonyolult szerintem, csak nem egy kattintás volt)

Ha van erre minimális időd, az is megy, hogy te telepíted, karbantartod, ők használják. Teljesen laikus, nyugdíjas keresztanyáméknak Fedorát tettem a gépükre. Keresztapám sakkozik rajta, keresztanyám is játszik, netezik, az ügyfélkapuról letölti vérvétel után a leleteit, levelezik a Thunderbird mail klienst használva, miközben fogalma sincs arról, mi az a kernel. A gép frissíti magát a dnf-automatic nevű szolgáltatással. Félévente a dist-upgrade-et megcsinálom távolról, a gépre ssh-zva.

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

Először úgy próbáltam ki amúgy, hogy a bios-ban kikapcsoltam a secure boot-ot, és akkor annyi volt, hogy feltettem a nonfree drivereket, és működött pöccre. (akkor még nem kavartam bele a cuda-t, amiből végülis most egy egyszerű csomag, és a függőségei vannak feltéve, driverek nélkül: cuda-toolkit).

Utána gondoltam, hogy inkább visszakapcsolom a secure-boot-ot, nem véletlen van az.

A secure boot szerintem annak az előkészülete, hogy a saját gépedről kizárjanak. Mégis, mi az a borzalom, amit behúzol a gépre boot-kor, és nem kéne? Utána már véd a kernel, a SELinux, a jogosultságok. Ennek ellenére ahol az a default, ott én is használom, erről blogoltam is.

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