SuSE Linux: Verziók a következő dátum óta: 7.1
XFree86: Verziók a következő dátum óta: 4.0.1
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 |
|
|
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 |
(!) = Á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.
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.
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.aspA 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\ ================================================================
Az összes 3D tulajdonságra vonatkozó bejegyzés két szekcióban található of /etc/X11/XF86Config:
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).
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.
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.
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
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élda értékű adatokat az alábbi cikkben olvashatunk: "" (http://sdb.suse.de/hu/sdb/html/wessels_3d_results.html).