HOGYAN ati driver
A Gentoo Linux Wiki wikiből
Tartalomjegyzék |
[szerkesztés] Bevezetés
A következő cikk végigvezet az ATI kártyák linuxos driverének telepítésén.
- Ha ATI 7500 Mobility kártyád van, vagy olyan, amit a driver nem támogat, ez a HOGYAN nem fog segíteni. Itt egy kis útbaigazítás erre az esetre: http://forums.gentoo.org/viewtopic-p-2137276.html#2137276
[szerkesztés] Kernel beállítások
A driver működése/nem működése nagyban függ a kernel beállításaitól. Van egy-két opció aminek be kell, hogy legyen állítva, és van, aminek nem szabad. A leglényegesebb dolgok:
| Linux Kernel Beállítás: 2.6 |
Loadable Module Support ---> [*] Enable loadable module support [*] Module unloading Processor type and features ---> [*] MTRR (Memory Type Range Register) support Device Drivers --->
Character Devices --->
<*> /dev/agpgart (AGP Support)
<*> Your_AGP_Chipset_Here
[ ] Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)
Kernel Hacking ---> [ ] Kernel debugging [ ] Sleep-inside-spinlock checking |
Ellenőrizd, hogy a kerneled megfelel-e a fentieknek, ha nem, állítsd be újra, forgasd le, és reboot...
| Figyelmeztetés: Figyelj arra, hogy a -mm és -rc(1,2,3,4) kernelek általában nem működnek együtt a driverrel. Ha az 'ati-drivers'-et akarod használni, azt gentoo kernellel tedd, vagy legalább STABIL 2.4/2.6 vanilla kernellel! |
[szerkesztés] A driver beszerzése
Ugyan a drivert leszedheted egyenesen az ATI honlapjáról is, de csak .rpm formában elérhető. Ráadásul a portage megold helyettünk minden gondot. Lépj ki az Xből, mielőtt hozzákezdenél. Nem elég egy kijelentkezés, jobb, ha tényleges leállítod. Ehhez, ha minden kötél szakad, használd az init 3 parancsot, rootként.
Kezdődhet a telepítés. Ahhoz hogy ezt végigcsináld, rootként kell bejelentkezve lenned.
Cseréld ki az <~arch> részt, a rendszerednek megfelelővel. Ez lehet ~x86 vagy ~amd64, csak ezt a kettőt támogatja az fglrx.
| Parancs: Telepítés |
|
# emerge sync # echo "media-video/ati-drivers ~arch" >> /etc/portage/package.keywords # echo "media-video/ati-drivers-extra ~arch" >> /etc/portage/package.keywords # emerge ati-drivers ati-drivers-extra
|
Emergelés közben a script figyelmeztet, ha valami nem jól van beállítva a kernelben, ezért érdemes odafigyelni!
Az ati-drivers-extra tulajdonképpen csak az ATI Control Panelt tartalmazza, amire nem sok szükség van (IMHO). A csomag telepítésének viszont van egy hátulütője: Ha a driverből újabb verzió van a portageban, mint az -extra-ból, az rögtön vissza lesz állítva az utóbbinak megfelelő verzióra.
Ezzel a driver fent is van..
[szerkesztés] Konfigurálás
A következő lépés, hogy átváltunk az ATI OpenGL rendszerére...
# opengl-update ati
... és beállítjuk az X-et:
# fglrxconfig
| Figyelmeztetés: Figylej oda, hogy a fenti parancs FELÜLÍRJA a már létező konfigurációs filet!! Biztonság kedvéért érdemes lementeni a már meglévőt! (/etc/X11/xorg.conf vagy /etc/X11/xfree86.conf) |
Ha valamilyen okból a fenti parancs nem működik, a rendszer nem találja a scriptet, próbáld a következőt:
# /opt/ati/bin/fglrxconfig
[szerkesztés] Példa
Itt egy példafile, amit kipróbálhatsz, mielőtt az fglrxconfig megannyi beállításán átrágnád magad (ha egyáltalán szükséged van azokra):
| File: /etc/X11/xorg.conf |
Section "Module"
...
Load "GLcore"
Load "glx"
Load "dri"
...
# Az "extmod" betöltése,de DGA kihagyása
SubSection "extmod"
Option "omit xfree86-dga"
EndSubSection
...
EndSection
Section "Device"
Identifier "ATI"
Driver "fglrx" # ez a fontos rész
# Ha az X server nem vált abba a felbontásba, amit beállítottál,
# szedd le a "#" jelet
#Option "NoDDC"
# === Video Overlay for the Xv extension ===
Option "VideoOverlay" "on"
# === OpenGL Overlay ===
# Ha az OpenGL Overlay be van kapcsolva, a VideoOverlay
# automatikusan ki lesz kapcsolva
Option "OpenGLOverlay" "off"
# === Használjuk-e a driver beépített agpgart meghajtóját? ===
# Ha az OpenGL nem mûködik, írj "yes"-t ide
# és kapcsold ki a kernel agpgart driverét.
Option "UseInternalAGPGART" "no"
EndSection
Section "Screen"
Identifier "your screen"
Device "ATI"
Monitor "your monitor"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1280x960" # ez csak példa,
# használj itt, amit szoktál
EndSubSection
EndSection
Section "DRI"
Mode 0666
EndSection
|
Mostmár visszatérhetünk a garfikus felületre...
# startx
Ha minden jól megy, nyiss meg egy terminált, és add ki a parancsot:
# fglrxinfo
Ha az 'OpenGL vendor string' azt mutatja 'ATI Technologies', akkor minden rendben ment, és készen is vagy. Ha nem, olvass tovább...
[szerkesztés] Problémamegoldás
Mindenekelőtt, győződj meg róla, hogy a /usr/src/linux link az éppen használatban lévő kerneled forrására mutat. Ennek a forrásnak teljes mértékben meg kell egyeznie az éppen futó kernel beállításaival, különben a driver sosem fog működni.
Ha a fenti link jó helyre mutat, akkor lehet, hogy a driver nem kedveli az alaplap chipsetjét (pl. nForce2-nél), így meg kell próbálni a kernel driverét használni az fglrxé helyett. Ehhez megint a kernel konfigján kell változtatni:
| Linux Kernel Beállítás: menuconfig |
Device Drivers --->
Character Devices --->
<M> /dev/agpgart (AGP Support)
<M> Your_AGP_Chipset_Here
|
Fordíts, bootolj újra, és nyisd meg a /etc/modules.autoload.d/kernel-2.x filet, ahol az x a kerneled verziója.
Írd be a következőket EBBEN A SORRENDBEN:
| File: /etc/modules.autoload.d/kernel-2.x |
agpgart intel-agp # változtasd meg az intel-agp-t a te chipsetedre, pl: via-agp, nvidia-agp sis-agp. fglrx |
Nézz utána az xorg.conf fileodban a következő sornak:
Option "UseInternalAGPGART"
Változtas meg a "yes"-t "no"-ra, és add ki a parancsot:
modules-update
majd indítsd újra a gépet.
Ha nem megy a 3D gyorsítás és ezt a hibaüzenetet kapod:
FGLTexMgr: open of shared memory object failed (Function not implemented) __FGLTexMgrCreateObject: __FGLTexMgrSHMmalloc failed!!! fglX11AllocateManagedSurface: __FGLTexMgrCreateObject failed!! FGLTexMgr: open of shared memory object failed (Function not implemented) __FGLTexMgrCreateObject: __FGLTexMgrSHMmalloc failed!!! fglX11AllocateManagedSurface: __FGLTexMgrCreateObject failed!! FGLTexMgr: open of shared memory object failed (Function not implemented) __FGLTexMgrCreateObject: __FGLTexMgrSHMmalloc failed!!!
Akkor nincs bemountolva a tmpfs a /dev/shm könyvtárba. Ahhoz, hogy ezt megtedd, nyisd meg az /etc/fstab filet, és add hozzá a következő sort, ha még nincs benne:
tmpfs /dev/shm tmpfs defaults 0 0
Ezután:
# mount /dev/shm
Ha a driver még mindig nem akar működni, próbáld meg a BIOSban lejjebb venni az AGP Aperture méretét, ez bizonyos esetekben segít.
Ha újrafordítod/updateled a kerneled, a drivert újra emergelni.
