Summary: | Second screen black on Pitcairn PRO | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | DRI | Reporter: | Jakob Nixdorf <flocke> | ||||||||||||||||
Component: | DRM/Radeon | Assignee: | 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: |
|
Created attachment 79638 [details]
dmesg | grep drm after X11 start
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. 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. Please attach your xorg log. Is it the HDMI monitor that's not working? If so, try setting radeon.audio=0 on the kernel command line in grub. 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. Does manually turning the problematic monitor off/on or picking a different mode with xrandr help? Created attachment 79671 [details]
xorg log
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" Created attachment 79672 [details]
dmesg | grep drm after xrandr
(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 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. Do both heads work properly if you temporarily remove your xorg.conf? '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. 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. 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. 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.
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. 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. Just FYI: This bug is still present with kernel 3.10.0 and the newest firmware from git. 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 . 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? 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. Update: Problem still exists on kernel 3.11-rc1. *** Bug 66934 has been marked as a duplicate of this bug. *** 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. Created attachment 84274 [details] [review] possible fix 2/2 Please apply both patches. This patchset works for me. HD7870 GHz Edition kernel-3.11.0-0.rc5.git6.2.fc20 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 :) 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.
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.