Friday, August 13, 2010

Ubuntu, ATI Graphics Cards, and aticonfig

Ubuntu version 10.04.1 LTS has an option to install proprietary drivers. Unfortunately, it does not work well with the ATI HD3300 series graphic chip on my M4A78T-E Motherboard. When I ran aticonfig --initial -f and tried to use the xorg.conf file it generated, the X11 server would generate a fatal error and die. So, in my case, aticonfig was generating a useless xorg.conf configuration file. I downloaded a Knoppix CD iso and burned a CD. Klaus Knopper has designed a pretty good program that probes video hardware and enumerates settings and then writes an xorg.conf file. I ran the CD on my system and recovered the generated xorg.conf file. I then copied and pasted everything except for the entries that corresponded to the aticonfig generated xorg.conf entries into the latter file. The hybrid xorg.conf file is below:

Section "ServerLayout"
Identifier "aticonfig Layout"
Screen 0 "aticonfig-Screen[0]-0" 0 0
### AIGLX for compiz 3D-Support with DRI & Composite
### This option doesn't hurt even if it's not supported by the individual card
Option "AIGLX" "true"
EndSection

Section "ServerFlags"
Option "AllowMouseOpenFail" "true"
Option "DPMS" "true"

EndSection

Section "Files"
ModulePath "/usr/lib/xorg/modules"
FontPath "/usr/share/fonts/X11/misc:unscaled"
FontPath "/usr/share/fonts/X11/75dpi:unscaled"
FontPath "/usr/share/fonts/X11/100dpi:unscaled"
FontPath "/usr/share/fonts/X11/Type1"
FontPath "/usr/share/fonts/X11/Speedo"
FontPath "/usr/share/fonts/X11/PEX"
# Additional fonts: Locale, Gimp, TTF...
FontPath "/usr/share/fonts/X11/cyrillic"
# FontPath "/usr/share/fonts/X11/latin2/75dpi"
# FontPath "/usr/share/fonts/X11/latin2/100dpi"
# True type and type1 fonts are also handled via xftlib, see /etc/X11/XftConfig!
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
FontPath "/usr/share/fonts/truetype"
FontPath "/usr/share/fonts/latex-ttf-fonts"
EndSection

Section "Module"
# Comments: see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=346408
Load "dbe" # Double Buffering Extension, very important.
Load "dri" # This shouldn't be available choice if user has selected driver vga, vesa or nv.
Load "glx" # GLX Extension.
Load "freetype" # Freetype fonts.
Load "type1" # Type 1 fonts
Load "record" # Developer extension, usually not needed
Load "extmod" # This is okay, but if you look into "man xorg.conf" you'll find option NOT to include DGA extension with extmod, and for a good reason.. DGA causes instability as it accesses videoram without consulting X about it.
SubSection "extmod"
Option "omit xfree86-dga"
EndSubSection
# Load "speedo" # Speedo fonts, this module doesn't exist in Xorg 7.0.17
# The following are deprecated/unstable/unneeded in Xorg 7.0
# Load "ddc" # ddc probing of monitor, this should be never present, as it gets automatically loaded.
# Load "GLcore" # This should be never present, as it gets automatically loaded.
# Load "bitmap" # Should be never present, as it gets automatically loaded. This is a font module, and loading it in xorg.conf makes X try to load it twice.
EndSection

Section "Extensions"
# compiz needs Composite, but it can cause bad (end even softreset-resistant)
# effects in some graphics cards, especially nv.
Option "Composite" "Enable"
EndSection

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

Section "Device"
Identifier "aticonfig-Device[0]-0"
Driver "fglrx"
BusID "PCI:1:5:0"

# compiz, beryl 3D-Support with DRI & Composite
Option "XAANoOffscreenPixmaps"
Option "AllowGLXWithComposite" "true"
Option "EnablePageFlip" "true"
Option "TripleBuffer" "true"

# Tweaks for the xorg 7.4 (otherwise broken) "intel" driver
Option "Tiling" "no"
Option "Legacy3D" "false"

# These two lines are (presumably) needed to prevent fonts from being scrambled
Option "XaaNoScanlineImageWriteRect" "true"
Option "XaaNoScanlineCPUToScreenColorExpandFill" "true"
EndSection

Section "Screen"
Identifier "aticonfig-Screen[0]-0"
Device "aticonfig-Device[0]-0"
Monitor "aticonfig-Monitor[0]-0"

Option "AddARGBGLXVisuals" "true"
Option "DisableGLXRootClipping" "true"
SubSection "Display"
Depth 1

EndSubSection
SubSection "Display"
Depth 4

EndSubSection
SubSection "Display"
Depth 8

EndSubSection
SubSection "Display"
Depth 15

EndSubSection
SubSection "Display"
Depth 16

EndSubSection
SubSection "Display"
Depth 24

EndSubSection
SubSection "Display"
Depth 32

EndSubSection
EndSection

Section "DRI"
Mode 0666
EndSection

I am not sure why Canonical has not reverse engineered Knopper's program, but they ought to. Perhaps they should pay him for his program or a variant of it. It would solve a lot of display issues and X server problems that many users have.

Update:
Something is still broken. When I run fglrxinfo from the console, it segmentation faults.
I'm stumped, though I checked the Unofficial ATI Driver Wiki. Bummer!

Labels:


Comments: Post a Comment



<< Home

This page is powered by Blogger. Isn't yours?