Bug 64850

Summary: Second screen black on Pitcairn PRO
Product: DRI Reporter: Jakob Nixdorf <flocke>
Component: DRM/RadeonAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium CC: akb825, me, niels_ole, trinita.andropos
Version: XOrg git   
Hardware: Other   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
dmesg | grep drm right after boot (no X11)
none
dmesg | grep drm after X11 start
none
xorg log
none
dmesg | grep drm after xrandr
none
ROM Dump
none
possible fix 1/2
none
possible fix 2/2 none

Description Jakob Nixdorf 2013-05-22 06:04:39 UTC
Created attachment 79637 [details]
dmesg | grep drm right after boot (no X11)

I just installed my new Pitcairn PRO card (Radeon 7850) in my PC.

Every time I boot into linux (Arch Linux x86_64) my second monitor turns black right at boot.
There are no errors and I can even start X11 with my dual-monitor configuration and move the mouse from my first screen to the right. It is as if the screen is there, only my monitor doesn't show it.

This happens not in X11, in fact the secend screen goes black as soon as the kernel/kms is loaded.

I attached the output of 'dmesg | grep drm' with the drm.debug=15 kernel option right after booting and befor starting X11 and I will attach the same commands output after running X11.
Comment 1 Jakob Nixdorf 2013-05-22 06:05:26 UTC
Created attachment 79638 [details]
dmesg | grep drm after X11 start
Comment 2 Jakob Nixdorf 2013-05-22 06:20:00 UTC
Forgot some information, as always ;)

I tried it with a self-build kernel 3.10-rc2 and the Arch Linux stock 3.9.3, both with the same result. Will try some older kernels soon.
Comment 3 Jakob Nixdorf 2013-05-22 08:17:45 UTC
Update:

I tested the Arch Linux kernels 3.9.2 and 3.8.11 with the same result.

And, in case it is important, I noticed this line in dmesg:

[    3.169540] radeon 0000:01:00.0: Invalid ROM contents

I hope this can help further.
Comment 4 Alex Deucher 2013-05-22 12:44:41 UTC
Please attach your xorg log.
Comment 5 Alex Deucher 2013-05-22 12:56:23 UTC
Is it the HDMI monitor that's not working?  If so, try setting radeon.audio=0 on the kernel command line in grub.
Comment 6 Jakob Nixdorf 2013-05-22 16:32:46 UTC
I will upload my xorg log as soon as possible. But I think its a DRM or KMS issue, since it already happens before I start X (no TTY on the second screen at boot after KMS starts).

And no, its not the HDMI screen, its the one connected via DVI.
Comment 7 Alex Deucher 2013-05-22 16:37:39 UTC
Does manually turning the problematic monitor off/on or picking a different mode with xrandr help?
Comment 8 Jakob Nixdorf 2013-05-22 16:43:36 UTC
Created attachment 79671 [details]
xorg log
Comment 9 Jakob Nixdorf 2013-05-22 16:57:50 UTC
Ok, i tested a few things:

Turning the monitor off/on dosen't do anything, its still black.

Using xrandr to change the mode causes the first monitor to also turn black, I will upload the output of "dmesg | grep drm" after the xrandr command, Xorg.0.log doesn't say anything new.

The output of the xrandr command itself (with --verbose) is:

crtc 1: disable
screen 0: 2960x1050 780x277 mm  96.28dpi
crtc 1:    1280x1024   75.0 +1680+0 "DVI-0"
Comment 10 Jakob Nixdorf 2013-05-22 16:58:28 UTC
Created attachment 79672 [details]
dmesg | grep drm after xrandr
Comment 11 Alex Deucher 2013-05-22 17:01:17 UTC
(In reply to comment #9)
> Ok, i tested a few things:
> 
> Turning the monitor off/on dosen't do anything, its still black.

sorry, I meant using xrandr; e.g., 

xrandr --output DVI-0 --off
xrandr --output DVI-0 --auto
Comment 12 Alex Deucher 2013-05-22 17:04:41 UTC
Can you also try booting with only one monitor connected?  Does the DVI monitor work in that case?  Also try booting with one monitor connected and then add the second one after X is started and see if both are enabled properly in that case.
Comment 13 Alex Deucher 2013-05-22 17:06:27 UTC
Do both heads work properly if you temporarily remove your xorg.conf?
Comment 14 Jakob Nixdorf 2013-05-22 17:07:02 UTC
'xrandr --output DVI-0 --off' causes the first screen (HDMI-0) to turn black too, and the DVI screen gets really switched off (monitor switches to standby).

Blind-typing 'xrandr --output DVI-0 --auto' turns the DVI screen back on (still only a black screen) and the HDMI screen also stays black.
Comment 15 Jakob Nixdorf 2013-05-22 17:24:22 UTC
Nothing of the things you suggested worked.

Without xorg.conf the problem is still present.

Booting with only DVI-0 plugged in works fine.
If I plug in HDMI-0 with X11 running everything stays the same and the HDMI monitor says "No signal", when I try to activate it via xrandr both monitors switch to black.
If I plug in HDMI-0 in TTY the TTY is switched to the HDMI monitor and the DVI monitor goes black.
Comment 16 Jakob Nixdorf 2013-05-23 14:51:03 UTC
I checkt again when the second monitor is switched off.

I booted with radeon.modeset=0, which caused the radeon module to not be loaded since I don't have UMS support in my kernel. With this both monitors work and I can get a TTY on both.
But as soon as I run 'modprobe -v radeon modeset=1' the second monitor is switched off to black.
Comment 17 Jakob Nixdorf 2013-05-24 06:43:21 UTC
Created attachment 79737 [details]
ROM Dump

I played around some more. I compiled my kernel with UMS enabled and booted with 'radeon.modeset=0' which resultet in the 'radeon' module beeing loaded successful and without the 'Invalid ROM contents' error. Also both screens are active in the TTY.
After running 'rmmod radeon && modprobe -v radeon modeset=1' the DVI-0 screen goes black again and the TTY is only shown on HDMI-0. Also the 'Invalid ROM contents' error shows up again.

Additionally I made a dump of the ROM ('echo 1 > /sys/bus/pci/devices/0000:01:00.0/rom && cat /sys/bus/pci/devices/0000:01:00.0/rom > rom-dump'), because this error somehow bugs me ;) maybe it can help.
Comment 18 Jakob Nixdorf 2013-05-28 08:38:00 UTC
New update: It seems to have nothing to do with the connectors that are used.
I just got my mini-DisplayPort to DVI adapter and tested it. No combination works (HDMI+mDP, DVI+mDP, HDMI+DVI) the second screen is always black.
Comment 19 akb825 2013-05-30 03:43:17 UTC
I have a Radeon 7870 and I have the same problem: the desktop extends as if there are 2 monitors, but the second monitor is always black. I have both monitors plugged into DVI ports (DVI-0 and DVI-1), and xrandr correctly recognizes both monitors as being present as well as all of their display modes, but whenever I try to change the display to one monitor or the other it will only ever display on the monitor plugged into DVI-0.

When I go through the display settings tool in XFCE (which I'm assuming is just a UI around xrandr) it correctly shows both monitors, but whenever I try to adjust the second monitor's resolution or disable the second monitor it completely corrupts the display (showing a striped pattern on the first monitor, second monitor is still black) and the only way to recover is to reboot. I can switch to a tty terminal and blindly type commands, but when I attempted to shut down my display manager daemon and unload the radeon module nothing happened, though since the display was corrupted I couldn't see if either of the commands failed. Adjusting the resolution of the first monitor works correctly.

One thing to note is whenever I start xorg, the following gets printed several times to the error log:
May 29 20:27:31 localhost kernel: [  199.484959] radeon 0000:02:00.0: bo ffff8801ad899400 don't has a mapping in vm ffff8801affc6980

I am also using 64-bit Arch Linux, running under kernel 3.9.4 and xorg 1.14.1.
Comment 20 Jakob Nixdorf 2013-07-03 12:44:52 UTC
Just FYI:
This bug is still present with kernel 3.10.0 and the newest firmware from git.
Comment 21 Niels Ole Salscheider 2013-07-04 16:17:59 UTC
Does it work for you with older kernels? If so, can you bisect?

I wonder if this is the same as https://bugzilla.kernel.org/show_bug.cgi?id=58121 .
Comment 22 Jakob Nixdorf 2013-07-05 08:12:06 UTC
I tried every kernel since 3.8.11 and will try some older ones later today.
Are any versions of special interest that I can try them first?
Comment 23 Jakob Nixdorf 2013-07-14 17:22:44 UTC
Just tested the first kernel with RadeonSI support (3.4.0 to my knowledge) with the same result.
Second screen stays black in TTY and in Xorg.
Comment 24 Jakob Nixdorf 2013-07-15 07:43:40 UTC
Update: Problem still exists on kernel 3.11-rc1.
Comment 25 Alex Deucher 2013-07-15 16:35:45 UTC
*** Bug 66934 has been marked as a duplicate of this bug. ***
Comment 26 Alex Deucher 2013-08-19 17:14:19 UTC
Created attachment 84273 [details] [review]
possible fix 1/2

seems to be a problem with the line buffer setup on certain boards.  Please try this patch set.
Comment 27 Alex Deucher 2013-08-19 17:14:58 UTC
Created attachment 84274 [details] [review]
possible fix 2/2

Please apply both patches.
Comment 28 Alexei Panov 2013-08-19 18:43:19 UTC
This patchset works for me.
HD7870 GHz Edition
kernel-3.11.0-0.rc5.git6.2.fc20
Comment 29 Jakob Nixdorf 2013-08-19 20:48:53 UTC
Applied the two patches on top of 3.11-rc6 and everything works fine.

Thank you, now I can finally nuke fglrx and still work with dual screen :)
Comment 30 George Emigh 2013-09-16 20:28:48 UTC
Had the same problem with XFX R7750 Core Edition 1G (ATI Cape Verde PRO [Radeon HD 7750])

I applied the patches found in this bug report to 3.11.0-gentoo kernel, they seemed to apply fine and now I have 2 working displays.

Thank you very much.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.