Black screen with Radeon HD 4200 - with all graphics drivers

Hello. I’m using openSUSE 11.4 on a HP Pavilion laptop, and it was working fine until last week or so. A zypper update seems to have upgraded to a package with a nasty bug though: it now boots into a black screen, instead of showing kdm.
And the only option after that is to forcefully shut down the machine; neither Ctrl+Alt+F1 nor Ctrl+Backspace nor Ctrl+Alt+Del does anything. Not sure if this means the kernel hangs, or just that X blocks all keyboard input as well.
The issue with powering off with the hardware button is that I don’t get full log files (especially kdm.log) so it’s a bit hard to investigate…

I have tried many things, here are the results:

  • Default radeon driver + kdm = black screen
  • nomodeset + radeonhd driver + kdm = black screen [driver doesn’t support HD4200 anyway]
  • nomodeset + radeon driver explicitely requested + kdm = black screen
  • fglrx + kdm = black screen

I also tried enabling Option “monitor-LVDS” “Default Monitor” in 50-device.conf as the comment there suggests, no difference.

But here’s where it get interesting:

  • if I boot into runlevel 1 (adding “1” to the boot options in grub), and at the prompt I type startx, then it works. Both with ‘radeon’ and ‘fglrx’.
  • if I boot into runlevel 1 and type /etc/init.d/xdm start, then it works.

Note: startx as a user (from runlevel 3) doesn’t work (seems openSUSE doesn’t support that? I get permission errors for /var/log/Xorg.0.log, and if I hack that I get tty-related permission errors, even after adding the user to the tty group).

In conclusion, this doesn’t look like the typical X driver issue. It’s rather related to the stuff that happens in runlevel 5 but not in runlevel 1 – the lizard-screen hiding the real stuff possibly, although the problem also happens in failsafe mode where there’s no such splash… I’m very confused.
For sure it’s a recent regression, which should help someone who follows opensuse more closely to figure out what might have triggered this.
Maybe something related to TTY switching…

Log files available on demand, although I couldn’t see anything interesting in them - X doesn’t fail, it merely shows nothing…

David Faure, KDE developer.

Wow, I found a lot more information. In runlevel 1, after launching kdm and logging in, I was missing NetworkManager so I typed
sudo /etc/init.d/dbus start
sudo /etc/init.d/network start
and poof, the screen went completely black! (and the keyboard does nothing, as usual).

This explains why it only works in runlevel 1 or 2 and not in runlevel 3 or 5. as soon as NetworkManager starts, everything breaks. I don’t even get a text login prompt in runlevel 3, while I do get one in runlevel 2.

=> This has nothing to do with Radeon or X, it’s about NetworkManager.

I start in runlevel 2, log in (text mode), if I type
sudo /usr/sbin/NetworkManager --no-daemon
then it outputs quite some stuff, until the dhcp stage, then things halt for 3 seconds (text is visible but keyboard doesn’t do anything), and then the screen goes black.

On the other hand, if I bring the network up manually (ifconfig eth0 up, ifconfig eth0 <myip>, route add default gw <ip>) then everything works fine.

How can NetworkManager hang the kernel ?!?

Obviously NetworkManager should not cause a problem.

Did you check to see if NetworkManager was updated recently ? ie you could do something like:


rpm -qa --last | grep NetworkManager

Also, did you try going to YaST and force a re-install of all ‘NetworkManager’ apps in case one was corrupted in a recent install ?

Full dmesg output and /var/log/Xorg.0.log(.old) at black screen would be interesting.
Also /var/log/kdm.log can tell sth.

log files don’t get flushed out to disk, since the kernel freezes immediately.

NetworkManager last updated July 4, that’s recent indeed.

But I found more information: the same happens if I do “iwlist scan wlan0”. So it’s really the wireless support (in the kernel?), not NetworkManager itself, that is faulty.