ATI Radeon HD6950 2GB on gentoo


ATI HD6950 is a great GPU which is supposed be full supported by opensource radeon drivers. After lot of pain with opensource driver, I have installed closed source ati-drivers and the card works well. During the process I have tried to follow number of ati/radeon/fglrx guides. My goal was to get the card working on two monitors using single screen.

For start tried xf86-video-ati drivers with kernel gentoo-sources-3.0.6. Initially it worked fine. Xorg did all the work by default and I didn’t have to mess with xorg.conf. I only adjusted primary and secondary monitor using kde-4.7.2 system settings. After a few minutes of testing – junk pixels started appearing around open windows and eventually garbage completely took over my two monitors.

To solve the problem, I tried using the latest versions of drivers. I’ve tried with gentoo x11 layout


emerge layman
layout -l
layout -a x11

unmasked x11-drivers/xf86-video-ati and drm, gentoo-sources-3.0.7.

=sys-kernel/gentoo-sources-3.0.7 ~amd64
=x11-drivers/xf86-video-ati-9999 ~amd64
=x11-libs/libdrm-9999 ~amd64

The problem was still visible.

Decided to try with ati-drivers. Kernel recompiled without DRM support

Device Drivers
     Graphics support
     < > Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)

And also corrected /etc/make.conf to include

VIDEO_CARDS=”fglrx”

and emerged ati-drivers. This time xorg didn’t start. After a few hours of hastle got working xorg.conf with xinerama for two monitors spread over the same screen.

The easiest method of figuring out X config is to start with ati catalyst tool:

aticonfig --initial --desktop-setup=horizontal --overlay-on=1

Basically, the idea is to create horizontal desktop with 1 overlapping pixel in order for xrandr to be capable of properly handling moving windows from one monitor to another without involving xinerama. This way we can be sure that KDE opengl rendering will be able to use desktop effects.

Test it as root from command line

startx

and fine tune it using ati graphic interface

/opt/bin/amdcccle

To avoid a potential confusion make sure which monitor is plugged into which GPU slot.

Finally, my xorg.conf is given below.

Section "ServerLayout"
        Identifier     "aticonfig Layout"
        Screen      0  "aticonfig-Screen[0]-0" 0 0
EndSection

Section "Module"
EndSection

Section "Monitor"
        Identifier   "aticonfig-Monitor[0]-0"
        Option      "VendorName" "ATI Proprietary Driver"
        Option      "ModelName" "Generic Autodetecting Monitor"
        Option      "DPMS" "true"
EndSection

Section "Monitor"
        Identifier   "0-DFP5"
        Option      "VendorName" "ATI Proprietary Driver"
        Option      "ModelName" "Generic Autodetecting Monitor"
        Option      "DPMS" "true"
        Option      "PreferredMode" "1680x1050"
        Option      "TargetRefresh" "60"
        Option      "Position" "0 0"
        Option      "Rotate" "normal"
        Option      "Disable" "false"
EndSection

Section "Monitor"
        Identifier   "0-DFP4"
        Option      "VendorName" "ATI Proprietary Driver"
        Option      "ModelName" "Generic Autodetecting Monitor"
        Option      "DPMS" "true"
        Option      "PreferredMode" "1280x1024"
        Option      "TargetRefresh" "60"
        Option      "Position" "1680 0"
        Option      "Rotate" "normal"
        Option      "Disable" "false"
EndSection

Section "Device"                                                                                                                                             
        Identifier  "aticonfig-Device[0]-0"                                                                                                                  
        Driver      "fglrx"                                                                                                                                  
        Option      "DesktopSetup" "horizontal"                                                                                                              
        Option      "OverlayOnCRTC2" "1"                                                                                                                     
        Option      "Monitor-DFP5" "0-DFP5"                                                                                                                  
        Option      "Monitor-DFP4" "0-DFP4"                                                                                                                  
        BusID       "PCI:1:0:0"                                                                                                                              
EndSection                                                                                                                                                   

Section "Device"                                                                                                                                             
        Identifier  "amdcccle-Device[1]-1"                                                                                                                   
        Driver      "fglrx"                                                                                                                                  
        Option      "Monitor-DFP4" "0-DFP4"
        BusID       "PCI:1:0:0"
        Screen      1
EndSection

Section "Screen"
        Identifier "aticonfig-Screen[0]-0"
        Device     "aticonfig-Device[0]-0"
        DefaultDepth     24
        SubSection "Display"
                Viewport   0 0
                Virtual   2960 2960
                Depth     24
        EndSubSection
EndSection

Section "Screen"
        Identifier "amdcccle-Screen[1]-1"
        Device     "amdcccle-Device[1]-1"
        DefaultDepth     24
        SubSection "Display"
                Viewport   0 0
                Depth     24
        EndSubSection
EndSection

Update

Opensource radeon driver in kernel 3.2.1 (sys-kernel/gentoo-sources-3.2.1-r2) works well.