Bug 199621
Summary: | iMac 2009, Mobility Radeon HD 4670: black screen on boot | ||
---|---|---|---|
Product: | Drivers | Reporter: | Florian Echtler (floe) |
Component: | Video(DRI - non Intel) | Assignee: | drivers_video-dri |
Status: | NEW --- | ||
Severity: | normal | CC: | alexdeucher, matthewtrescott |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 4.15.0-20 | Subsystem: | |
Regression: | No | Bisected commit-id: | |
Attachments: | strace log of xorg when I ran the command that fixes this problem |
Description
Florian Echtler
2018-05-04 07:57:25 UTC
Side note: this bug has been persisting since at least 4.11, I think the last time it worked was somewhere around kernel 4.8. Side note two: this is the 27" 2009 iMac model, the exact video card is: 02:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RV730/M96-XT [Mobility Radeon HD 4670] One more update, sorry for the noise: I've been digging through the old Ubuntu kernel release schedules, and I'm pretty sure that the display worked with 4.8, but started turning blank once I had updated to 4.10. Does that information help anyone to pinpoint the error? Can you bisect? I know how it's supposed to work in theory, I'll give it a try. Do you know if there's a kernel repository that also carries the Ubuntu patches? Created attachment 276935 [details]
strace log of xorg when I ran the command that fixes this problem
I have a 21.5-inch Mid-2010 iMac with the same Mobility Radeon HD 4670 GPU. It also exhibits this problem (the solution in #100301 doesn't work either); however I can temporarily fix it by running the following command (I had to type it blindly because it won't work over SSH):
xrandr -d :0 --output eDP-1 --crtc 1
After which everything works well, including backlight control via /sys/class/backlight/radeon_bl0/brightness. The fix does not persist across reboots or even across log-out/log-in cycles (I guess the handoff between Xorg and radeondrmfb triggers some sort of reset and the problem comes back).
I'm on kernel 4.17.2 (Arch Linux). I'm no Linux graphics expert, but I did capture an strace of all the ioctl calls from Xorg during while running the above command as well as monitoring sysfs with inotifywait. Nothing relevant happened in sysfs, but there were a few interesting system calls from when I ran the command that I've attached.
I should note that that xrandr command, if run while the display is on, will turn it off. It seems to act as a sort of toggle. I compiled and installed Linux 4.8 using the Arch Linux scripts. It seemed to have no effect on this bug. There is something else strange here. Even if I run the command I mentioned above, xrandr --verbose always says that output eDP-1 is using CRTC 0. It never changes, even though the screen turns on and off. I suppose the X server uses some magic ioctl calls or something that fixes it when it tries to switch to CRTC 1. |