nouveau
A nouveau nyílt forráskódú illesztőprogram NVIDIA grafikus kártyák számára. A FreeDesktop projekt keretein belül kerül karbantartásra.
Korlátozások
Mivel a nouveau egy nyílt forráskódú projekt, amely nagyrészt zárt forráskódú hardveren fut, vannak benne olyan korlátozások, amelyek nem vonatkoznak a zárt forráskódú nvidia-drivers illesztőprogramokra. Ugyanakkor a nouveau folyamatosan fejlődik, így ezek a korlátozások idővel változhatnak.
Azoknak, akik ezt az illesztőprogramot szeretnék használni, érdemes ellenőrizniük, hogy a kérdéses grafikuskártyához (és funkciókhoz) hozzáadták-e a támogatást az upstream funkciómátrix alapján. Az upstream fenntart egy listát a grafikuskártyák kódneveiről, amelyet össze lehet vetni a funkciómátrixszal.
Telepítés
Kernel
Aktiválja a következő kernelopciókat:
Device Drivers ---> Graphics support ---> <*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) Search for <code>CONFIG_DRM</code> to find this item. ---> [*] Enable legacy fbdev support for your modesetting driver Search for <code>CONFIG_DRM_FBDEV_EMULATION</code> to find this item. <M/*> Nouveau (NVIDIA) cards Search for <code>CONFIG_DRM_NOUVEAU</code> to find this item.
Firmware
A Kepler sorozattól kezdve (GeForce 600 és újabb), egyes grafikuskártyáknak szükségük lehet firmware betöltésére a számítógép bootolásakor a megfelelő működés érdekében. Ajánlott a szükséges firmwaret beépíteni a kernelbe. Ez az alapértelmezett beállítás a systemd init rendszert futtató operációs rendszerek esetében. További információért a firmware kernelbe történő építéséről tekintse meg a Linux firmware cikket.
Tekintse meg az upstream kódnevek listáját, hogy meghatározza, milyen firmware szükséges.
A nouveau grafikus kártyákhoz szükséges firmware a sys-firmware/nvidia-firmware szoftvercsomagban található. Győződjön meg róla, hogy telepítve van, mielőtt a firmwaret meghatározná a kernelben.
root #
emerge --ask sys-firmware/nvidia-firmware
Illesztőprogram
/etc/portage/package.use/00video
A VIDEO_CARDS beállítása a nouveau számára*/* VIDEO_CARDS: -* nouveau
Miután beállította vagy módosította a VIDEO_CARDS értékeket, ne felejtse el frissíteni az operációs rendszert a következő parancs segítségével, hogy a változtatások érvénybe lépjenek:
root #
emerge --ask --changed-use --deep @world
Udev
Ha az NVIDIA saját illesztőprogramja telepítve lett, akkor egy udev szabályfájlt is telepített a /lib/udev/rules.d/99-nvidia.rules helyre. Ha megpróbálja használni a nouveau illesztőprogramot anélkül, hogy letiltaná ezt a szabályfájlt, akkor az X11 naplófájl megtelik egy 10 ms-onként ismétlődő üzenetek blokkjával.
/var/log/Xorg.0.log
Elavult udev szabály eredményei az nvidia-drivers illesztőprogramhoz [ 180.669] (II) NOUVEAU(0): EDID vendor "SAM", prod id 430
[ 180.669] (II) NOUVEAU(0): Using hsync ranges from config file
[ 180.669] (II) NOUVEAU(0): Using vrefresh ranges from config file
[ 180.669] (II) NOUVEAU(0): Printing DDC gathered Modelines:
[ 180.669] (II) NOUVEAU(0): Modeline "1600x1200"x0.0 162.00 1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsync (75.0 kHz eP)
[ 180.669] (II) NOUVEAU(0): Modeline "800x600"x0.0 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz e)
[ 180.669] (II) NOUVEAU(0): Modeline "800x600"x0.0 36.00 800 824 896 1024 600 601 603 625 +hsync +vsync (35.2 kHz e)
[...]
[ 180.669] (II) NOUVEAU(0): Modeline "1152x864"x0.0 108.00 1152 1216 1344 1600 864 865 868 900 +hsync +vsync (67.5 kHz e)
[ 180.669] (II) NOUVEAU(0): Modeline "1280x1024"x0.0 108.00 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync (64.0 kHz e)
[ 180.669] (II) NOUVEAU(0): Modeline "1280x960"x0.0 108.00 1280 1376 1488 1800 960 961 964 1000 +hsync +vsync (60.0 kHz e)
[ 180.669] removing GPU device /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card2 /dev/dri/card2
Ennek megakadályozása érdekében (anélkül, hogy eltávolítaná a x11-drivers/nvidia-drivers szoftvercsomagot), egyszerűen törölje, mozgassa vagy nevezze át az udev fájlt /lib/udev/rules.d/99-nvidia.rules, hogy az udev ne vegye figyelembe (tekintse meg az udev fejlett beállítás részt). Vegye figyelembe, hogy a következő frissítéskor az nvidia-drivers újra telepíti ezt a fájlt, így érdemes megfontolni az nvidia-drivers eltávolítását.
Beállítás
Jogosultságok
If the acl
USE flag is enabled globally and elogind
is being used (default for desktop profiles) permissions to video cards will be handled automatically. It is possible to check the permissions using getfacl:
user $
getfacl /dev/dri/card0 | grep larry
user:larry:rw-
A broader solution is to add the user(s) needing access the video card to the video group:
root #
gpasswd -a larry video
Note that users will be able to run X without permission to the DRI subsystem, but hardware acceleration will be disabled.
xorg.conf
Az X-szerver úgy van kialakítva, hogy alapértelmezetten működjön, anélkül, hogy manuálisan kellene szerkeszteni az X.Org beállításfájlokat. Fel kell ismernie és be kell állítania az olyan eszközöket, mint a kijelzők, billentyűzetek és egerek.
Azonban az X-szerver fő beállításfájlja a xorg.conf fájl.
Intel GPU és nouveau közötti váltás
Néha a felhasználók két illesztőprogram között szeretnének váltani. Ennek egyik módja az initramfs képfájl és a korai Kernel Mode Setting használata.
Például, ha az bináris initramfs képfájl a dracut segítségével van létrehozva a forráskódból, és a nouveau illesztőprogramot kell használni, akkor a következő módosításokat kell elvégezni:
/etc/dracut.conf
#add_drivers+=" i915 " # Vegye figyelembe a kezdő és záró szóközöket.
add_drivers+=" nouveau " # Vegye figyelembe a kezdő és záró szóközöket.
#force_drivers+=" i915 " # Vegye figyelembe a kezdő és záró szóközöket.
force_drivers+=" nouveau " # Vegye figyelembe a kezdő és záró szóközöket.
A kernel módbeállítási módszerben, amely GRUB bootloadert használ, a GRUB_CMDLINE_LINUX_DEFAULT változó a /etc/default/grub fájlban módosítható, hogy engedélyezze vagy letiltsa a GPU-kat a megfelelő értékek megadásával.
Például az i915 letiltásához és a nouveau engedélyezéséhez a következőt kell hozzáadni a GRUB_CMDLINE_LINUX_DEFAULT változóhoz: i915.modeset=0 nouveau.modeset=1
.
Korlátozások
Az alábbiakban felsoroljuk néhány jelenlegi problémát vagy hátrányt a zárt forráskódú x11-drivers/nvidia-drivers illesztőprogramhoz képest:
- A teljesítmény (különösen a 3D teljesítmény) ugyanazon a grafikuskártyán/lapkakészleten jelentősen rosszabb lehet, mint az nvidia-drivers használata esetén.
- A magasabb frissítési frekvencián történő futtatási kísérletek (azaz 60 Hz fölött) meghiúsulhatnak.
- Az NVIDIA különféle grafikuskártyáinak fejlett funkciói (például a Quadro kártyák többképernyős képességei SLI nélkül) nem biztos, hogy megfelelően működnek.
Hibaelhárítás
Több kijelzővel kapcsolatos problémák
Ha a képernyő gyakran lefagy, akkor esetleges EDID-lekérdezésekkel kettős monitorok/kijelzők használata közben, próbálja meg hozzáadni a video=VGA-1:e
vagy video=VGA-1:d
(illetve engedélyezés vagy letiltás) beállítást a GRUB_CMDLINE_LINUX_DEFAULT változóhoz az /etc/default/grub fájlban GRUB esetén, vagy a megfelelő kernel parancssori opcióhoz más betöltőknél. Győződjön meg róla, hogy helyettesíti a dmesg vagy /var/log/Xorg.0.log naplóban szereplő monitor nevét (például CRT-1, VGA-1, LVDS-1, DVI-1, ...).
Például egy Dell Inspiron 8100 laptop esetében, amelyhez külső kijelző van csatlakoztatva a laptop külső VGA portján keresztül, egy lehetséges parancssor a következő: video=LVDS-1:1280x1024@60 video=VGA-1:1280x1024@60
. Az EDID (DRM) lekérdezés a külső VGA-csatlakozású kijelzőn továbbra is lefagyásokat okoz a szerző számára a nouveau/DRM betöltése során, de legalább használható, ha a kijelzőt a GRUB betöltése után és a nouveau/DRM modulok betöltése előtt csatlakoztatják. A korábban említett LVDS/VGA felbontási parancssorral a kijelzők klónozva és középre igazítva jelennek meg, a klónozott kijelzők számára nagyjából megfelelő felbontásokkal.
NVIDIA Optimus
Ha egy laptop NVIDIA Optimus technológiát használ (általában a 2010 után gyártott laptopokban található meg), akkor minden először az integrált grafikus vezérlőn (általában Intel) halad át, mielőtt elérné a diszkrét videokártyát (NVIDIA). Ez számos, egyébként nehezen magyarázható problémát okozhat, ha a technológia engedélyezve van. Ennek kezelésére több lehetőség van, de a legegyszerűbb módszer az Optimus letiltása a BIOS-ban (amit általában az F12 billentyűgomb megnyomásával lehet elérni a számítógép bootolása során). Ez növeli az energiafogyasztást (csökkenti az akkumulátor élettartamát, növeli az üzemi hőmérsékletet), mivel az NVIDIA grafikuskártya ezután folyamatosan végzi az összes számítási munkát.
További olvasnivaló a témában
- NVIDIA/nvidia-drivers — Az x11-drivers/nvidia-drivers szoftvercsomag az NVIDIA grafikus kártyákhoz készült, szabadalmazott grafikus illesztőprogramot tartalmazza.
- Nouveau & nvidia-drivers switching — leírja, hogy miként lehet váltani az NVIDIA bináris illesztőprogramja és a nyílt forráskódú nouveau illesztőprogram között.
- Hprofile — an application that can be used to manage multiple profiles be it hardware or software.
Külső források
- https://nouveau.freedesktop.org/wiki/VideoAcceleration/ - Ez a wikioldal áttekintést nyújt az NVIDIA grafikuskártyákról, amelyek támogatják a VDPAU hardveres gyorsítást.
- https://nouveau.freedesktop.org/wiki/KernelModuleParameters/ - Megadja a lehetséges paraméterek listáját, amelyeket a nouveau kernelmodulnak át lehet adni.