Bug 94171

Summary: ati multihead black on one output
Product: Drivers Reporter: Felix Miata (mrmazda)
Component: Video(DRI - non Intel)Assignee: drivers_video-dri
Status: NEW ---    
Severity: normal CC: alexdeucher, deathsimple, john.wyzer
Priority: P1    
Hardware: x86-64   
OS: Linux   
Kernel Version: 3.16, 3.19, 4.0rc1 Subsystem:
Regression: Yes Bisected commit-id:
Attachments: dmesg using cedar and 3.19.0 with drm.debug=0x0E on cmdline
possible fix
Xorg.0.log F23 on big41, black DVI 1920x1080 output

Description Felix Miata 2015-03-03 06:53:43 UTC
Created attachment 168641 [details]
dmesg using cedar and 3.19.0 with drm.debug=0x0E on cmdline

ATI mailing list http://lists.x.org/archives/xorg-driver-ati/2015-February/027079.html response suggested I file this and that bug 91861 might be related, so I used that bug as a guide to choosing input fields here. I'm just a user/tester who does not build. http://marc.info/?l=linux-ide&m=142517892627960&w=2 explains that booting test machine to openSUSE 13.2 3.16.7, openSUSE Tumbleweed 3.19.0 and Rawhide 4.0.0.rc1 is currently somewhat painful due to long boot delay.

Cut and paste from mailing list:

[paste]
Whether starting X including this:
xrandr --dpi 144 --output DVI-0 --mode 1920x1080 --above VGA-0 --output VGA-0 --primary --mode 1920x1440 # ati dual

works or not depends on which Radeon gfxcard used, and how new the software.

The cards' info:
http://fm.no-ip.com/Tmp/Linux/Xorg/ATIdual/hwinfo-gfx-rv380fan.txt X600
http://fm.no-ip.com/Tmp/Linux/Xorg/ATIdual/hwinfo-gfx-rv516.txt X1300
http://fm.no-ip.com/Tmp/Linux/Xorg/ATIdual/hwinfo-gfx-cedarPC-big41.txt

rv380 works as expected regardless at least as far back as openSUSE 13.1 k3.12.
openSUSE Tumbleweed 3.19.0:
http://fm.no-ip.com/Tmp/Linux/Xorg/ATIdual/xorg.0.log-under1440xover1080-rv380fan-OK

cedar works as expected as recently as Mageia 4 k3.12 and openSUSE 13.1 k3.12:
http://fm.no-ip.com/Tmp/Linux/Xorg/ATIdual/xorg.0.log-under1440over1080-os131-cedarOK
http://fm.no-ip.com/Tmp/Linux/Xorg/ATIdual/xorg.0.log-under1440-over1080-mag4-cedarOK

Failures in the form of black screen on only one output using rv516 and cedar in the following:
Fedora 20 k3.17.7 cedar (black VGA):
http://fm.no-ip.com/Tmp/Linux/Xorg/ATIdual/xorg.0.log-under1440bad-over1080OK-f20-cedar
openSUSE 13.2 k3.16.7 cedar (black VGA):
http://fm.no-ip.com/Tmp/Linux/Xorg/ATIdual/xorg.0.log-under1440bad-over1080OK-os132-cedar
Fedora 21 cedar (black VGA):
http://fm.no-ip.com/Tmp/Linux/Xorg/ATIdual/xorg.0.log-under1440bad-over1080OK-cedarF21-k3177
http://fm.no-ip.com/Tmp/Linux/Xorg/ATIdual/xorg.0.log-under1440bad-over1080OK-cedarF21-k3187
openSUSE Tumbleweed k3.19.0 rv516 (black DVI):
http://fm.no-ip.com/Tmp/Linux/Xorg/ATIdual/xorg.0.log-under1440OKxover1080bad-rv516
openSUSE Tumbleweed k3.19.0 cedar (black VGA):
http://fm.no-ip.com/Tmp/Linux/Xorg/ATIdual/xorg.0.log-under1440bad-over1080OK-cedar

All of above pertains to same system, with only changes made being:

1-which OS booted
2-which ATI gfxcard installed

With necessary xrandr output descriptors for Intel, results are as expected using onboard Intel gfx instead of ATI PCIe cards.

On cedar in Tumbleweed at least, dropping analog output mode from 1920x1440 to 1600x1200 produces expected output. 
[/paste]

Dropping analog output mode from 1920x1440 to 1600x1200 on rv516 in Tumbleweed 3.19.0 does not help. With rv516, Rawhide 4.0.0rc1.gt2.1 produces boot tty1 oopses instead of booting if both video cables are connected, boots normally with only VGA cable connected, and locks up after 32 seconds with only DVI cable connected.
Comment 1 Alex Deucher 2015-03-03 14:00:16 UTC
Created attachment 168731 [details]
possible fix

Please make sure your kernel has this patch:
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=72edd83cc9e5819ed1ee771519143d7594e059f0

Then apply this kernel patch on top of it.
Comment 2 Felix Miata 2015-03-15 05:23:07 UTC
Using the HD from the comment 0 system with the same cedar PCIe card installed in a slightly older P965 system , which has no onboard Intel gfx, both VGA-0 and DVI-0 outputs remain functional in X also with Mageia 4's kernel 3.14.32, as well as with all installations reported in comment 0, just as when using x600. IOW, no failures of x600 or cedar in the P965 system regardless of kernel.

Using the same x1300 in the P965 however, DVI-0 in X is always black and VGA-0 in X always works, in the installations using kernels newer than 3.14.32.

I subsequently retested the comment 0 system with the 2 of the same 3 ATI cards, but using a HD cloned from the original. Instead of using the same rv370 x600 of the original 3 I used an rv380 x600. Only the x1300 failed to produce X output on DVI-0, and only with kernels newer than 3.14.2, matching the behavior of the P965 system with all 3 ATI cards.
Comment 3 Alex Deucher 2015-03-15 22:04:13 UTC
The fix works.  Tested by another user on this bug:
https://bugs.freedesktop.org/show_bug.cgi?id=89505
Just waiting for feedback from Christian.
Comment 4 Felix Miata 2015-10-14 09:45:46 UTC
Installed in a B85/Haswell/G3220 machine, the Cedar works as expected in openSUSE Tumbleweed with kernel 4.2.1 and openSUSE 13.1 with kernel 3.12.44 using:
xrandr --dpi 120 --output DVI-0 --mode 1920x1080 --above VGA-0 --output VGA-0 --primary --mode 1680x1050 # ati dual
but using X600 or X1300, both displays go black.

With Fedora 23, Plasma 5 and kernel 4.2.2, with X1300 the 1680x1050 screen on VGA-0 works as expected but the 1920x1080 screen on DVI-0 is black. With X600 and Cedar, all 1920x2130 works as expected.

Using
xrandr --dpi 120 --output HDMI1 --mode 1920x1080 --above VGA1 --output VGA1 --primary --mode 1680x1050 # intel dual
with the onboard video instead of X600, X1300 or Cedar, all OS/kernel combinations tried run Xorg as expected.
Comment 5 Felix Miata 2016-03-19 02:22:04 UTC
Created attachment 209811 [details]
Xorg.0.log F23 on big41, black DVI 1920x1080 output

On host big 41 in Fedora 21 with KDE4 and kernel 4.1.13 on Cedar booting multi-user.target, using startx and
xrandr --dpi 144 --output DVI-0 --mode 1920x1080 --above VGA-0 --output VGA-0 --primary --mode 1680x1050
both LCD screens play Xorg as expected, 1920x2130.

With
xrandr --dpi 144 --output DVI-0 --mode 1920x1080 --above VGA-0 --output VGA-0 --primary --mode 1920x1440
Xorg runs the LCD, where xrandr reports 1920x2520, as expected, but turns the CRT black. If I append --rate 75, which isn't required for expected results with Intel 4 Series or NVidia G84 gfxchips, then both displays work, comprising 1920x2520 as expected.

Still with CRT on VGA and LCD on DVI, startx with
xrandr --dpi 120 --output DVI-0 --mode 1920x1080 --above VGA-0 --output VGA-0 --primary --mode 1600x1200
produces 1920x2280 as expected in Xorg - no --rate parameter is required.

Fedora 23 with KDE5 and kernel 4.4.3 on same host with same three displays and Cedar mirrors exactly as herein described for Fedora 21.

Replacing the Cedar in big41 with rv516 X1300, and still using F23,
xrandr --dpi 144 --output DVI-0 --mode 1920x1080 --above VGA-0 --output VGA-0 --primary --mode 1920x1440
keeps the DVI's LCD black while in Xorg's expected 1920x2520, but working as expected on the ttys, even with
xrandr --dpi 120 --output DVI-0 --mode 1920x1080 --above VGA-0 --output VGA-0 --primary --mode 1600x1200
and even if appending --rate. With rv516, lowering demand all the way to
xrandr --dpi 108 --output DVI-0 --mode 1280x720 --above VGA-0 --output VGA-0 --primary --mode 1280x1024
is required to see output on the DVI portion of 1280x1744 on the LCD.