Xorg Segfault with AMD/Intel Hybrid on 13.2 using fglrx

Hi,

I’m having trouble with my HP Zbook 14 running a Radeon 8700M hybrid graphics card. I’m trying to use fglrx driver, because both the intel and radeon drivers are having issues with my docking station (I’ll create another post about this).
Essentially I’m getting a segfault for xorg every time I try to run Xorg using the fglrx driver.

I’m running 13.2 with the driver installed from
http://geeko.ioda.net/mirror/amd-fglrx/openSUSE_13.2/
below some relevant info:

hwinfo:

AMD:


32: PCI 300.0: 0300 VGA compatible controller (VGA)
  [Created at pci.328]
  Unique ID: svHJ.bWk0rLuvND0
  Parent ID: QSNP.8vbtNHo8HI6
  SysFS ID: /devices/pci0000:00/0000:00:1c.4/0000:03:00.0
  SysFS BusID: 0000:03:00.0
  Hardware Class: graphics card
  Model: "ATI Mars [Radeon HD 8500/8700M Series]"
  Vendor: pci 0x1002 "ATI Technologies Inc"
  Device: pci 0x6601 "Mars [Radeon HD 8500/8700M Series]"
  SubVendor: pci 0x103c "Hewlett-Packard Company"
  SubDevice: pci 0x2100 
  Driver: "radeon"
  Driver Modules: "drm"
  Memory Range: 0xb0000000-0xbfffffff (ro,non-prefetchable)
  Memory Range: 0xd0500000-0xd053ffff (rw,non-prefetchable)
  I/O Ports: 0x3000-0x3fff (rw)
  Memory Range: 0xd0560000-0xd057ffff (ro,non-prefetchable,disabled)
  IRQ: 63 (5 events)
  Module Alias: "pci:v00001002d00006601sv0000103Csd00002100bc03sc00i00"
  Driver Info #0:
    Driver Status: radeon is active
    Driver Activation Cmd: "modprobe radeon"
  Driver Info #1:
    Driver Status: fglrx is not active
    Driver Activation Cmd: "modprobe fglrx"
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #25 (PCI bridge)


Intel:

17: PCI 02.0: 0300 VGA compatible controller (VGA)
  [Created at pci.328]
  Unique ID: _Znp.YsKhRpWH7JB
  SysFS ID: /devices/pci0000:00/0000:00:02.0
  SysFS BusID: 0000:00:02.0
  Hardware Class: graphics card
  Device Name: "256"
  Model: "Intel Haswell-ULT Integrated Graphics Controller"
  Vendor: pci 0x8086 "Intel Corporation"
  Device: pci 0x0a16 "Haswell-ULT Integrated Graphics Controller"
  SubVendor: pci 0x103c "Hewlett-Packard Company"
  SubDevice: pci 0x198f 
  Revision: 0x09
  Driver: "i915"
  Driver Modules: "drm"
  Memory Range: 0xd0000000-0xd03fffff (rw,non-prefetchable)
  Memory Range: 0xc0000000-0xcfffffff (ro,non-prefetchable)
  I/O Ports: 0x4000-0x403f (rw)
  IRQ: 61 (11675 events)
  Module Alias: "pci:v00008086d00000A16sv0000103Csd0000198Fbc03sc00i00"
  Driver Info #0:
    Driver Status: i915 is active
    Driver Activation Cmd: "modprobe i915"
  Config Status: cfg=no, avail=yes, need=no, active=unknown

relevant bit from /var/log/Xorg.0.log


   194.400] (==) fglrx(0): Backing store enabled
   194.400] (==) fglrx(0): Silken mouse enabled
   194.400] (II) fglrx(0): Initializing HW Cursor
   194.400] (II) fglrx(0): RandR 1.2 enabled, ignore the following RandR disabled message.
   194.400] (**) fglrx(0): DPMS enabled
   194.400] (==) fglrx(0): Intel XvMC decoder enabled
   194.401] (II) fglrx(0): Set up textured video
   194.401] (II) fglrx(0): [XvMC] xvmc_vld driver initialized.
   194.401] (II) fglrx(0): DRI2: Enabled
   194.401] (II) fglrx(0): DRI3: Enabled
   194.401] (WW) fglrx(0): Option "VendorName" is not used
   194.401] (WW) fglrx(0): Option "ModelName" is not used
   194.401] (WW) fglrx(0): Option "Shadow" is not used
   194.401] (WW) fglrx(0): Option "Tiling" is not used
   194.401] (WW) fglrx(0): Option "LinearFramebuffer" is not used
   194.401] (==) fglrx(0): hotplug detection: "enabled"
   194.401] (EE) 
   194.401] (EE) Backtrace:
   194.401] (EE) 0: /usr/bin/Xorg (xorg_backtrace+0x48) [0x58c238]
   194.401] (EE) 1: /usr/bin/Xorg (0x400000+0x190219) [0x590219]
   194.401] (EE) 2: /lib64/libc.so.6 (0x7fab9b545000+0x35170) [0x7fab9b57a170]
   194.401] (EE) 3: /usr/lib64/xorg/modules/drivers/intel_drv.so (0x7fab98ccd000+0x15260) [0x7fab98ce2260]
   194.401] (EE) 4: /usr/lib64/xorg/modules/drivers/intel_drv.so (0x7fab98ccd000+0x1102a9) [0x7fab98ddd2a9]
   194.401] (EE) 5: /usr/lib64/xorg/modules/drivers/intel_drv.so (0x7fab98ccd000+0x11083c) [0x7fab98ddd83c]
   194.401] (EE) 6: /usr/lib64/xorg/modules/drivers/fglrx_drv.so (xdl_xs116_atiddxPxScreenInit+0x72) [0x7fab997daa82]
   194.401] (EE) 7: /usr/lib64/xorg/modules/drivers/fglrx_drv.so (xdl_xs116_atiddxScreenInit+0x11fa) [0x7fab997b73ba]
   194.401] (EE) 8: /usr/bin/Xorg (AddScreen+0x71) [0x43b9e1]
   194.401] (EE) 9: /usr/bin/Xorg (InitOutput+0x3a7) [0x47c8d7]
   194.401] (EE) 10: /usr/bin/Xorg (0x400000+0x3f36b) [0x43f36b]
   194.401] (EE) 11: /lib64/libc.so.6 (__libc_start_main+0xf5) [0x7fab9b566b45]
   194.401] (EE) 12: /usr/bin/Xorg (0x400000+0x2ac2e) [0x42ac2e]
   194.401] (EE) 
   194.401] (EE) Segmentation fault at address 0x18
   194.401] (EE) 
Fatal server error:
   194.401] (EE) Caught signal 11 (Segmentation fault). Server aborting
   194.401] (EE) 
   194.401] (EE) 
Please consult the The X.Org Foundation support 
         at http://wiki.x.org
 for help. 
   194.401] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
   194.401] (EE) 

Full log: http://pastebin.com/UFL5CVBB

 cat /etc/X11/xorg.conf

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 "Device"
        Identifier  "aticonfig-Device[0]-0"
        Driver      "fglrx"
        BusID       "PCI:3:0:0"
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

Anyone encountered similar issues or has ideas on how to further debug this?

Cheers
Jochen

Seems to be the intel driver crashing.

No idea how to debug or “fix” this though.

Maybe try to set “nomodeset” to disable the intel driver completely?
No idea whether this will work on a hybrid system though.

Or try to disable the intel GPU in the BIOS settings if possible.

I got exactly the same problems on my HP Elitebook 840 G1.
I also have not luck getting hybrid graphics to work with radeon/intel and vgaswitcheroo. Always getting the


  569.372534] vga_switcheroo: client 0 refused switch

message. Any leads on that?

How are you using vga switcheroo? I don’t have my laptop here at the moment, but I think swicheroo was working correctly using the radeon driver. Regarding the fglrx driver, I think I’ll submit a bug report.

Ok I just checked with my laptop and you’re correct I can’t switch either. Now the error message you see seems to be related to pulseaudio. If I kill pulseaudio before trying to switch, the switching works. Well actually the display becomes unresponsive and I have to reboot.

I did try DRI_PRIME and the /sys/kernel/debug/vgaswitcheroo/switch method. No Luck anyways.
Using

echo DDIS > /sys/kernel/debug/vgaswitcheroo/switch

only results in a black screen after X-restart

Concerning the fglrx driver I found this:

For using DRI_PRIME with opensource drivers there is already a bug submitted:
http://bugzilla.opensuse.org/show_bug.cgi?id=905565