You are not logged in.

#1 2014-07-02 15:56:22

jolivier
Member
Registered: 2012-05-30
Posts: 19

Cannot detect outputs on dual graphic card configuration

Hi,

I have a Dell Precision M6800 which has these graphic cards:

00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Saturn XT [FirePro M6100]

My ATI graphic card is supported by the xf86-video-ati driver based on http://www.x.org/wiki/RadeonFeature/ .

Since I have multiple cards, I followed the instructions of https://wiki.archlinux.org/index.php/PRIME and I have

DRI_PRIME=1 glxinfo | grep "OpenGL renderer"
OpenGL renderer string: Gallium 0.4 on AMD BONAIRE

But when I plug my screen using my laptop display port, I don't see it in xrandr:

  
Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767
eDP1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 382mm x 215mm
   1920x1080     60.01*+
   1400x1050     59.98  
   1280x1024     60.02  
   1280x960      60.00  
   1024x768      60.00  
   800x600       60.32    56.25  
   640x480       59.94  
VGA2 disconnected (normal left inverted right x axis y axis)
DP4 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

If I plug this screen on the VGA output, it is detected but the maximum resolution allowed by xrandr is 1920x1080 and my screen is a 2560x1080 so the image is stretched hmm.
My guess is that xrandr sees only the output of my intel card, how can I have it see the outputs supported by my ATI card?

I also guess that my radeon card is not powered up, because cat /sys/kernel/debug/dri/0/radeon_pm_info gives me.

PX asic powered off

I tried DRI_PRIME=1 glxgears and that made me crash my X server with a segfault

[   554.701] (EE) 
[   554.701] (EE) Backtrace:
[   554.701] (EE) 0: /usr/bin/X (xorg_backtrace+0x56) [0x58f186]
[   554.701] (EE) 1: /usr/bin/X (0x400000+0x192fc9) [0x592fc9]
[   554.701] (EE) 2: /usr/lib/libpthread.so.0 (0x7fb2738f1000+0xf4b0) [0x7fb2739004b0]
[   554.701] (EE) 3: /usr/lib/xorg/modules/drivers/intel_drv.so (0x7fb26d165000+0x1034a8) [0x7fb26d2684a8]
[   554.701] (EE) 4: /usr/bin/X (0x400000+0x15ea73) [0x55ea73]
[   554.701] (EE) 5: /usr/bin/X (0x400000+0x15f843) [0x55f843]
[   554.701] (EE) 6: /usr/bin/X (DRI2GetBuffersWithFormat+0xb) [0x55fc8b]
[   554.701] (EE) 7: /usr/bin/X (0x400000+0x16172b) [0x56172b]
[   554.701] (EE) 8: /usr/bin/X (0x400000+0x36b2f) [0x436b2f]
[   554.701] (EE) 9: /usr/bin/X (0x400000+0x3ad16) [0x43ad16]
[   554.701] (EE) 10: /usr/lib/libc.so.6 (__libc_start_main+0xf0) [0x7fb27255e000]
[   554.701] (EE) 11: /usr/bin/X (0x400000+0x250fe) [0x4250fe]
[   554.701] (EE) 

Its a bad sign, but I'm fine if we find a workaround to only use the radeon card. What I can read from the Xorg log files before this crash is the following:

[   545.834] (II) RADEON(G0): Printing probed modes for output DisplayPort-1-0
[   545.834] (II) RADEON(G0): Modeline "2560x1080"x60.0  185.58  2560 2624 2688 2784  1080 1083 1093 1111 +hsync -vsync (66.7 kHz eP)

So my radeon detects this mode, I just don't see it in xrandr and don't know how to use it. I tried DRI_PRIME=1 xrandr but saw no difference with a standard xrandr.

Additional information:
dmesg|grep radeon gives me

dmesg|grep radeon                                                                                
[    5.097162] [drm] radeon kernel modesetting enabled.
[    5.118130] radeon 0000:01:00.0: enabling device (0000 -> 0003)
[   10.764770] radeon 0000:01:00.0: VRAM: 2048M 0x0000000000000000 - 0x000000007FFFFFFF (2048M used)
[   10.764772] radeon 0000:01:00.0: GTT: 1024M 0x0000000080000000 - 0x00000000BFFFFFFF
[   10.764852] [drm] radeon: 2048M of VRAM memory ready
[   10.764853] [drm] radeon: 1024M of GTT memory ready.
[   10.766910] [drm] radeon/BONAIRE_mc2.bin: 31792 bytes
[   10.774998] [drm] radeon: dpm initialized
[   10.782479] radeon 0000:01:00.0: WB enabled
[   10.782490] radeon 0000:01:00.0: fence driver on ring 0 use gpu addr 0x0000000080000c00 and cpu addr 0xffff8807ff9e9c00
[   10.782491] radeon 0000:01:00.0: fence driver on ring 1 use gpu addr 0x0000000080000c04 and cpu addr 0xffff8807ff9e9c04
[   10.782492] radeon 0000:01:00.0: fence driver on ring 2 use gpu addr 0x0000000080000c08 and cpu addr 0xffff8807ff9e9c08
[   10.782493] radeon 0000:01:00.0: fence driver on ring 3 use gpu addr 0x0000000080000c0c and cpu addr 0xffff8807ff9e9c0c
[   10.782494] radeon 0000:01:00.0: fence driver on ring 4 use gpu addr 0x0000000080000c10 and cpu addr 0xffff8807ff9e9c10
[   10.782874] radeon 0000:01:00.0: fence driver on ring 5 use gpu addr 0x0000000000076c98 and cpu addr 0xffffc9000a336c98
[   10.783472] radeon 0000:01:00.0: fence driver on ring 6 use gpu addr 0x0000000080000c18 and cpu addr 0xffff8807ff9e9c18
[   10.783473] radeon 0000:01:00.0: fence driver on ring 7 use gpu addr 0x0000000080000c1c and cpu addr 0xffff8807ff9e9c1c
[   10.783487] radeon 0000:01:00.0: irq 46 for MSI/MSI-X
[   10.783496] radeon 0000:01:00.0: radeon: using MSI.
[   10.783516] [drm] radeon: irq initialized.
[   11.056307] radeon 0000:01:00.0: No connectors reported connected with modes
[   11.057358] radeon 0000:01:00.0: fb1: radeondrmfb frame buffer device
[   11.057360] radeon 0000:01:00.0: registered panic notifier
[   11.058383] [drm] Initialized radeon 2.38.0 20080528 for 0000:01:00.0 on minor 0

Anyone knows how to be able to use this new screen with my radeon card?

Thanks in advance!

Last edited by jolivier (2014-07-02 16:02:01)

Offline

#2 2014-07-03 08:20:14

jolivier
Member
Registered: 2012-05-30
Posts: 19

Re: Cannot detect outputs on dual graphic card configuration

Ok I found a solution by changing my Xorg configuration and added my radeon card (although the wiki states that is should be useless)

Section "Device"
    Identifier "Radeon"
    Driver "radeon"
	BusId "PCI:1:0:0"
EndSection

Section "Monitor"
  Identifier "DisplayPort-1"
EndSection
Section "Monitor"
  Identifier "DisplayPort-2"
EndSection
Section "Monitor"
  Identifier "eDP1"
EndSection

Section "Screen"
  Identifier "Screen0"
  Device "Radeon"
  Monitor "DisplayPort-2"
  SubSection "Display"
	Depth 24
	Modes "2560x1080"
  EndSubSection
EndSection
Section "Screen"
  Identifier "Screen1"
  Device "Radeon"
  Monitor "DisplayPort-1"
  SubSection "Display"
	Depth 24
	Modes "1920x1080"
  EndSubSection
EndSection
Section "Screen"
  Identifier "Screen2"
  Device "Intel"
  Monitor "eDP1"
  SubSection "Display"
	Depth 24
	Modes "1920x1080"
  EndSubSection
EndSection

Section "ServerLayout"
  Identifier "Default Layout"
  Screen 0 "Screen0"
  Screen 1 "Screen1" RightOf "Screen0"
  Screen 2 "Screen2" RightOf "Screen1"
EndSection

(I plugged two external screens to my DirectPort ports).
This works but I then have two different screens (:0.0 and :0.1) and the intel drivers keeps on segfaulting when I use them together or when I try xinerama. So I disabled my intel monitor and screen and everything is fine except the fact that I cannot use my laptop screen with my radeon card so I am left with only two screens out of 3 but I will investigate more this issue deeper later on.

Offline

Board footer

Powered by FluxBB