FS#31668 - [linux] 3.5.4 ati radeon, kms enabled, black screen on boot
Attached to Project:
Arch Linux
Opened by Uli (Army) - Monday, 24 September 2012, 07:32 GMT
Last edited by Andreas Radke (AndyRTR) - Monday, 26 November 2012, 14:24 GMT
Opened by Uli (Army) - Monday, 24 September 2012, 07:32 GMT
Last edited by Andreas Radke (AndyRTR) - Monday, 26 November 2012, 14:24 GMT
|
Details
Description:
First of all, I know about https://bugs.archlinux.org/task/31264, but the behavior here is a bit different. At least I think so, becaue here it doesn't happen on _every_ boot. If I'm proven wrong, my apologies. This doesn't happen on _every_ boot, but about every 3-4 bootups. I use syslinux as a bootloader and systemd as init system. What I do is, I start the laptop, see syslinux's menu, but as soon as radeon is being loaded with kms (early method), the screen goes black. Then it boots (I see that it does on the disc activity control light) and tries to start X (in this moment I see the screen flicker for a short moment) and then it's done. This is possible because I configured systemd to automatically start X. What I did, when it just happened: I logged in blindly and ran "dmesg > dmesg_failed". Then I hit Ctrl+Alt+Del to reboot the machine. Then it worked. Again I ran "dmesg > dmesg_worked". Here are the log files: dmesg_failed: http://codepad.org/XQpJ6pQt dmesg_worked: http://codepad.org/Fu4pwl37 I looked through them and diff'ed them. The start of the boot process looks fine, the log files are the same. But two lines appear on the "worked"-log which aren't in the "failed"-log [ 15.515877] systemd[1]: tmp.mount: Directory /tmp to mount over is not empty, mounting anyway. (To see the over-mounted files, please manually mount the underlying file system to a secondary location.) [ 26.336230] [Firmware Bug]: ACPI: BIOS _OSI(Linux) query ignored I'm not sure if and how they can be related to the problem, but I think too much information is better than too little. The interesting part is right at the end of the "failed"-log, This is caused by the failed launch of X. [ 51.378213] radeon 0000:00:01.0: GPU lockup (waiting for 0x0000000000000004 last fence id 0x0000000000000001) [ 51.378236] [drm] Disabling audio support [ 51.379397] radeon 0000:00:01.0: GPU softreset [ 51.379406] radeon 0000:00:01.0: GRBM_STATUS=0xA0003828 [ 51.379413] radeon 0000:00:01.0: GRBM_STATUS_SE0=0x00000007 [ 51.379420] radeon 0000:00:01.0: GRBM_STATUS_SE1=0x00000007 [ 51.379428] radeon 0000:00:01.0: SRBM_STATUS=0x20020940 [ 51.536902] radeon 0000:00:01.0: Wait for MC idle timedout ! [ 51.536907] radeon 0000:00:01.0: GRBM_SOFT_RESET=0x00007F6B [ 51.537012] radeon 0000:00:01.0: GRBM_STATUS=0x00003828 [ 51.537015] radeon 0000:00:01.0: GRBM_STATUS_SE0=0x00000007 [ 51.537019] radeon 0000:00:01.0: GRBM_STATUS_SE1=0x00000007 [ 51.537022] radeon 0000:00:01.0: SRBM_STATUS=0x20020940 [ 51.538026] radeon 0000:00:01.0: GPU reset succeed [ 51.704859] radeon 0000:00:01.0: Wait for MC idle timedout ! [ 51.861889] radeon 0000:00:01.0: Wait for MC idle timedout ! [ 51.864715] [drm] PCIE GART of 512M enabled (table at 0x0000000000040000). [ 51.864825] radeon 0000:00:01.0: WB enabled [ 51.864832] radeon 0000:00:01.0: fence driver on ring 0 use gpu addr 0x0000000018000c00 and cpu addr 0xffff880138e50c00 [ 52.043389] [drm:r600_ring_test] *ERROR* radeon: ring 0 test failed (scratch(0x8500)=0xCAFEDEAD) [ 52.043395] [drm:evergreen_resume] *ERROR* evergreen startup failed on resume Looks like somebody on the forums has the same problem (found it by googling for "drm:evergreen_resume ERROR".) https://bbs.archlinux.org/viewtopic.php?pid=1163369#p1163369 No solution found there. Additional info: * package version(s) linux 3.5.4-1 systemd 191-1 (but had the issue with 189-1 as well) xf86-video-ati 1:6.14.6-1 * config and/or log files etc. dmesg_failed: http://codepad.org/XQpJ6pQt dmesg_worked: http://codepad.org/Fu4pwl37 Steps to reproduce: Boot up and see ... well, nothing ;) |
This task depends upon
I've "exactly" the same problem, at least the same symptom (also it's not at every boot). If I remember correctly, then this behavior has started with the systemd-setup ("A pure systemd installation"). I don't think, that the problem is related to...
"[ 15.515877] systemd[1]: tmp.mount: Directory /tmp to mount over is not empty, mounting anyway. (To see the over-mounted files, please manually mount the underlying file system to a secondary location.)
[ 26.336230] [Firmware Bug]: ACPI: BIOS _OSI(Linux) query ignored" [Army]
...because I don't get the first message, that /tmp will be mount in a non-empty folder (for me it's /var/log) and the second is the generic warning for a broken stock BIOS.
Right now for me it's more interesting, that I've got 3 different CPU addresses. Or are they generated at runtime?
radeon 0000:00:01.0: fence driver on ring 0 use gpu addr 0x0000000018000c00 and cpu addr 0xffff88011745ac00
radeon 0000:00:01.0: fence driver on ring 0 use gpu addr 0x0000000018000c00 and cpu addr 0xffff880117448c00
radeon 0000:00:01.0: fence driver on ring 0 use gpu addr 0x0000000018000c00 and cpu addr 0xffff880117435c00
Update 03.10.2012: The cpu address seems to be generated. In an other working log, the address is different too.
The ring test error was only in one of the two logs visible.
I'm open for every hint I can get.
Additional info:
* package version(s)
grub-bios 2.00-1
linux 3.5.4-1 (and before)
systemd 193-1 (and before)
xf86-video-ati 1:6.14.6-1
* config and/or log files etc.
Are attached at the comment. For a better diff I've removed the timestamps, but the originals (*_timestamps) are attached too.
dmesg_failed2.log (49 KiB)
dmesg_working.log (47.9 KiB)
dmesg_failed1_timestamps.log (61.7 KiB)
dmesg_failed2_timestamps.log (63.3 KiB)
dmesg_working_timestamps.log (61.8 KiB)
linux 3.6-1
systemd 194-1
xf86-video-ati 1:6.14.6-2
I think I'll have to look if this is known upstream and if there's already a possible solution in sight.
I don't have this issue on my workstation with exactly the same installation of arch (cloned install).
lsmod.txt (2.9 KiB)
try applying: aticonfig --acpi-services=off
if that does not work, please post output of aticonfig --initial
I don't want to offend, but have you really read one of our comments, reports or logs?
Army and I've posted, that we use xf86-video-ati. There is no need for fglrx, so it can't incorporate with the radeon module (because it isn't installed), which is loaded. Please take a look at the logs, if you further wish to help.
Kind regards,
Jöran
http://support.amd.com/us/gpudownload/linux/Pages/radeon_linux.aspx?type=2.4.1&product=2.4.1.3.42&lang=English
as requested, here the output of pacman -Qs libgl and uname -r:
# pacman -Qs libgl
local/libgl 9.0-1
Mesa 3-D graphics library and DRI software rasterizer
local/libglade 2.6.4-3
Allows you to load glade interface files in a program at runtime
local/libglapi 9.0-1
free implementation of the GL API -- shared library. The Mesa GL API module
is responsible for dispatching all the gl* functions
# uname -r
3.6.2-1-ARCH
1) Grub2: Adding "GRUB_TERMINAL_OUTPUT=console", removing "GRUB_GFXPAYLOAD_LINUX=keep" from /etc/default/grub and recreate grub config.
2) Kernel 3.7: linux-mainline package (AUR)
I will try your hint regarding uncommenting of "GRUB_GFXPAYLOAD_LINUX=keep" and will see, if it would help for the next few reboots/start-ups.
Has someone other hints?
Modesetting works relatively well when it doesn't give me a black screen. Without modesetting, suspending doesn't work and I can't leave X once I enter it. I had no luck with catalyst either. This all happened before and after switching to systemd.
uname -r
3.7.0-1-mainline
AMD-E-450 Chipset,
radeon,
with kernel 3.6.7,
early KMS start and
full systemd setup and still have randomly black screens.
As mentioned above, I've had success with 3.7 kernel. Have you tried it?