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.


[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


Megjegyzés:
Emergelés közben a script figyelmeztet, ha valami nem jól van beállítva a kernelben, ezért érdemes odafigyelni!


Megjegyzés:
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.


Megjegyzés:
Ha újrafordítod/updateled a kerneled, a drivert újra emergelni.


[szerkesztés] Linkek

ATI Nemhivatalos Bugzilla

Linux 3D Resource Wiki

Wedge_ remek ATI Radeon FAQja

Személyes eszközök