Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[HOWTO] ATI Radeon Karten mit xorg7.1 und libdrm
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Deutsche Dokumentation
View previous topic :: View next topic  
Author Message
aZZe
l33t
l33t


Joined: 20 Feb 2003
Posts: 965
Location: Dinslaken, Germany

PostPosted: Mon Aug 28, 2006 7:58 pm    Post subject: [HOWTO] ATI Radeon Karten mit xorg7.1 und libdrm Reply with quote

Es gibt sicherlich schon einige Threads zu diesem Thema. Allerdings noch nicht im deutschen Forum und vielleicht nicht mit dem Erfolg den ich hatte. Wie alle sicherlich wissen war es bis jetzt so, dass die freien ATI Treiber von Xorg nur gerade mal 40% von dem aus der Grafikkarte kitzeln was der der propietäre Treiber konnten. Nun ich denke das hat sich geändert mit Xorg Version 7.1, da es hier neue Treiber für etliche Grafikkarten gibt, unter anderem natürlich auch für die ATI Radeon Karten, um die es hier geht. Wenn wir mal so tools wie glxgears nehmen, das wie wir alle wissen nicht unbedingt DAS Benchmark tool für Grafikkarten ist so liefert dies bei meinem IBM Thinkpad T42 mit einer ATI Radeon 9600 Mobile mit einer Auflösung von 1024x768 bei 24Bit Farbtiefe einen Wert von:

Code:

timo@t42 ~ $ glxgears
13030 frames in 5.0 seconds = 2605.844 FPS
13366 frames in 5.0 seconds = 2673.125 FPS
13377 frames in 5.0 seconds = 2675.400 FPS


Um einen Anhaltspunkt zu haben reicht dieses Tool.

Das sind die gleichen Werte wie bei dem propietären Treiber von ATI! Ich habe so bei ca. 970.000 irgendwas angefangen und jetzt sind es schon 2700.000. Was noch sehr positiv auffiel war, dass die Prozessorlast nur bei maximal 66% lag und nicht bei 100% wie beim propietären Treiber, was natürlich an einigen Optionen in der xorg.conf liegt, wie unten nachher zu sehen.

Nun wie habe ich das gemacht?

1. Radeon Kernel Module im kernel eingebunden.

Code:

Device Drivers --->
Character Devices --->
 <M> /dev/agpgart (AGP Support)                                                       
               < >   ALI chipset support                                                             
               <M>   ATI chipset support                                                             
               < >   AMD Irongate, 761, and 762 chipset support                                     
               < >   AMD Opteron/Athlon64 on-CPU GART support                                       
               <M>   Intel 440LX/BX/GX, I8xx and E7x05 chipset support                             
               < >   NVIDIA nForce/nForce2 chipset support                                           
               < >   SiS chipset support                                                             
               < >   Serverworks LE/HE chipset support                                               
               < >   VIA chipset support                                                             
               < >   Transmeta Efficeon support                                                     
               <M> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)                 
               < >   3dfx Banshee/Voodoo3+                                                           
               < >   ATI Rage 128                                                                   
               <M>   ATI Radeon                   



Das Modul sollte nachher automatisch gestartet werden:

Code:


 echo radeon >> /etc/modules.autoload.d/kernel-2.6


Nun brauchen wir noch xorg-x11 in der Version 7.1, libdrm und die util-macros. Da xorg-x11-7.1 noch masked by keyword ist müssen wir hier einige Sachen unmasken. Ich habe mir eine Datei "xorg" im Verzeichnis /etc/portage/package.keywords/ angelegt mit folgendem Inhalt:

/etc/portage/package.keywords/xorg
Code:

>=x11-base/xorg-x11-7.0-r1 ~x86
>=x11-apps/mesa-progs-6.5 ~x86
>=x11-base/xorg-server-1.1.0-r1 ~x86
>=media-libs/mesa-6.5-r4 ~x86
>=x11-drivers/xf86-input-evdev-1.1.2-r1 ~x86
>=x11-drivers/xf86-video-ati-6.6.2 ~x86
>=x11-drivers/xf86-input-mouse-1.1.1 ~x86
>=x11-drivers/xf86-input-keyboard-1.1.0 ~x86


Wie man hier sieht verwende ich ">=" Operatoren. Ich bin in der Beziehung vielleicht ein wenig schmerzfreier als andere ;). Leute die ein weinig skeptischer sind können natürlich auch nur eine bestimmte Version mit dem "=" Operator frei geben.

Nun ein

Code:

emerge xorg-x11


und die neue Version sollte installiert werden.

Nun müssen noch libdrm und die util-macros freigegeben werden. Diese sind allerdings hard masked. Folgendes muss hierfür getan werden:

Code:

echo ">=x11-libs/libdrm-2.0" >> /etc/portage/package.unmask/drm
echo ">=x11-misc/util-macros-1.0.1" >> /etc/portage/package.unmask/drm
echo ">=x11-libs/libdrm-2.0 ~*" >> /etc/portage/package.keywords/drm
echo ">=x11-misc/util-macros-1.0.1 ~*" >> /etc/portage/package.keywords/drm


Last but not least die xorg.xonf:

Code:
Section "Module"

# This loads the DBE extension module.

    Load        "dbe"   # Double buffer extension

# This loads the miscellaneous extensions module, and disables
# initialisation of the XFree86-DGA extension within that module.
    SubSection  "extmod"
      Option    "omit xfree86-dga"   # don't initialise the DGA extension
    EndSubSection

# This loads the font modules
#    Load        "type1"
#    Load        "speedo"
    Load        "freetype"
#    Load        "xtt"

    Load       "glx"
    Load       "dri"
    Load        "drm"

EndSection

Section "Files"


    FontPath   "/usr/share/fonts/misc"
    FontPath   "/usr/share/fonts/75dpi"
    FontPath   "/usr/share/fonts/100dpi"
    FontPath   "/usr/share/fonts/TTF"
    FontPath   "/usr/share/fonts/Type1"
#    FontPath   "/usr/lib/X11/fonts/local/"
#    FontPath   "/usr/lib/X11/fonts/misc/"
#    FontPath   "/usr/lib/X11/fonts/75dpi/:unscaled"
#    FontPath   "/usr/lib/X11/fonts/100dpi/:unscaled"
#    FontPath   "/usr/lib/X11/fonts/Speedo/"
#    FontPath   "/usr/lib/X11/fonts/Type1/"
#    FontPath   "/usr/lib/X11/fonts/TrueType/"
#    FontPath   "/usr/lib/X11/fonts/freefont/"
#    FontPath   "/usr/lib/X11/fonts/75dpi/"
#    FontPath   "/usr/lib/X11/fonts/100dpi/"

# The module search path.  The default path is shown here.


EndSection

# **********************************************************************
# Server flags section.
# **********************************************************************

#Section "ServerFlags"


#EndSection

# **********************************************************************
# Input devices
# **********************************************************************

# **********************************************************************
# Core keyboard's InputDevice section
# **********************************************************************

Section "InputDevice"

    Identifier  "Keyboard1"
    Driver      "kbd"
    Option "AutoRepeat" "500 30"
    Option "XkbRules"   "xorg"
    Option "XkbModel"   "pc105"
    Option "XkbLayout"  "de"

EndSection


# **********************************************************************
# Core Pointer's InputDevice section
# **********************************************************************

Section "InputDevice"

# Identifier and driver

    Identifier  "Mouse1"
    Driver      "mouse"
    Option "Protocol"    "IMPS/2"       # IntelliMouse PS/2
    Option "Device"      "/dev/input/mice"
#IBM Thinkpad Scrool Funktion (Blue Button)
    Option      "EmulateWheel" "on"
    Option      "EmulateWheelButton" "2"
    Option "ZAxisMapping"   "4 5 6 7"

EndSection



Section "Monitor"

    Identifier  "TFT"
    HorizSync   31.5 - 48.5
    VertRefresh 50-70

EndSection


# **********************************************************************
# Graphics device section
# **********************************************************************

# Any number of graphics device sections may be present

# Standard VGA Device:

Section "Device"
    Identifier  "Standard VGA"
    VendorName  "Unknown"
    BoardName   "Unknown"
    Driver     "vga"EndSection

# Device configured by xorgconfig:

Section "Device"
    Identifier  "Radeon9600"
    Driver      "radeon"
    Option      "AGPMode" "4"
    Option      "EnablePageFlip"        "true"
    Option      "RenderAccel"   "on"
    Option      "DynamicClocks" "on"
    Option      "BIOSHotkeys"   "on"
    Option      "MergedFB"      "true"
    Option      "XaaNoScanlineImageWriteRect"
    Option      "XaaNoScanlineCPUToScreenColorExpandFill"
    BUSID       "PCI:1:0:0"
EndSection


# **********************************************************************
# Screen sections
# **********************************************************************

# Any number of screen sections may be present.  Each describes
# the configuration of a single screen.  A single specific screen section
# may be specified from the X server command line with the "-screen"
# option.
Section "Screen"
    Identifier  "Screen 1"
    Device      "Radeon9600"
    Monitor     "TFT"
   DefaultDepth 24

    Subsection "Display"
        Depth       8
        Modes       "1024x768" "800x600" "640x480"
        ViewPort    0 0
    EndSubsection
    Subsection "Display"
        Depth       16
        Modes       "1024x768" "800x600" "640x480"
        ViewPort    0 0
    EndSubsection
    Subsection "Display"
        Depth       24
        Modes       "1024x768" "800x600" "640x480"
        ViewPort    0 0
    EndSubsection
EndSection


Section "ServerLayout"

# The Identifier line must be present
    Identifier  "Simple Layout"

# Each Screen line specifies a Screen section name, and optionally
# the relative position of other screens.  The four names after
# primary screen name are the screens to the top, bottom, left and right
# of the primary screen.  In this example, screen 2 is located to the
# right of screen 1.

    Screen "Screen 1"# Each InputDevice line specifies an InputDevice section name and
# optionally some options to specify the way the device is to be
# used.  Those options include "CorePointer", "CoreKeyboard" and
# "SendCoreEvents".

    InputDevice "Mouse1" "CorePointer"
    InputDevice "Keyboard1" "CoreKeyboard"

EndSection

 Section "DRI"
    Mode 0666
 EndSection


Die auswirkenden Sachen sind einmal drm und die Optionen in den Device Settings. Was die einzelnen Optionen bedeuten kann man in der manpage zum radeon Treiber nachlesen. Zu der Option "MergedFB" möchte ich vielleicht noch was näheres sagen. Ohne diese Option ist es z.B. nicht möglich einen Clone Mode zu betreiben, um z.B. einen Beamer anzuschließen.

Code:

man radeon


Ich denke es gibt noch soo viele Möglichkeiten den Treiber zu tunen, performanter oder auch stromsparender zu machen. DynmaicClocks ist so eine Option.

Ich wünsche allen viel Spass mit den neuen Treibern und hoffe, dass die Installation gelingt, so wie ich es beschrieben habe. Ein großes Dankeschön gilt den fleißigen Entwicklern, die das alles möglich gemacht haben. Das ist mal wieder ein Beweis, dass man durch solch harte Arbeit sich den Zwängen verschlossener Konzerne irgendwo doch entziehen kann. ;)

Gruß aZZe
_________________
ASUS 4A785TD-V EVO with AMD Phenom(tm) II X4 965
4GB RAM DDR3-1333
ATI Radeon HD4870
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Deutsche Dokumentation All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum