SuSE Linux: Od verze 7.1
XFree86: Od verze 4.0.1
3D akcelerace je podporována pomocí modulů DRI, GLX a pro čipovou sadu FireGL fireGL. V následujícím článku najdete seznam grafických karet a jejich 3D modulů.
Výrobce | Typ grafické karty | Podpora (balík) | Modul | Script |
---|---|---|---|---|
3dfx |
|
|
dri / glx | switch2xf86_glx |
ATI |
|
xf86_glx | dri / glx dri / glx fglr200 / dri / glx |
switch2xf86_glx |
FireGL |
|
|
dri / glx fgl1 / dri / glx fgl23 / dri / glx |
switch2xf86_glx |
Intel |
|
xf86_glx | dri / glx | switch2xf86_glx |
Matrox |
|
xf86_glx | dri / glx | switch2xf86_glx |
NVIDIA |
|
NVIDIA_kernel(!) NVIDIA_GLX(!) |
glx | switch2nvidia_glx |
PowerVR |
|
powervr(!) | dri / glx | switch2xf86_glx |
(!) = proprietární ovladač
Hardwarová 3D podpora může způsobit nestabilitu systému. Pokud po nastavení hardwarové 3D akcelerace dojde k nestabilitě systému, použiijte softwarovou 3D akceleraci MESA:
Prosím vemte na vědomí, že se na konfiguraci 3D akcelerace nevztahuje bezplatná instalační podpora. Pokud v souvislosti s jejím nastavením narazíte na problémy, obraťte se prosím na oddělení Professional Services.
Zadejte příkaz: 3Ddiag. Tak získáte následující informace:
Např. výstup příkazu 3Ddiag pro kartu NV6 (NVIDIA TNT2 M64 Vanta):
Verifying 3D configuration based on XFree86 4 for 3D board "nVidia Coorporation Vanta [NV6] (10de@002d)":
Informace o kartě:
Tests for package "NVIDIA_glx": package ... done. package files ... done. Tests for package "NVIDIA_kernel": package ... done. package files ... done.
Informace o ovladačích:
Zde dojde k testu, zda je pro kartu nainstalovaný ovladač s
podporou 3D akcelerace nebo pouze tzv. dummy ovladač. 3D akceleraci umožňují pouze
originální ovladače od společnosti nVidia, které najdete na stránce:
Stáhněte si dva balíky NVIDIA_kernel*.rpm a NVIDIA_GLX*.rpm.
Tests for correct OpenGL libraries/glx extensions: Symbolic Links ... done. /etc/sysconfig/3ddiag (SCRIPT_3D=switch2nvidia_glx) ... done.
Kontrola odkazů na OpenGL knihovny.
Test for correct XFree86 version ... done.
Test verze XFree86
Tests for XFree86 configuration: Config File /etc/X11/XF86Config ... done. Driver ... failed! ================================================================ 3D Hardware acceleration is not used. To use 3D Hardware acceleration please specify the entry Driver "nvidia" in the Section "Device" of your /etc/X11/XF86Config.
Kontrola konfiguračního souboru XF86Config. V tomto případě není ovladač umožňující 3D akceleraci zaveden a 3Ddiag to ohlásil.
================================================================ Color Depth ... done. Extensions ... failed! ================================================================ 3D Hardware acceleration is not used. To use 3D Hardware acceleration please specify these entries Load "glx" in the Section "Module" of your /etc/X11/XF86Config. ================================================================ Options ... done.
K aktivace 3D akcelerace musíte zavést modul glx nebo dri (popř. oba) či fireGL. V případě karet nVidia se používá modul glx, který je obsažen v balíku NVIDIA_GLX*.rpm. Pokud modul glx není obsažen v části modulů v souboru XF86Config, 3Ddiag tuto skutečnost ohlásí.
----------------------- NOTE ----------------------------------- If 3D hardware OpenGL configuration is not stable enough, you should switch back to 'Mesa Software Rendering'. You can verify this configuration with the command "3Ddiag --mesasoft". ----------------------- NOTE ----------------------------------- Checking GLU/glut runtime configuration: GLU ... done (package mesaglu) glut ... done (package mesaglut)
Použití Mesasoftu: Pokud je Váš systém s haedwarovou akcelerací nestabilní, použijte softwarovou 3D akceleraci. Předtím odstraňte ze souboru /etc/X11/XF86Config všechny záznamy související s hardwarovou 3D akcelerací a zadejte příkaz:
3Ddiag --mesasoft
Pokud není nalazena karta s podporou 3D akcelerace, obdržíte hlášení:
================================================================ No 3D capable graphic chipset found! You should consider to use Mesa Software Rendering'. You can verify this configuration with the command 3Ddiag --mesasoft\ ================================================================
Provedete úpravy pouze dvou částí souboru /etc/X11/XF86Config a to:
Ty budou vypadat asi takto:
Section "Module" Load "type1" Load "speedo" Load "extmod" Load "freetype" EndSection
Doplňte potřebné moduly (pro karty nVidia):
Section "Module" Load "type1" Load "speedo" Load "extmod" Load "freetype" Load "glx" EndSection
Část "Device":
Section "Device" BoardName "RIVA TNT2 Model 64" BusID "1:0:0" Driver "nv" Identifier "Device[0]" Screen 0 VendorName "NVidia" EndSection
na:
Section "Device" BoardName "RIVA TNT2 Model 64" BusID "1:0:0" Driver "nvidia" Identifier "Device[0]" Screen 0 VendorName "NVidia" EndSection
Ovladač karet nVidia nabízí širokou škálu možných nastavení. Podrobný popis najdete v souboru README, který je součástí jejich dokumentace. Následující příklad demonstruje různé možnosti, které můžete použít:
Section "Device" BoardName "RIVA TNT2 Model 64" # Typ karty BusID "1:0:0" Driver "nvidia" # 3D ovladač Identifier "Device[0]" Option "SWCursor" # Při problémech s kurzorem # Screen 0 VendorName "NVidia" Option "NvAGP" "3" # Spustí nejdřív NvAGP před # agpgart. # Po nastavení nutný restart # systému! # Další informace najdete v # souboru README Option "NoLogo" # při startu X se nezobrazí # logo nVidia EndSection
Dalším důležitým nastavením je "IgnoreEDID". Po instalaci najdete dokumentaci v souboru: /usr/share/doc/packages/nv_glx/README. Pro karty Kyro najdete informace v článku: Podpora grafických karet s chipsety Kyro.
Za normálních okolností, pokud budete provádět instalaci ovladačů nVidia pomocí On-line updatu (YOU) programu YaST2, se odkazy na knihovnu OpenGL nastaví automaticky. V případě, že budete ovladače instalovat ručně pomocí RPM příkazů a ručně editovat soubor XF86Config, musíte odkazy nastavit ručně nebo spustit 3Ddiag.
Odkazy se nastavují pomocím skupiny tří příkazů switch:
switch2mesasoft switch2nvidia_glx switch2xf86_glx
Po nainstalování systému jsou všechny programy nalinkovány tak, že využívají softwarovou 3D akceleraci a používají knihovnu /usr/lib/libGL.so.1, která se odkazuje na skutečnou knihovnu v adresáři /usr/lib/GL/:
linux:~ # ll /usr/lib/libGL* lrwxrwxrwx 1 root root /usr/lib/libGL.so.1 -> GL/libGL.so.1.3.mesasoft lrwxrwxrwx 1 root root /usr/lib/libGLU.so.1 -> libGLU.so.1.3 -rwxr-xr-x 1 root root /usr/lib/libGLU.so.1.3
Když spustíte např. script switch2xf86_glx nebo switch2nvidia_glx, změní se tyto odkazy takto:
linux:/usr/lib/GL # switch2nvidia_glx linux:/usr/lib/GL # ll /usr/lib/libGL* lrwxrwxrwx 1 root root /usr/lib/libGL.so.1 -> GL/libGL.so.1.0.2960.nv_glx lrwxrwxrwx 1 root root /usr/lib/libGLU.so.1 -> libGLU.so.1.3 -rwxr-xr-x 1 root root /usr/lib/libGLU.so.1.3 lrwxrwxrwx 1 root root /usr/lib/libGLcore.so.1 -> libGLcore.so.1.0.2960.nv_glx -rwxr-xr-x 1 root root /usr/lib/libGLcore.so.1.0.2960.nv_glx
linux:/usr/lib/GL # switch2xf86_glx linux:/usr/lib/GL # ll /usr/lib/libGL* lrwxrwxrwx 1 root root /usr/lib/libGL.so.1 -> GL/libGL.so.1.2.xf86_glx lrwxrwxrwx 1 root root /usr/lib/libGLU.so.1 -> libGLU.so.1.3 -rwxr-xr-x 1 root root /usr/lib/libGLU.so.1.3 -rwxr-xr-x 1 root root /usr/lib/libGLcore.so.1.0.2960.nv_glx
V případě, že 3D akcelerace způsobuje nestabilitu systému, vraťte se zpět k softwarové 3D akceleraci příkazem: switch2mesasoft.
Před spuštěním 3D akcelerace se ujistěte, že všichni uživatelé, kteří ji mají využívat, jsou členy skupiny video. Pouze tito uživatelé mají práva přistupovat k potřebným zařízením (např. /dev/nvidia*, /dev/3dfx, /dev/dri/card0)
Uživatele můžete do příslušné skupiny zařadit pomocí programu YaST2 nebo editací souboru /etc/group.
Funkčnost 3D akcelerace můžete vyzkoušet následuejícím příkazem:
glxinfo | grep rendering
Výstup by měl vypadat asi takto:
direct rendering: Yes
Nyní můžete spouštět programy vyžadující 3D akceleraci.
Jako testovací programy můžete použít:
Např. Gears: Spusťte program v emulátoru textové konzole (ALT+F2 -> xterm -> ). Spustí se malé okno se třemi kolečky, které busou znázorňovat rychlost karty ve framech za sekundu. Všechny hodnyoty pod 150 fps jsou mimo hardwarovou akceleraci. Pokud není 3D akcelerace aktivní, obdržíte toto hlášení:
GLUT: Fatal Error in gears: OpenGL GLX extension not supported by display: :0.0
Balík | Umístěné | Download / Série | |
nVidia | NVIDIA_kernel*.rpm NVIDIA_GLX*.rpm |
/usr/share/doc/packages/nv_glx/README | http://www.nvidia.com/content/drivers/drivers.asp |
DRI | xf86*.rpm | /usr/X11R6/lib/X11/doc/README.DRI http://dri.sf.net |
Serie x |
Mesa/Glide | mesa3dfx | /usr/share/doc/packages/mesa3dfx/README.SuSE /usr/share/doc/packages/mesa/README.3DFX |
x3d |
Kyro | powervr | /usr/share/doc/powervr/README | http://www.powervr.com/Downloads.asp |
Příklady výkonu jednotlivých karet najdete v článku Příklady výkonu při 3D akceleraci.