Portál AbcLinuxu, 1. května 2025 16:39
O "malém" problému s nvidia ovladačem v ArchLinuxu jsem psal v reakci k zápisu, který nadšeně předkládá důvody pro přechod z Gentoo k Arch. Obecně jsem jako lama nakloněn věřit spíše na chyby mezi klávesnicí a židlí.
UPDATE 6.8.2005: A opravdu, buď jsem to nejdříve nenašel, anebo se komunita Archařů (nebo sama NVidia?) pochlapila a na světě je balíček nvidia-legacy, který obsahuje podporu pro starší karty, jež jinak NVidia pouští přes palubu. Pokud se tedy uhlídá, aby v pacman byly vždy balíčky podporující již jednou podporovaný HW, celý následující zápis je passé :)
***** zápis už naštěstí není pravda ****
A skutečně, promptně mi bylo doporučeno řešení problému, totiž instalace nižší verze ovladače nvidia, než je momentálně k dispozici ke stažení správcem pacman. Ke svému nemilému překvapení jsem ale právě kvůli tomuto ovladači zjistil, že pacman pravděpodobně neposkytuje několik verzí balíčků, ani co se týká ovladačů. Vždy pouze ten nejaktuálnější, a ty starší vzal čert. Závidím víru skalním příznivcům AL ve stabilitu a vychytanost toho, co se jim takto ani ne tak nabízí, jako spíš vnucuje.
Provést downgrade by prý neměl být takový problém, neboť je možné, že se příslušný starší balíček při první nehodě s balíčkem novým nachází ještě v cache. Dejme tomu... horší situace nastane, když chcete nainstalovat přímo verzi jinou, než kterou nabízí pacman. Je třeba nejprve zkompilovat balíček vlastní a ačkoliv AL nabízí vlastní nástroj (ABS), zas tak triviální to není.
Ručně je třeba upravit soubor PKGBUILD v příslušném adresáři, v mém případě konkrétně /var/abs/extras/x11/nvidia/PKGBUILD
, což znamená přepsat všechny výskyty verze balíčku verzí starší, tj. mezi jinými adresu zdroje:
source=(ftp://download.nvidia.com/XFree86/Linux-x86/1.0-7174/$pkgbinary-pkg0.run)
V ideálním případě si samozřejmě raději ověříte, že patřičná verze je na tom místě opravdu ke stažení. Stejně budete potřebovat ze staženého vygenerovat ještě md5sum, protože první pokus o makepkg skončí právě z tohoto důvodu pochopitelnou chybou. Takže ještě
makepkg -g >>PKGBUILD
a hurá, jdeme na to. Ne, ještě ne, taktéž třeba upravit verzi v souboru nvidia.install
a už snad:
[root@arch nvidia]# makepkg ==> Making package: nvidia (Po čen 13 05:52:51 CEST 2005) ==> Checking Runtime Dependencies... ==> Checking Buildtime Dependencies... ==> Retrieving Sources... ==> Using local copy of NVIDIA-Linux-x86-1.0-7174-pkg0.run ==> Validating source files with MD5sums NVIDIA-Linux-x86-1.0-7174-pkg0.run ... Passed
==> Extracting Sources...
==> Removing existing pkg/ directory...
==> Starting build()... Creating directory NVIDIA-Linux-x86-1.0-7174-pkg0 Verifying archive integrity... OK Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86 1.0-7174................................................................... rm: cannot remove `NVIDIA-Linux-x86-1.0-7174-pkg0': je adresářem ==> Compressing man pages... ==> Stripping debugging symbols from libraries... find: pkg//lib: není souborem ani adresářem find: pkg/usr: není souborem ani adresářem find: pkg/usr/local: není souborem ani adresářem find: pkg/opt/*: není souborem ani adresářem ==> Stripping symbols from binaries... find: pkg//bin: není souborem ani adresářem find: pkg//sbin: není souborem ani adresářem find: pkg/usr: není souborem ani adresářem find: pkg/usr: není souborem ani adresářem find: pkg/usr/local: není souborem ani adresářem find: pkg/usr/local: není souborem ani adresářem find: pkg/opt/*: není souborem ani adresářem find: pkg/opt/*: není souborem ani adresářem ==> Generating .PKGINFO file... ==> Copying install script... ==> Generating .FILELIST file... ==> Compressing package... ==> Finished making: nvidia (Po čen 13 05:53:31 CEST 2005)
Ono "není souborem ani adresářem" vypadá dost divně, ale budiž, prý hotovo. Takže dále podle optimistických rad:
[root@arch nvidia]# pacman -U nvidia loading package data... could not open package: No such file or directory
Ooops. No jasne, tentokrát už si pacman opravdu žádá plný název balíčku, maličkost:
[root@arch nvidia]# pacman -U nvidia-1.0.7174-2.pkg.tar.gz loading package data... done. checking for file conflicts... done. upgrading nvidia... done. IMPORTANT ==> In order to use the software, you have to agree to NVIDIA's license located in ==> /usr/share/doc/NVIDIA_GLX-1.0/LICENSE else please remove this package Installation starts now ... INSTALLATION FAILED! ==> You have to be in console mode to finish installation! You have to rerun 'pacman -S nvidia' ==> Other installation errors can be found at: /var/log/nvidia-installer.log FATAL: Module nvidia not found. If you need more information about setting up nvidia drivers have a look at: "http://wiki.archlinux.org/index.php/How to install NVIDIA Driver"
Tím pro dnešek končíme. Jistěže jsem byl v "console mode". Od "Module nvidia not found."
mě to nezachránilo. Pokračovat se bude zjišťováním, zda mé jádro není náhodou kompilováno jiným překladačem než můj právě vyrobený balíček. To mám pak prý smůlu, bude třeba dále kompilovat... ještě nevím, v jaké konstelaci. V dokumentaci stále nabízené pacman -S nvidia
(které prý všechno dá do pořádku) jaksi nepřichází v úvahu, neboť sveřepě chce instalovat onu u mě nefungující poslední verzi...
Tak nevím, výhoda oproti Gentoo by prý byla v rychlejším upgrade, zejména těch bumbrlíčků. Konkrétně jsem to testnul na KDE a prima. Kdoví, co si ale můžete nasadit do kožichu, co je totiž platné, že je kde-3.4 označeno za stabilní, když stejně obsahuje bugy (proto v Gentoo dosud není). A když pak chcete něco nestandardního (je-li instalace zvolené verze něco nestandardního)...
Přes to všechno se ještě ArchLinuxu nepustím a ve volných chvílích budu experimentovat dál. Jednak je to ještě hodně mladá distribuce (označení verze 0.7 hovoří za mnohé), nezkazila si první dojem a hlavně je dost sympatická. Jak si vybíráme distra, to už jsem se zamýšlel, takže případné nefungování nebo šílenosti nehrají až takovou roli... A pak je tam ještě ta lákavá možnost, že chyba je hlavně někde mezi židlí a klávesnicí a že se díky tomu zase něco naučím. Třeba je to jen tím pondělkem rano :)
Tiskni
Sdílej:
1. je jasné, že archlinux je BINÁRNA distribúcia, takže nemôže uchovávať všetky možné verzie v binárnej podobe, myslím, že porovnávanie archlinuxu s gentoo v tomto ohľade nie je namieste."vsechny mozne" - to snad ani neni treba. 2-3 verze alespon ovladacu by byly prijemne, aspon pro prvni instalace, nez clovek nasbira s AL dost zkusenosti, aby preventivne starsi verze zalohoval. U jadra mi to jeste prislo jakztakz normalni (stejne si ho kompiluju), ale jestli me podobne dobrodruzstvi ceka postupne u vsech ovladacu... S Gentoo srovnavam, protoze Gentoo pouzivam normalne :) Nebojte se, nechci delat z Gentoo Arch ani z Archu Gentoo a jsem si vedom, ze mezi distribucemi existuji rozdily. Proto bych podobny text nikde neprezentoval jako clanek o AL, je to proste "denickovy zapis" dojmu :)
co je totiž platné, že je kde-3.4 označeno za stabilní, když stejně obsahuje bugy (proto v Gentoo dosud není)Bugy jsou v kompilaci s jistou verzi GCC s backportovanymi(?) GCC/4.0 visibility patchy; proto taky kde/3.4.1* ebuildy tohle
-fvisibility=neco
zakazuji (a proto taky jsou 3.4.1 verze od vsech split ebuildu, btw).
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.