Getting the fglrx drivers to work with a Radeon HD 8790M on openSUSE 13.2

I’ve just done a fresh install of openSUSE 13.2 on my Dell Latitude E6540 notebook. After installing the fglrx package the drivers do not seem to work and I am not sure what to do.

Running “aticonfig --initial” produces an xorg.conf file that does not work. I’m not sure what information is needed for people to be able to help me, so I’ll just post some kernel and graphics information to begin with.

# uname -a
Linux linux-tuvi.site 3.16.7-7-desktop #1 SMP PREEMPT Wed Dec 17 18:00:44 UTC 2014 (762f27a) x86_64 x86_64 x86_64 GNU/Linux
# zypper info fglrx64_xpic_SUSE132
Loading repository data...
Reading installed packages...


Information for package fglrx64_xpic_SUSE132:
---------------------------------------------
Repository: AMD/ATI Graphics Drivers
Name: fglrx64_xpic_SUSE132
Version: 14.501.1003-1
Arch: x86_64
Vendor: 
Installed: Yes
Status: up-to-date
Installed Size: 10.6 KiB
Summary: X Window display driver for the AMD graphics accelerators
Description: 
  This package is a meta package to installed fglrx-core,
  fglrx-graphics, fglrx-amdcccle and fglrx-opencl.
# fglrxinfo 
X Error of failed request:  BadRequest (invalid request code or no such operation)
  Major opcode of failed request:  155 (GLX)
  Minor opcode of failed request:  19 (X_GLXQueryServerString)
  Serial number of failed request:  12
  Current serial number in output stream:  12

You should not normally need a xorg.conf file.

By default I do not have an xorg.conf, as you say, but running “aticonfig -initial” creates one. The file created in this way prevents X from starting at all, while when I do not have a file, the drivers do not seem to work.

On Thu, 01 Jan 2015 23:46:01 +0000, gonneman wrote:

> By default I do not have an xorg.conf, as you say, but running
> “aticonfig -initial” creates one. The file created in this way prevents
> X from starting at all, while when I do not have a file, the drivers do
> not seem to work.

It’s not the config that is probably causing the issue, it’s an
incompatibility with the display manager.

Look in /etc/sysconfig/displaymanager and see what the current display
manager is. If it’s “gdm”, then that’s the problem - change it to “kdm”
or “lightdm”, and that should let you get into the GUI. Note that this
does not mean you have to run KDE if you don’t want to - you can run
GNOME just fine with KDM (that’s what I’m doing right now).

Jim


Jim Henderson
openSUSE Forums Administrator
Forum Use Terms & Conditions at http://tinyurl.com/openSUSE-T-C

I just checked and the displaymanager is set to kdm. I assume this is the default. So unfortunately no luck. Any other ideas?

If I’m reading my xorg log correctly, X is trying to use the integrated intel graphics chip rather than the ATI card I want it to use. Do you know how to force X to use the card instead?

On Fri, 02 Jan 2015 06:36:02 +0000, gonneman wrote:

> If I’m reading my xorg log correctly, X is trying to use the integrated
> intel graphics chip rather than the ATI card I want it to use. Do you
> know how to force X to use the card instead?

How did you install the ATI drivers?

The new drivers have multiple packages that are installed - so what’s the
output of:

rpm -qa | grep -i fglrx

?

jIM


Jim Henderson
openSUSE Forums Administrator
Forum Use Terms & Conditions at http://tinyurl.com/openSUSE-T-C

I installed them through yast by installing the “fglrx64_xpic_SUSE132” meta-package which inturn installs “fglrx64_graphics_SUSE132”, “fglrx64_opencl_SUSE132”, “fglrx64_amdcccle_SUSE132” and “fglrx64_core_SUSE132”.
I tried this with both the latest and the previous version. I also tried building the rpm myself as described here:
https://en.opensuse.org/SDB:AMD_fglrx

The result was always the same.

Here is the output you requested:

# rpm -qa | grep -i fglrx
fglrx64_graphics_SUSE132-14.501.1003-1.x86_64
fglrx64_opencl_SUSE132-14.501.1003-1.x86_64
fglrx64_amdcccle_SUSE132-14.501.1003-1.x86_64
fglrx64_core_SUSE132-14.501.1003-1.x86_64
fglrx64_xpic_SUSE132-14.501.1003-1.x86_64

Upload /var/log/Xorg.0.log to http://pastebin.com/
and post the link to it here. Maybe that will tell us more about the issue.

Sure. Here it is:
http://pastebin.com/Gbn9qDEq

Okay, as you suspect only the intel driver hardware is detected and intel driver loaded.

What is reported by the following?

xrandr --listproviders
/usr/sbin/hwinfo --gfxcard

Any BIOS-related graphics controls?

Slight correction to my previous post - AMD hardware is enumerated, but only the Intel hardware is initialized and driver loaded


    14.379] (--) PCI:*(0:0:2:0) 8086:0416:1028:05be rev 6, Mem @ 0xf5800000/4194304,
0xd0000000/268435456, I/O @ 0x0000f000/64
    14.379] (--) PCI: (0:1:0:0) 1002:6606:1028:05be rev 0, Mem @ 0xe0000000/268435456,
0xf7c00000/262144, I/O @ 0x0000e000/256, BIOS @ 0x????????/131072
    14.379] (II) LoadModule: "glx"
    14.381] (II) Loading /usr/lib64/xorg/modules/extensions/libglx.so
    14.381] (II) Module glx: vendor="Advanced Micro Devices, Inc."

I also happened to note that the root partition is mounted ro in the boot parameters. (I’m not sure if this is likely to cause issues here or not, but just wanted to mention it anyway.)

    14.377] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.16.7-7-desktop
root=UUID=173bd3c4-c6ba-45c9-a8ad-a401d37353ae ro resume=/dev/sda2 splash=silent quiet showopts

Do you know how to give priority to the AMD hardware? This wasn’t a problem with openSUSE 13.1. I wonder what is causing this odd behaviour.

Also thanks for pointing out the root partition being mounted ro. I do not know why that is, though I can confirm that I have no problem writing to the root partition. How odd.

What is reported by the following?

xrandr --listproviders
/usr/sbin/hwinfo --gfxcard

Any BIOS-related graphics controls?

I checked my BIOS and I cannot find an option to turn off the Intel graphics.

The output generated by your requested commands is the following:

> xrandr --listproviders
Providers: number : 1
Provider 0: id: 0x4b cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 4 outputs: 8 associated providers: 0 name:Intel
> /usr/sbin/hwinfo --gfxcard
09: PCI 02.0: 0300 VGA compatible controller (VGA)              
  [Created at pci.328]
  Unique ID: _Znp.GzMbEN+zY61
  SysFS ID: /devices/pci0000:00/0000:00:02.0
  SysFS BusID: 0000:00:02.0
  Hardware Class: graphics card
  Device Name: "Onboard IGD"
  Model: "Intel Haswell Integrated Graphics Controller"
  Vendor: pci 0x8086 "Intel Corporation"
  Device: pci 0x0416 "Haswell Integrated Graphics Controller"
  SubVendor: pci 0x1028 "Dell"
  SubDevice: pci 0x05be 
  Revision: 0x06
  Driver: "i915"
  Driver Modules: "drm"
  Memory Range: 0xf5800000-0xf5bfffff (rw,non-prefetchable)
  Memory Range: 0xd0000000-0xdfffffff (ro,non-prefetchable)
  I/O Ports: 0xf000-0xf03f (rw)
  IRQ: 45 (1368 events)
  Module Alias: "pci:v00008086d00000416sv00001028sd000005BEbc03sc00i00"
  Driver Info #0:
    Driver Status: i915 is active
    Driver Activation Cmd: "modprobe i915"
  Config Status: cfg=new, avail=yes, need=no, active=unknown

26: PCI 100.0: 0300 VGA compatible controller (VGA)
  [Created at pci.328]
  Unique ID: VCu0.u2_+XjLzvq8
  Parent ID: vSkL.geGWmNVGCLE
  SysFS ID: /devices/pci0000:00/0000:00:01.0/0000:01:00.0
  SysFS BusID: 0000:01:00.0
  Hardware Class: graphics card
  Model: "ATI Mars [Radeon HD 8790M]"
  Vendor: pci 0x1002 "ATI Technologies Inc"
  Device: pci 0x6606 "Mars [Radeon HD 8790M]"
  SubVendor: pci 0x1028 "Dell"
  SubDevice: pci 0x05be 
  Driver: "fglrx_pci"
  Driver Modules: "fglrx"
  Memory Range: 0xe0000000-0xefffffff (ro,non-prefetchable)
  Memory Range: 0xf7c00000-0xf7c3ffff (rw,non-prefetchable)
  I/O Ports: 0xe000-0xefff (rw)
  Memory Range: 0xf7c40000-0xf7c5ffff (ro,non-prefetchable,disabled)
  IRQ: 16 (33 events)
  Module Alias: "pci:v00001002d00006606sv00001028sd000005BEbc03sc00i00"
  Driver Info #0:
    Driver Status: radeon is not active
    Driver Activation Cmd: "modprobe radeon"
  Driver Info #1:
    Driver Status: fglrx is active
    Driver Activation Cmd: "modprobe fglrx"
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #8 (PCI bridge)

Primary display adapter: #9

I can only be of limited help, since I don’t own this graphics hardware. Anyway, the hwinfo output confirms that both cards are detected, and the correct drivers are loaded, so that’s a good sign I guess

> /usr/sbin/hwinfo --gfxcard
09: PCI 02.0: 0300 VGA compatible controller (VGA)              
  [Created at pci.328]
  Unique ID: _Znp.GzMbEN+zY61
  SysFS ID: /devices/pci0000:00/0000:00:02.0
  SysFS BusID: 0000:00:02.0
  Hardware Class: graphics card
  Device Name: "Onboard IGD"
  Model: "Intel Haswell Integrated Graphics Controller"
  Vendor: pci 0x8086 "Intel Corporation"
  Device: pci 0x0416 "Haswell Integrated Graphics Controller"
  SubVendor: pci 0x1028 "Dell"
  SubDevice: pci 0x05be 
  Revision: 0x06
  Driver: "i915"
  Driver Modules: "drm"
  Memory Range: 0xf5800000-0xf5bfffff (rw,non-prefetchable)
  Memory Range: 0xd0000000-0xdfffffff (ro,non-prefetchable)
  I/O Ports: 0xf000-0xf03f (rw)
  IRQ: 45 (1368 events)
  Module Alias: "pci:v00008086d00000416sv00001028sd000005BEbc03sc00i00"
  Driver Info #0:
    Driver Status: i915 is active
    Driver Activation Cmd: "modprobe i915"
  Config Status: cfg=new, avail=yes, need=no, active=unknown

26: PCI 100.0: 0300 VGA compatible controller (VGA)
  [Created at pci.328]
  Unique ID: VCu0.u2_+XjLzvq8
  Parent ID: vSkL.geGWmNVGCLE
  SysFS ID: /devices/pci0000:00/0000:00:01.0/0000:01:00.0
  SysFS BusID: 0000:01:00.0
  Hardware Class: graphics card
  Model: "ATI Mars [Radeon HD 8790M]"
  Vendor: pci 0x1002 "ATI Technologies Inc"
  Device: pci 0x6606 "Mars [Radeon HD 8790M]"
  SubVendor: pci 0x1028 "Dell"
  SubDevice: pci 0x05be 
  Driver: "fglrx_pci"
  Driver Modules: "fglrx"
  Memory Range: 0xe0000000-0xefffffff (ro,non-prefetchable)
  Memory Range: 0xf7c00000-0xf7c3ffff (rw,non-prefetchable)
  I/O Ports: 0xe000-0xefff (rw)
  Memory Range: 0xf7c40000-0xf7c5ffff (ro,non-prefetchable,disabled)
  IRQ: 16 (33 events)
  Module Alias: "pci:v00001002d00006606sv00001028sd000005BEbc03sc00i00"
  Driver Info #0:
    Driver Status: radeon is not active
    Driver Activation Cmd: "modprobe radeon"
  Driver Info #1:
    Driver Status: fglrx is active
    Driver Activation Cmd: "modprobe fglrx"
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #8 (PCI bridge)

Primary display adapter: #9

What happens if you launch the AMD Catalyst Control Center utility (as administrator)?

sudo amdcccle

Can you switch graphics cards successfully there?

Or perhaps try switching to the discrete (AMD) device with

sudo aticonfig --px-dgpu

OK I tried to force X to use the ATI card. When I do that X will no longer start.

I’ve put the log up on pastebin:
http://pastebin.com/cj91dfQT

The ATI drivers seem to be causing a seg fault.

How did you do that? Using ‘aticonfig --intial’?

The ATI drivers seem to be causing a seg fault.


    13.046] (EE) 
    13.046] (EE) Backtrace:
    13.046] (EE) 0: /usr/bin/Xorg (xorg_backtrace+0x48) [0x58c7c8]
    13.046] (EE) 1: /usr/bin/Xorg (0x400000+0x190809) [0x590809]
    13.046] (EE) 2: /lib64/libc.so.6 (0x7f8af16e9000+0x35200) [0x7f8af171e200]
    13.046] (EE) 3: /usr/lib64/xorg/modules/drivers/intel_drv.so (0x7f8aeed5d000+0x150c0) [0x7f8aeed720c0]
    13.046] (EE) 4: /usr/lib64/xorg/modules/drivers/intel_drv.so (0x7f8aeed5d000+0x10ff99) [0x7f8aeee6cf99]
    13.046] (EE) 5: /usr/lib64/xorg/modules/drivers/intel_drv.so (0x7f8aeed5d000+0x1104f8) [0x7f8aeee6d4f8]
    13.046] (EE) 6: /usr/lib64/xorg/modules/drivers/fglrx_drv.so (xdl_xs116_atiddxPxScreenInit+0x72) [0x7f8aef89b022]
    13.046] (EE) 7: /usr/lib64/xorg/modules/drivers/fglrx_drv.so (xdl_xs116_atiddxScreenInit+0x1263) [0x7f8aef877553]
    13.046] (EE) 8: /usr/bin/Xorg (AddScreen+0x71) [0x43bb81]
    13.046] (EE) 9: /usr/bin/Xorg (InitOutput+0x3a7) [0x47cae7]
    13.046] (EE) 10: /usr/bin/Xorg (0x400000+0x3f50b) [0x43f50b]
    13.046] (EE) 11: /lib64/libc.so.6 (__libc_start_main+0xf5) [0x7f8af170ab05]
    13.046] (EE) 12: /usr/bin/Xorg (0x400000+0x2acfe) [0x42acfe]
    13.046] (EE) 
    13.046] (EE) Segmentation fault at address 0x18
    13.046] (EE) 
Fatal server error:
    13.046] (EE) Caught signal 11 (Segmentation fault). Server aborting
    13.046] (EE) 
    13.047] (EE)

Yes, they don’t seem to be playing nice with your hardware. It happens very late in the sequence of events though.

Yes, before I could run “aticonfig --px-dgpu”, I had to run “aticonfig --initial”.

Edit: It is odd that the drivers are suddenly causing so much trouble. They were working fine on openSUSE 13.1.

I guess it could be related to kernel version. I don’t think it will make any difference, but for hybrid graphics, I’ve seen it recommended to use

aticonfig --adapter=all --initial

Then reboot. (You’d need to remove the existing xorg.conf first though.)