Xorg/Hardveres 3D gyorsítási útmutató

From Gentoo Wiki
< Xorg
Jump to:navigation Jump to:search
This page is a translated version of the page Xorg/Hardware 3D acceleration guide and the translation is 100% complete.


Ez a dokumentum útmutatóként szolgál a 3D-gyorsítás működésének beállításához a DRM használatával az Xorg szerverrel működő Gentoo operációs rendszert alatt.

Bevezetés

Mi az a hardveres 3D-gyorsítás, és miért van rá szükségem?

A hardveres 3D-gyorsítás esetén a háromdimenziós renderelés a videokártya grafikus processzorát használja, ahelyett hogy értékes CPU-erőforrásokat venne igénybe a 3D-képek megrajzolásához. Ezt "hardveres gyorsításnak" nevezik a "szoftveres gyorsítás" helyett, mivel hardveres 3D-gyorsítás nélkül a CPU kénytelen mindent önmaga megrajzolni a Mesa szoftveres renderelési könyvtárak segítségével, ami jelentős mennyiségű feldolgozási kapacitást igényel.

Míg az Xorg általában támogatja a 2D-s hardveres gyorsítást, gyakran hiányzik belőle a hardveres 3D-gyorsítás. A háromdimenziós hardveres gyorsítás értékes olyan helyzetekben, amelyek 3D objektumok renderelését igénylik, például játékokban, 3D CAD-ben és modellezés során.

A 3D-gyorsítás beállítása

Sok esetben mind bináris, mind nyílt forráskódú illesztőprogramok léteznek. A nyílt forráskódú illesztőprogramok előnyösebbek, mivel Linuxot használunk, és a nyílt forráskód ennek egyik alapelve. Néha a bináris illesztőprogramok az egyetlen lehetőség, különösen akkor, ha a grafikus kártya annyira új, hogy a nyílt forráskódú illesztőprogramokat még nem írták meg a funkcióinak támogatására. A bináris illesztőprogramok közé tartozik az x11-drivers/nvidia-drivers szoftvercsomag az NVIDIA grafikus kártyákhoz, az x11-drivers/xf86-video-ati szoftvercsomag (korábban x11-drivers/ati-drivers) a régebbi AMD/ATI grafikus kártyákhoz, valamint a dev-libs/amdgpu-pro-opencl szoftvercsomag az újabb AMD grafikus kártyákhoz.

Mi a DRI?

A Direct Rendering Infrastructure (Közvetlen Renderelési Infrastruktúra), más néven DRI, egy olyan keretrendszer, amely lehetővé teszi a grafikus hardverek közvetlen elérését biztonságos és hatékony módon. Ez magában foglalja az Xorg szerver, számos klienskönyvtár és a kernel módosításait. A DRI első fő felhasználási területe a gyors OpenGL implementációk létrehozása.

Mi a DRM, és hogyan kapcsolódik a hagyományos Xorg szerverhez?

A DRM (Direct Rendering Manager, Közvetlen Renderelési Menedzser) egy továbbfejlesztés az Xorg szerver számára, amely 3D-gyorsítást biztosít a grafikus kártyák számára azzal, hogy hozzáadja a közvetlen rendereléshez szükséges kernelmodult.

Cél

Ez az útmutató azok számára készült, akik nem tudják beállítani a közvetlen renderelést kizárólag az Xorg szerver használatával. A DRM a következő illesztőprogramokkal működik:

További információkért és dokumentációért látogassa meg a DRI honlapját.

Xorg szerver telepítése, és a kernel beállítása

Xorg szerver telepítése

Olvassa el a Xorg beállítási útmutatót, hogy az Xorg szervert megfelelően beállíthassa és elindíthassa.

Kernel beállítása

Derítse fel a releváns hardver specifikus jellemzőit.

root #emerge --ask sys-apps/pciutils
root #lspci | grep -Ei "VGA|AGP|3D"
# 00:01.0 PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03)

Az eredmény eltérhet a fentebbiekben leírtaktól a különböző hardverek miatt, azonban bármilyen visszatérő adat segíthet a felhasználónak abban, hogy milyen kernelopciókat vegyen fontolóra.

Bizonyos kernelopciók szükségesek lesznek, míg mások problémákat okozhatnak. A hardverre vonatkozó specifikus források, amelyek meghatározzák, hogy melyik kernelopció milyen hardverhez használható, megtalálhatók ebben a wikiben és más helyeken is.

Lehetséges, bár valószínűtlen, hogy az adott parancs semmilyen eredményt nem ad vissza. Ebben az esetben a teljes lspci -nnk kimenet hasznos információ lehet, amelyet érdemes áttekinteni és/vagy továbbítani, amikor segítséget keres.

A megadott példában, ahol a lapkakészlet egy AGP lapkakészlet, de egy másik, amelyet a kernel nem támogat, némi siker érhető el azzal, ha a agp=try_unsupported kernelparamétert adja meg. Ez az Intel általános rutinjait használja az AGP támogatás érdekében. Ennek a paraméternek a hozzáadásához szerkessze a boot loader beállításfájlját. Ismételten, a szükséges kernelbeállítási opciók és az elérhető boot loader paraméterek a hardver specifikációi alapján változnak.

Mielőtt bármilyen kernelopciót módosítana, szükség esetén győződjön meg arról, hogy a /usr/src/linux az előirányzott kernelre mutat.

root #ls -dl /usr/src/linux*
lrwxrwxrwx  1 root root   19 Feb 16 16:30 /usr/src/linux -> linux-5.4.18-gentoo
drwxr-xr-x 27 root root 4096 Feb 16 21:27 /usr/src/linux-4.19.103-gentoo

A szimbolikus hivatkozás másik célra történő frissítéséhez használja az alábbi parancsokat. A második parancs egy olyan argumentumot fogad, amely az első parancs kimenetében megjelenített opciók közül választható ki:

root #eselect kernel list
root #eselect kernel set

A szimbolikus hivatkozás ellenőrzése után a kernelopciók módosításához:

root #cd /usr/src/linux
root #make menuconfig

A legtöbb, ha nem az összes kernelnek ezekkel az opciókkal kell rendelkeznie. Mindenesetre az <M> jelöléssel ellátott opciók modulokként kerülnek lefordításra és szükség szerint töltődnek be, így nagyon valószínűtlen, hogy problémát okoznának, ha nem szükségesek.

Ez egy standard sys-kernel/gentoo-sources kernel használatával lett beállítva.

KERNEL Hardveres 3D gyorsítási opciók
Processor type and features --->
<*> MTRR (Memory Type Range Register) support
Device drivers --->
   Graphics support --->
   <M> /dev/agpgart (AGP Support) --->
      (The agpgart option is not present on 64-bit kernels;
      just choose the appropriate chipset support.)
      <M> Intel 440LX/BX/GX, I8xx and E7x05 support
      (Enable the appropriate chipset instead of the above.)
   <M> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
      <M> (Select the appropriate  graphics card from the list)

Fordítsa le és telepítse a kernelt

root #make && make install && make modules_install

Ne feledje beállítani a(z) grub.conf vagy a(z) lilo.conf fájlt.

Amennyiben LILO boot loadert használ, akkor adja ki a következő parancsot:

root #lilo

Ha GRUB2 boot loadert használ, akkor adja ki a következő parancsot:

root #grub-mkconfig -o /boot/grub/grub.cfg

Adja hozzá a megfelelő felhasználó(kat) a video csoporthoz

Ezután adja hozzá a megfelelő felhasználó(kat) a video csoporthoz:

root #gpasswd -a $USER video

Közvetlen renderelés beállítása

Xorg szerver beállítása

Remélhetőleg a megfelelő felhasználó hozzáadása a video csoporthoz elegendő a közvetlen renderelés engedélyezéséhez. Azonban az Xorg szervernek szüksége lehet további beállításra a /etc/X11/xorg.conf.d/ könyvtárban. Az ebben a könyvtárban létrehozott új beállításfájlokat bármilyen alfanumerikus fájlnévvel el lehet nevezni, feltéve hogy a fájlnév .conf végződéssel zárul. Nyissa meg a kedvencs szövegszerkesztőjét, és hozzon létre egy fájlt az alábbi tartalommal:

FILE /etc/X11/xorg.conf.d/10-dri.conf
Section "Device"
  Identifier "AMD Radeon"
  Driver "radeon"
EndSection
Section "dri"
  Mode 0666
EndSection

Cserélje le a radeon kifejezést a megfelelő illesztőprogram nevére. Cserélje le az AMD Radeon kifejezést egy egyedi és leíró karakterláncra az azonosítóhoz. Ez általában a grafikus kártya neve lesz, amely a szakasz elején lett meghatározva, de lehet bármely más egyedi karakterlánc is.

Változások az automatikus modulbetöltésben

Szükséges hozzáadni a grafikus kártyája által használt modul nevét a /etc/modules-load.d/video.conf fájlhoz, hogy biztosítsa, hogy a modul automatikusan betöltődjön a rendszer indításakor.

FILE /etc/modules-load.d/video.conf
intel-agp # Ezt cserélje ki az Ön GPU illesztőprogramjára.
Note
Ha az agpgart kernelmodult modul formájában fordította le, akkor azt is hozzá kell adnia a /etc/modules-load.d/video.conf fájlhoz.

3D gyorsítás tesztelése

Indítsa újra az új kernelt

Indítsa újra a számítógépét az új kernelre, és jelentkezzen be normál felhasználóként. Ideje ellenőrizni, hogy van-e közvetlen renderelés, és annak mennyire jó a minősége. A glxinfo és a glxgears a x11-apps/mesa-progs szoftvercsomag részei, így győződjön meg arról, hogy ez telepítve van, mielőtt megpróbálja futtatni ezeket a parancsokat.

user $startx

Nem szükséges modulokat betölteni az illesztőprogramhoz vagy az agpgarthoz, még akkor sem, ha azokat modulként fordította le. Automatikusan betöltődnek.

user $glxinfo | grep rendering
direct rendering: Yes

Ha a "No" választ kapja vissza, akkor nincs 3D gyorsítása.

user $glxgears

Tesztelje a képkockák másodpercenkénti (FPS) számát az alapértelmezett méretben. A számnak jelentősen magasabbnak kell lennie, mint a DRM beállítása előtt. Ezt akkor végezze el, amikor a CPU a lehető leginkább tétlen.

Note
Az FPS értéket korlátozhatja a képernyő frissítési sebessége, ezért tartsa ezt szem előtt, ha a glxgears csak körülbelül 70-100 FPS értéket jelent. A games-fps/xonotic vagy más 3D játékok jobb benchmarking eszközök, mivel ezek valós teljesítményeredményeket nyújtanak.

Hozza ki a legtöbbet a közvetlen renderelésből

Ha több funkciót szeretne beállítani, akkor teljesítménybeli vagy egyéb okokból, tekintse meg a funkciómátrixot a DRI weboldalán, vagy a funkciók listáját a Sourceforge weboldalon.

Hibaelhárítás

Probléma a rendereléssel

Próbálja ki a modprobe radeon parancsot, mielőtt elindítja az X szervert (cserélje le a radeon kifejezést az illesztőprogram nevére). Emellett próbálja meg az agpgart modult a kernelbe építeni ahelyett, hogy modulként készítené el.

Nem sikerült betölteni az agpgart kernelmodult a startx futtatásakor

A "[drm] failed to load kernel module agpgart" hiba a startx parancs futtatása után azért következik be, mert az agpgart modulként került lefordításra a kernelbe, nem pedig önálló modulként. Ezt a hibát figyelmen kívül hagyhatja, hacsak nem okoz problémákat a rendszer működésében.

TV-Out a Radeon GPU-n

A GATOS projekt által eredetileg kifejlesztett illesztőprogramok beolvadtak az Xorg szerver kódbázisába. TV-Out-hoz nincs szükség semmi különlegesre, ugyanis a x11-drivers/xf86-video-ati szoftvercsomag tökéletesen működni fog.

Kompatibilitás az újonnan megjelent GPU-kkal

Próbálja ki a bináris illesztőprogramokat. AMD kártyák esetén használja az ati-drivers szoftvercsomagot. Ha ezek nem támogatják, akkor használja a fbdev illesztőprogramot. Lassú, de működik.

PCI kártya nem működik megfelelően

Hozzon létre egy beállításfájlt a /etc/X11/xorg.conf.d/ könyvtárban. Nevezze el bárhogy. A fájl kiterjesztése .conf végződésű legyen. Adja hozzá a következőket a fájlhoz:

FILE /etc/X11/xorg.conf.d/10-pcimode.confForcePCI Mode hozzáadása
Section "Device"
  Option "ForcePCIMode" "True"
EndSection

Külső források


This page is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: Donnie Berkholz (dberkholz) , peesh, nightmorph
They are listed here because wiki history does not allow for any external attribution. If you edit the wiki article, please do not add yourself here; your contributions are recorded on each article's associated history page.