Problems with ATI Radeon 9850 and fglrx drivers

Hi all,

I’m having trouble getting fglrx working with my graphics card. The driver appears to be installed OK

[nathan@ebisu ~] lsmod | grep -i fgl
fglrx                2350824  26

…but it doesn’t seem to actually work

[nathan@ebisu ~] glxgears
Segmentation fault
[nathan@ebisu ~] glxinfo
name of display: :0.0
Segmentation fault

===First, the vital stats

[nathan@ebisu ~] uname -a
Linux ebisu 2.6.27.29-0.1-default #1 SMP 2009-08-15 17:53:59 +0200 x86_64 x86_64 x86_64 GNU/Linux
[nathan@ebisu ~] lspci
00:00.0 Host bridge: Intel Corporation 4 Series Chipset DRAM Controller (rev 02)
00:01.0 PCI bridge: Intel Corporation 4 Series Chipset PCI Express Root Port (rev 02)
00:1a.0 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #4
00:1a.1 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #5
00:1a.2 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #6
00:1a.7 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #2
00:1b.0 Audio device: Intel Corporation 82801JI (ICH10 Family) HD Audio Controller
00:1c.0 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Port 1
00:1c.5 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Port 6
00:1d.0 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #1
00:1d.1 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #2
00:1d.2 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #3
00:1d.7 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #1
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 90)
00:1f.0 ISA bridge: Intel Corporation 82801JIR (ICH10R) LPC Interface Controller
00:1f.2 SATA controller: Intel Corporation 82801JI (ICH10 Family) SATA AHCI Controller
00:1f.3 SMBus: Intel Corporation 82801JI (ICH10 Family) SMBus Controller
01:00.0 VGA compatible controller: ATI Technologies Inc RV770 [Radeon HD 4850]
01:00.1 Audio device: ATI Technologies Inc HD48x0 audio
02:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8056 PCI-E Gigabit Ethernet Controller (rev 12)
04:02.0 Ethernet controller: Marvell Technology Group Ltd. 88E8001 Gigabit Ethernet Controller (rev 14)
04:03.0 FireWire (IEEE 1394): Agere Systems FW323 (rev 70)

This is OpenSUSE 11.1 x64.

=== More details on the problem

[nathan@ebisu ~] dmesg | grep fgl
fglrx: module license 'Proprietary. (C) 2002 - ATI Technologies, Starnberg, GERMANY' taints kernel.
[fglrx] Maximum main memory to use for locked dma buffers: 3794 MBytes.
[fglrx]   vendor: 1002 device: 9442 count: 1
[fglrx] ioport: bar 4, base 0xc000, size: 0x100
[fglrx] Kernel PAT support detected, disabling driver built-in PAT support
[fglrx] module loaded - fglrx 8.58.2 [Feb  4 2009] with 1 minors
[fglrx] Firegl kernel thread PID: 3679
[fglrx:firegl_addmap] *ERROR* mtrr allocation failed (-22)
[fglrx] Gart cacheable size:1974 M.
[fglrx] Reserved FB block: Shared offset:0, size:1000000
[fglrx] Reserved FB block: Unshared offset:fc19000, size:3e7000
[fglrx] Reserved FB block: Unshared offset:1fffb000, size:5000
[fglrx:firegl_mmap] *ERROR* invalid size (mapsize 0x00010000, (map_end - map_start) 0x65698000)
glxinfo[30006]: segfault at c ip 00007faaa897b096 sp 00007fff88d4e740 error 4 in fglrx_dri.so[7faaa8026000+14b5000]
[fglrx:firegl_mmap] *ERROR* invalid size (mapsize 0x00010000, (map_end - map_start) 0x65698000)
glxinfo[30008]: segfault at c ip 00007fd3c978c096 sp 00007fff1fe700a0 error 4 in fglrx_dri.so[7fd3c8e37000+14b5000]
[fglrx:firegl_mmap] *ERROR* invalid size (mapsize 0x00010000, (map_end - map_start) 0x65698000)
glxgears[30088]: segfault at c ip 00007f38165b3096 sp 00007fff706285a0 error 4 in fglrx_dri.so[7f3815c5e000+14b5000]
[fglrx:firegl_mmap] *ERROR* invalid size (mapsize 0x00010000, (map_end - map_start) 0x65698000)
glxgears[30932]: segfault at 0 ip 00007fecec51e5b2 sp 00007fff43223650 error 4 in fglrx_dri.so[7fecec410000+11f9000]
[fglrx:firegl_mmap] *ERROR* invalid size (mapsize 0x00010000, (map_end - map_start) 0x65698000)
glxinfo[30933]: segfault at 0 ip 00007f020fb665b2 sp 00007fff40a95cf0 error 4 in fglrx_dri.so[7f020fa58000+11f9000]
[nathan@ebisu ~] fglrxinfo
Segmentation fault

[nathan@ebisu ~] dmesg | grep mtrr
mtrr: type mismatch for d0000000,10000000 old: write-back new: write-combining
[fglrx:firegl_addmap] *ERROR* mtrr allocation failed (-22)

[nathan@ebisu ~] cat /proc/mtrr
reg00: base=0x00000000 (   0MB), size=4096MB: write-back, count=1
reg01: base=0x100000000 (4096MB), size= 512MB: write-back, count=1
reg02: base=0x120000000 (4608MB), size= 256MB: write-back, count=1
reg04: base=0xe0000000 (3584MB), size= 512MB: uncachable, count=1

Sorry if I’ve missed anything.

=== Comments

I did some Googling, of course, and found a lot of stuff about mtrr mapping problems, but none of them described my symptoms. It looks from /proc/mtrr as though the mtrr is being mapped properly (this is a 512MB card), but it’s just not working for whatever reason.

If the solution is to use some other driver (radeonhd?) then so be it, but I’d like to understand why this one isn’t working.

Help greatly appreciated!
Thanks,
Nathan

Is 3D checked in Yast - Hardware - graphics and Monitor?

Also

cat /etc/X11/xorg.conf

3d acceleration is not checked and is greyed out.

I would guess that this is a driver problem and thus unrelated to my x.org settings, but here they are:

[nathan@ebisu ~] cat /etc/X11/xorg.conf

# /.../
# SaX generated X11 config file
# Created on: 2008-08-17T21:37:47-0400.
#
# Version: 8.1
# Contact: Marcus Schaefer <sax@suse.de>, 2005
# Contact: SaX-User list <https://lists.berlios.de/mailman/listinfo/sax-users>
#
# Automatically generated by [ISaX] (8.1)
# PLEASE DO NOT EDIT THIS FILE!
#

Section "ServerLayout"
        Identifier     "Layout[all]"
        Screen      0  "aticonfig-Screen[0]-0" 0 0
        InputDevice    "Keyboard[0]" "CoreKeyboard"
        InputDevice    "Mouse[1]" "CorePointer"
        Option      "Clone" "off"
        Option      "Xinerama" "off"
EndSection

Section "Files"
        InputDevices   "/dev/gpmdata"
        InputDevices   "/dev/input/mice"
        FontPath     "/usr/share/fonts/misc:unscaled"
        FontPath     "/usr/share/fonts/local"
        FontPath     "/usr/share/fonts/75dpi:unscaled"
        FontPath     "/usr/share/fonts/100dpi:unscaled"
        FontPath     "/usr/share/fonts/Type1"
        FontPath     "/usr/share/fonts/URW"
        FontPath     "/usr/share/fonts/Speedo"
        FontPath     "/usr/share/fonts/PEX"
        FontPath     "/usr/share/fonts/cyrillic"
        FontPath     "/usr/share/fonts/latin2/misc:unscaled"
        FontPath     "/usr/share/fonts/latin2/75dpi:unscaled"
        FontPath     "/usr/share/fonts/latin2/100dpi:unscaled"
        FontPath     "/usr/share/fonts/latin2/Type1"
        FontPath     "/usr/share/fonts/latin7/75dpi:unscaled"
        FontPath     "/usr/share/fonts/baekmuk:unscaled"
        FontPath     "/usr/share/fonts/japanese:unscaled"
        FontPath     "/usr/share/fonts/kwintv"
        FontPath     "/usr/share/fonts/truetype"
        FontPath     "/usr/share/fonts/uni:unscaled"
        FontPath     "/usr/share/fonts/CID"
        FontPath     "/usr/share/fonts/ucs/misc:unscaled"
        FontPath     "/usr/share/fonts/ucs/75dpi:unscaled"
        FontPath     "/usr/share/fonts/ucs/100dpi:unscaled"
        FontPath     "/usr/share/fonts/hellas/misc:unscaled"
        FontPath     "/usr/share/fonts/hellas/75dpi:unscaled"
        FontPath     "/usr/share/fonts/hellas/100dpi:unscaled"
        FontPath     "/usr/share/fonts/hellas/Type1"
        FontPath     "/usr/share/fonts/misc/sgi:unscaled"
        FontPath     "/usr/share/fonts/xtest"
        FontPath     "/opt/kde3/share/fonts"
EndSection

Section "Module"
        Load  "dbe"
        Load  "type1"
        Load  "freetype"
        Load  "extmod"
        Load  "glx"
EndSection

Section "ServerFlags"
        Option      "AllowMouseOpenFail" "on"
        Option      "ZapWarning" "on"
EndSection

Section "InputDevice"
        Identifier  "Keyboard[0]"
        Driver      "kbd"
        Option      "Protocol" "Standard"
        Option      "XkbLayout" "us"
        Option      "XkbModel" "microsoftpro"
        Option      "XkbRules" "xfree86"
EndSection

Section "InputDevice"
        Identifier  "Mouse[1]"
        Driver      "mouse"
        Option      "Buttons" "5"
        Option      "Device" "/dev/input/mice"
        Option      "Name" "Microsoft Wheel Mouse Optical"
        Option      "Protocol" "explorerps/2"
        Option      "Vendor" "Sysp"
        Option      "ZAxisMapping" "4 5"
EndSection

Section "Modes"
        Identifier     "Modes[0]"
        ModeLine     "1920x1200" 154.0 1920 1968 2000 2080 1200 1203 1209 1235 -hsync +vsync
EndSection

Section "Monitor"
  # created by KGamma
        Identifier   "Monitor[0]"
        VendorName   "BNQ"
        ModelName    "BENQ G2400W"
        UseModes     "Modes[0]"
        DisplaySize  517        323
        HorizSync    30.0 - 94.0
        VertRefresh  43.0 - 85.0
  Gamma   1.05  1.05  1.05  # created by KGamma
        Option      "CalcAlgorithm" "XServerPool"
        Option      "DPMS"
        Option      "PreferredMode" "1920x1200"
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  "Device[0]"
        Driver      "fbdev"
        VendorName  "VESA"
        BoardName   "Framebuffer Graphics"
EndSection

Section "Device"

  #BusID       "PCI:1:0:0"
        Identifier  "aticonfig-Device[0]-0"
        Driver      "fglrx"
  #BusID       "PCI:1:0:0"
EndSection

Section "Screen"
        Identifier "Screen[0]"
        Device     "Device[0]"
        Monitor    "Monitor[0]"
        DefaultDepth     24
        SubSection "Display"
                Depth     15
                Modes    "default"
        EndSubSection
        SubSection "Display"
                Depth     16
                Modes    "default"
        EndSubSection
        SubSection "Display"
                Depth     24
                Modes    "default"
        EndSubSection
        SubSection "Display"
                Depth     32
                Modes    "default"
        EndSubSection
        SubSection "Display"
                Depth     8
                Modes    "default"
        EndSubSection
EndSection

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

Section "DRI"
        Group        "video"
        Mode         0660
EndSection

Did you install the driver the easy way(one click install) or the “hard” way (from ati). I have found that setting up the driver the hard way is actually quite easy and saves you a lot of problems. Not to mention that you get newer drivers. I noticed that your xorg.conf is not optimized…you don’t want 3d effects? If then the radeon driver is excellent.

See this part, shows you still using vesa:

Section "Device"
        Identifier  "Device[0]"
        Driver      "fbdev"
        VendorName  "VESA"
        BoardName   "Framebuffer Graphics"
EndSection

  • When done with installation, you have to configure graphic.
    To do that log out. When new login appear switch to the terminal by pressing Ctrl-Alt-F1, login as root user (you know your root password - right), and type:
init 3
SaX2 -r -m 0=fglrx

Note that above is 0=zero, not letter O .
This will configure X to use the ATI driver.

  • Restart X window manager with command: init 5

All the above is from here: ATI - openSUSE

I tried that and SaX2 appears to just hang:

[root@ebisu /home/nathan] SaX2 -r -m 0=fglrx
SaX: initializing please wait...
SaX: your current configuration will not be read in

It doesn’t do anything else after that. I’ve had it sitting there for about 15 minutes, which is far longer than it should take to do anything, ever.

Nathan

Are you doing it from level 3?

[root@ebisu /home/nathan] who -r
         run-level 3  2009-09-23 09:24                   last=5

All I can do is direct you here
ATI - openSUSE

I suspect you may have the wrong driver installed. ATI stopped supporting some of the older cards in it’s latest drivers, and I think the 8xxx/9xxx series support was nixed.

I would go to ATI’s web site and download the drivers from there. Follow their instructions to build your own RPM, install it and see if that works.

I mistyped when I named the thread; it’s a 4850, not a 9850 x_x

I downloaded the latest drivers from ATI and installed them, and then I created a completely new xorg.conf. However, I noticed that VLC is doing worse than it was before. I think I’m going to try radeonhd and see if they’re any better.

It may be just the video playback setting you need to alter in vlc
oFten this works:

switch the output video mode of your multimedia player from “auto” or from “xv” (xvideo) to “x11”

I tried all the setting that seemed useful (OpenGL, xvideo, x11, SDL, even framebuffer).

So I didn’t have much luck getting radeonhd to work. Apparently I suck at this sort of thing. Installing the new drivers caused the error messages to go away, so I guess technically my issue has been solved, though if I knew that the price of the solution would mean that resizing videos would cause the frame rate to drop to 1 fps and that I would lose half my KDE settings through some freak failure, I might not have messed with it in the first place :confused:

You are not using desktop effects are you!?

No, I’m not.

You could consider removing the driver you have and go to ATI. I went here:
ATI Catalystâ„¢ Proprietary Display Driver

I didn’t know if you were _64bit, but I followed x86. It seems to indicate it’s for both, but if you are _64 I would go back and just follow it thru the _64.

The installer instructions are:

https://a248.e.akamai.net/f/674/9206/0/www2.ati.com/drivers/linux/linux_cat92-inst.pdf

And main points are:


The following packages must be installed in order for the Catalyst™ Linux
driver to install and work properly:
• XFree86-Mesa-libGL
• libstdc++
• libgcc
• XFree86-libs
• fontconfig
• freetype
• zlib
• gcc

You must be su to install.
To install the ATI Proprietary Linux driver using the Automatic option, follow
these steps:
1 Launch the Terminal Application/Window and navigate to the ATI Propri-
etary Linux driver download.
2 Enter the command sh ./ati-driver-installer-9.2-x86.x86_64.run to launch the
ATI Proprietary Linux driver installer.
The ATI Proprietary Linux Driver Setup dialog box is displayed

3
Select Install Driver and click Continue. The ATI License Agreement will be
displayed.

Choose Automatic and accept Licence

6
7
8
Exit to close the ATI Proprietary Linux Driver Installer.
Launch the Terminal Application/Window and run:
• For versions of X.Org newer than 7, /usr/bin/aticonfig --initial to config-
ure the driver for your ATI product.
• For versions of X.Org older than 7, /usr/X11R6/bin/aticonfig --initial to
configure the driver for your ATI product.
Reboot your system.
You have successfully installed the ATI Proprietary Linux Driver.

That’s actually exactly what I did :). I removed the fglrx driver that I had installed via YaST and I downloaded the latest one from ATI.

I have a middling-old video card, a Radeon 2600. The last half-dozen fglrx drivers have installed perfectly on my AMD64 box. I just download the .run file, run it in single user command line mode, and accept all the defaults.

Per AMD/ATI advice, I avoid SAX. Just reboot after aticonfig.

Incidentally, /etc/X11/xorg.conf is becoming less relevant. For sure, you can dispense with most of the font entries, and all of the modules. See /var/log/Xorg.0.log for details.

User djdoo at the compiz site has lots of great suggestions for xorg.conf contents.

HTH