3D támogatás SuSE Linuxon

Terméktámogatási adatbázis (wessels_3d)
Következőkre vonatkozik

SuSE Linux: Verziók a következő dátum óta: 7.1
XFree86: Verziók a következő dátum óta: 4.0.1

Szituáció

Szeretnénk beállítani a 3D támogatást grafikus kártyánkhoz a SuSE Linuxban azon alkalmazások elindításához, amelyek igénylik ezt.

Eljárás

A 3D támogatás alapvetően a DRI, GLX, és fireGL (FireGL lapkakészlet) modulokon keresztül történik. A grafikus kártyák és az általuk igényelt 3D modulok listája:

Gyártó Grafikus kártya típusa Követelmény (csomag) Modul Szkript
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
    Diamond FireGL cards

  • xfglr200(!)
    für 8700/8800
    (x series)
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

(!) = Általános meghajtók

A 3D lehetőségek problémák forrásai lehetnek Linuxon és még rendszer fagyást is okozhatnak. Ha észreveszi, hogy a rendszer instabilitását a 3D támogatás okozza, javasoljuk ennek kikapcsolását és e helyett a MESA szoftveres leképzés használatát.

Problémák és támogatás

Szerencsére a legtöbb gyártó már érthető dokumentációt ad a meghajtóhoz, amely nem csak a hibaüzeneteket ismerteti, hanem hibakeresésre is alkalmazható. Ezen felül több fórum is található ebben a témában az interneten.

Nem tudunk nyújtani telepítési terméktámogatást a 3D beállításokkal kapcsolatban, illetve az ebből eredő problémák megoldásában.

Hardver ellenőrzés a 3Ddiag segítségével (SuSE Linux 7.3-tól)

Használjuk a 3Ddiag parancsot a hardver 3D támogatásának ellenőrzésére. A kimenet az alábbi információkról tájékoztat:

3Ddiag példa NV6 (NVIDIA TNT2 M64 Vanta) grafikus kártyával. Jegyezzük meg az alábbi lépéseket:


3D beállítások ellenőrzése XFree86 4 rendszerhez
"nVidia Coorporation Vanta [NV6] (10de@002d)" grafikus kártyával:

Kártya információ


Tests for package "NVIDIA_glx":
  package ... done.
  package files ... done.
Tests for package "NVIDIA_kernel":
  package ... done.
  package files ... done.

Csomag információ: A 3Ddiag ellenőrzi, hogy a kártyához szükséges meghajtóprogramok telepítve vannak-e. Az NVIDIA kártyák esetében meg kell említenünk, hogy az alapértelmezetten telepített meghajtók csak helykitöltő (dummy) meghajtók, 3D támogatás nélkül. Sajnos licenc okokból az NVIDIA meghajtó nem lehet a CD-ken. A meghajtóprogramot az alábbi címről tölthetjük le:

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

A szükséges csomagok az NVIDIA_kernel*.rpm és NVIDIA_GLX*.rpm.


Tests for correct OpenGL libraries/glx extensions:
  Symbolic Links ... done.
  /etc/sysconfig/3ddiag (SCRIPT_3D=switch2nvidia_glx) ... done.

Az OpenGL függvénytárakra mutató linkek tesztelése


Test for correct XFree86 version ... done.

Az XFree86 verzió tesztelése


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.

Az XF86Config tesztelése. Ez esetben az adott NVIDIA meghajtó még nincs beszúrva, ennek megfelelően a 3Ddiag figyelmeztet.


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

Ahogy a fentiekben már leírtuk, a glx, dri (vagy mindekettő), esetleg a fireGL modult telepíteni kell a 3D támogatás aktiválásához. Az NVIDIA kártyák csak a glx modullal működnek együtt, amely az NVIDIA_GLX*.rpm csomagban található. A 3Ddiag jelenti hogy a glx nincs felvéve az XF86Config fájlba.


----------------------- 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)

Referencia a Mesasoft-hoz: Ha észrevesszük, hogy a rendszer nem fut stabilan 3D támogatással, javasoljuk a szoftveres leképzés használatát. Hogy ezt megtehessük, távolítsuk el az összes bejegyzést az adott meghajtóra vonatkozólag vagy a 3D modulokat az /etc/X11/XF86Config fájlból és futtassuk a következő parancsokat:


3Ddiag --mesasoft

Ha nincs 3D támogatással rendelkező kártya, a következő üzenet jelenik meg:


================================================================
No 3D capable graphic chipset found! You should consider to use
Mesa Software Rendering'. You can verify this configuration
with the command 3Ddiag --mesasoft\
================================================================

Bejegyzések az XF86Config fájlban

Az összes 3D tulajdonságra vonatkozó bejegyzés két szekcióban található of /etc/X11/XF86Config:

  1. Section "Module"
  2. Section "Device"

Ezek a szekciók hasonlóképpen néznek ki:


Section "Module"
  Load         "type1"
  Load         "speedo"
  Load         "extmod"
  Load         "freetype"
EndSection

Ebben a szekcióban további modulokat tölthetünk be amelyek a grafikus kártya működéséhez szükségesek. Miután beszúrtuk a modulokat, a szekció hasonlóképpen fog kinézni:


Section "Module"
  Load         "type1"
  Load         "speedo"
  Load         "extmod"
  Load         "freetype"
  Load         "glx"
EndSection

A "Device" szekció:


Section "Device"
  BoardName    "RIVA TNT2 Model 64"
  BusID        "1:0:0"
  Driver       "nv"
  Identifier   "Device[0]"
  Screen       0
  VendorName   "NVidia"
EndSection

Az NVIDIA meghajtóknak többféle beállítási lehetősége is van, mindezek ismertetésre kerülnek a README fájlban. Minden esetben javasolt ennek a fájlnak az átolvasása, és a különféle funkciók ki- és bekapcsolása teszt céljából. Egy példa a "Device" szekcióra:


Section "Device"
  BoardName    "RIVA TNT2 Model 64"	# Kártya típus
  BusID        "1:0:0"
  Driver       "nvidia"			# 3D meghajtó
  Identifier   "Device[0]"
  Option       "SWCursor"		# Ha problémás az egérmutató megjelenése
					# bekapcsolhatjuk a szoftveres kurzort
  Screen       0
  VendorName   "NVidia"
  Option       "NvAGP" "3"		# Az NvAGP betöltése az 
					# agpgart előtt.
					# Ezután szükséges az újraindítás
					# Olvassuk el a README fájlt bővebb
					# információkért

  Option       "NoLogo"			# Nincs NVIDIA logo, amikor az X
					# elindul

  Option       "CursorShadow"		# Egyszerűen szép
EndSection

A "IgnoreEDID" egy további opció, amely hasznos lehet néhány esetben. Miután telepítettük az NVIDIA csomagokat, a meghajtó dokumentációt az /usr/share/doc/packages/nv_glx/README fájlban olvashatjuk. Kyro grafikus kártyák esetében olvassuk el az alábbi cikket: "Kyro lapkakészlettel rendelkező grafikus kártyák támogatása " (http://sdb.suse.de/hu/sdb/html/wessels_kyro2.html).

Az OpenGL könyvtárakra mutató linkek létrehozása

Amikor telepítjük az NVIDIA meghajtókat a Yast Online Update (YOU) segítségével, a linkek automatikusan beállításra kerülnek, mivel a 3Ddiag implementálva lett a SuSEconfigban. Ha a meghajtókat az RPM paranccsal telepítettük és az XF86Config fájlt kézzel szerkesztettük, akkor a linkeket is manuálisan kell beállítani a 3Ddiag futtatása előtt. Ez történhet természetesen a SuSEconfig lefuttatásával is.

Az átkapcsoló parancsok teszik lehetővé a linkek helyes létrehozását. Ezeket a parancsokat rendszergazdaként kell kiadnunk. Többféle átkapcsoló parancs létezik a rendszerben, de csak egy felel a 3D-ért:


switch2mesasoft
switch2nvidia_glx
switch2xf86_glx

Alapértelmezettként egy új telepítés után a 3D gyorsítással kapcsolatos linkek a szoftveres leképzőre mutatnak. Az összes alkalmazás, amely használja ezt a funkciót, a /usr/lib/libGL.so.1 linket használja, amely a helyes OpenGL függvénytárra mutat, amely a /usr/lib/GL/. (A megjelenés eltérhet az eredetitől a HTML megjelenés miatt):


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

Miután lefuttattuk a megfelelő szkripteket (switch2xf86_glx vagy switch2nvidia_glx), a fájlok az alábbiak szerint változtak:


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

Ha problémáink vannak a 3D-vel, futtassuk a switch2mesasoft szkriptet és az összes függvénytár a szoftveres leképzést fogja használni. Ezután állítsuk vissza az XF86Config fájlt az eredeti állapotba.

Felhasználói jogosultságok

Amikor bekapcsoljuk a 3D támogatást, bizonyosodjunk meg arról, hogy az összes felhasználó fel van hatalmazva annak használatára, azaz a video csoport tagja. Csak ezek a felhasználók rendelkeznek jogokkal a megfelelő eszközök elérésére (például /dev/nvidia*, /dev/3dfx, /dev/dri/card0).

A felhasználó video csoporthoz való hozzáadásához szúrjuk be a felhasználó nevét a megfelelő csoporthoz az /etc/group fájlban.

A 3D támogatás tesztelése

Többféle program létezik a 3D beállítások tesztelésére:

Használhatjuk az alábbi parancsot:


glxinfo | grep rendering

a 3D bekapcsolt állapotának tesztelésére. A kimenet ez esetben hasonló lesz:


direct rendering: Yes

a 3D támogatást igénylő programok indításához ez szükséges.

A következő alkalmazások használhatók teszt célokra:

Eljárás a Gears segítségével: Indítsuk el a gearst egy terminál ablakból (ALT+F2 -> xterm -> Futtatás). Megjelenik egy kicsi ablak, három forgó fogaskerékkel. Az fps (frames per second - másodpercenkénti képkockák száma) érték megjelenik a terminál ablakban. A 150 fps érték alatti hardver nem tekinthető 3D gyorsítással rendelkező kártyának. Ha a gyorsítás kikapcsolt, a következő hibaüzenet jelenik meg:


GLUT: Fatal Error in gears: OpenGL GLX extension not supported by 
      display: :0.0

Dokumentáció

Csomag Hol található a dokumentáció Letöltés/csomag helye
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
series 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éldák

Példa értékű adatokat az alábbi cikkben olvashatunk: "" (http://sdb.suse.de/hu/sdb/html/wessels_3d_results.html).


Lásd még:
o Kyro lapkakészlettel rendelkező grafikus kártyák támogatása

Kulcsszavak: 3D, GLX, DRI, FIREGL, NVIDIA, 3DFX, VOODOO, GEFORCE, BANSHEE, RADEON, KYRO, ATI, RADEON, ALLINWONDER, MATROX, TáMOGATáS, GRAFIKUS, KáRTYA

Kategóriák: , ,

SDB-wessels_3d, Copyright SuSE Linux AG, Nürnberg, Germany - Verzió: 07. Nov 2002
SuSE Linux AG - Utoljára frissítve: 03. Dec 2002 feladó: comp (sdb_gen 1.40.0)