nouveau

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Nouveau and the translation is 100% complete.

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:

KERNEL A nouveau engedélyezése
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

FILE /etc/portage/package.use/00videoA 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.

FILE /var/log/Xorg.0.logElavult 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:

FILE /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

Külső források