3D akcelerace v SuSE Linuxu

Supportní databáze (wessels_3d)
Platí pro

SuSE Linux: Od verze 7.1
XFree86: Od verze 4.0.1

Dotaz:

Chcete v SuSE Linuxu používat 3D akceleraci.

Postup:

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
  • Voodoo Graphics
  • Voodoo2
  • Voodoo Banshee
  • Voodoo 3/4/5
  • xf86_glx
  • mesa3dfx
  • glide_vg
    (voodoo graphics)
  • glide_vg2 (voodoo2)
dri / glx switch2xf86_glx
ATI
  • Rage128er Serie
  • Radeon Serie
xf86_glx dri / glx
dri / glx
fglr200 / dri / glx
switch2xf86_glx
FireGL
  • FireGL 1
  • FireGL 2/3/4
  • FireGL 8700/8800
  • xf86_glx

  • xfiregl23 für
    karty Diamond FireGL

  • xfglr200(!)
    für 8700/8800
    (Série x)
dri / glx
fgl1 / dri / glx
fgl23 / dri / glx
switch2xf86_glx
Intel
  • i810
  • i815
  • i830
xf86_glx dri / glx switch2xf86_glx
Matrox
  • G200
  • G400
  • G450
  • G550
xf86_glx dri / glx switch2xf86_glx
NVIDIA NVIDIA_kernel(!)
NVIDIA_GLX(!)
glx switch2nvidia_glx
PowerVR
  • Kyro
  • Kyro2
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:

Problémy a podpora

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.

Kontrola nastavení pomocí skriptu 3Ddiag (od SuSE Linuxu 7.3)

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:

http://www.nvidia.com/content/drivers/drivers.asp

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\
================================================================

Úprava souboru XF86Config

Provedete úpravy pouze dvou částí souboru /etc/X11/XF86Config a to:

  1. Section "Module"
  2. Section "Driver"

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.

Nastavení odkazů pro knihovnu OpenGL

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.

Uživatelská práva

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.

Test 3D akcelerace

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

Dokumentace:

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ýkonů

Příklady výkonu jednotlivých karet najdete v článku Příklady výkonu při 3D akceleraci.


Viz také:
o Podpora grafických karet s chipsety Kyro

Klíčová slova: 3D, GLX, DRI, FIREGL, NVIDIA, 3DFX, VOODOO, GEFORCE, BANSHEE, KOLEčKO, KYRO, ATI, RADEON, ALLINWONDER, MATROX

Kategorie: XFree86 , Grafické karty , Správce oken

SDB-wessels_3d, Copyright SuSE Linux AG, Nürnberg, Germany - Verze: 01. Nov 2002
SuSE Linux AG - Poslední změnu: 01. Nov 2002 provedl wessels (sdb_gen 1.40.0)