notebook does not boot anymore (black screen after grub) after upgrading to linux kernel 4.7

Hi,
my notebook has opensuse tumbleweed installed (for some time), most of the time i had no serious problems with kernel updates but today after “zypper dup” to the newest packages (last time was at least three weeks ago) the notebook is not booting anymore.
If i start the pc it goes past grub but then everything is black, in the beginning the text cursor is seen/blinking for some time in the upper left corner but then suddenly everything is black.
Hitting esc to get the systemd output does not work (maybe systemd was not even running) but for a while there is the usual hard disc activity (little blinking orange LED next to the power LED)
but this stops eventually but the screen is still black.
I also cannot change to another console/terminal by hitting CTRL+ALT+F1 (different F keys also do not work), so i cannot even check whats going on.

It seems that the notebook has just a problem with the screen or the graphic driver (the is a radeon graphic card and a intel graphic card in the notebook but i do not use any propritary drivers, just the default open source drivers). I noticed that after changing to a text terminal/console, i can “blindly” login as root, i know this because i can run commands then, like shutdown -r now, which works.

edit: it seems that even GDM is started, because if i do not change to text terminal i can just hit ENTER (which normaly just chooses my default login name) and then type in my password and hit ENTER again, then the usual activity lights are flashing as if the computer really starts KDE plasma 5, the screen stays black though.

You want the AMD proprietary driver to support fully the hybrid graphics

But i did not used the proprietary driver before and everything worked fine, i think maybe the intel card was used before i do not know to be honest but i do not care which one is used.
And i do not want to manually install the graphic driver every time the kernel updates, as i have to do on my main PC which also has tumbleweed installed (but an NVIDIA card) thats why i stayed on the default drivers.

Or is there some change in the new kernel that prevent the default driver to work, am i forced to used the proprietary drivers now? If so this could be a problem because i cannot really work on the notebook because the screen is black.

From memory, my old laptop (an Acer AS3810TZG) had both Intel and AMD graphics chipsets, and I try to keep to FOSS. I had to change the BIOS to only use one (the AMD) graphics system. I am sorry but I cannot remember what the (non-default) setting was called. Then I used the Radeon driver. In theory it should have been able to use the less powerful Intel graphics when on battery, but I never got that to work.

Yes but on this notebook i never had anything to set up, i just installed tumbleweed from DVD and it works right from the start, i do distribution updates and often got new kernel version and never had a real problem.

Assuming the problem is with the radeon kernel module; You should be able to boot the previous kernel as the default behaviour is to keep the last version when the kernel is updated. At the grub menu select Advanced and then choose the older kernel.

If that works you can use
YaST > System > Boot Loader > Bootloader options
to change the default boot kernel.

There has (hours ago) been a new kernel build (4.7.0-1.2.x86_64) in the Tumbleweed repository. The radeon.ko is the same as in the recent Tumbleweed kernel-4.7.0-1.1, but different to that in the Kernel:/stable/standard repository – kernel-4.7.0-8.


/lib/modules/4.7.0-1.1-default/kernel/drivers/gpu/drm/radeon:
-rw-r--r-- 1 root root 2529178 Jul 30 18:16 radeon.ko

/lib/modules/4.7.0-1.2-default/kernel/drivers/gpu/drm/radeon:
-rw-r--r-- 1 root root 2529178 Aug  4 18:23 radeon.ko

/lib/modules/4.7.0-8.gb560f9f-default/kernel/drivers/gpu/drm/radeon:
-rw-r--r-- 1 root root 2540480 Aug  5 19:24 radeon.ko

So you could either wait for the next Tumbleweed kernel or try using YaST to add the 4.7.0-8 kernel, which may or may not wopk for you. If not then it would be definitely worth a bug report.

Ok thank you, booting the older kernel 4.6.4-2 worked, the screen is not black anymore. I think i will wait for the next kernel update then.
Is there a way to keep the working kernel 4.6.4-2 in case the next kernel version i get also did not work?
I do not want to get stuck in a situation where both the current and last kernel do not work.
edit: i guess changing the default kernel to the working one, prevents if from getting deleted right?
edit2: no, it seems to only be possible to change the default starting point, for keeping the working kernel i have to manually copy it and add a new entry to grub right?

Look in /etc/zypp/zypp.conf for multiversion.kernels; it has comments explaining what you can put there. You can designate exact version to keep.

I have limited vision and use the ncurses (text version) of YaST with text-to-speech assistance. things might look a bit different to you.

If you read zypp.conf suggesteded to by arvidjaar you will see that by default an automated kernel update should always retain the *running *kernel and at least the previous one. To be absolutely sure


 # zypper addlock kernel-default-4.6.4 

or add the lock in YaST. I would remove any superflous “bad” kernels with Yast. As an out-of-the-box experiment what about copying
/lib/modules/4.6.4-/kernel/drivers/gpu/drm/radeon
to /lib/modules/4.7.0-
/kernel/drivers/gpu/drm/radeon
?

edit2: no, it seems to only be possible to change the default starting point, for keeping the working kernel i have to manually copy it and add a new entry to grub right?

No. For me:
YaST > System > Boot Loader > Bootloader options
then selecting *Default Boot Section *produces a menu of installed boot sections (kernels) to choose from.
You should be able to select something like
“openSUSE Tumbleweed, with Linux 4.6.4-1-default”.

This won’t stop zypper attempt to remove it, which will result in conflict error message. Adding explicit version to multiversion.kernels will avoid removing it in the first place.

I have added the latest working kernel to the multiversion.kernels the line in /etc/zypp/zypp.conf looks like this now:

multiversion.kernels = latest,latest-1,running,4.6.4

I hope this helps, i will start running zypper dup again as soon as a new kernel version is out and see what happens then.

That won’t work. You need package version, which is either 4.6.4-x.y (full package version) or 4.6.4-x (stripping final rebuild count).

Ok thank you, the comments in the zypp.conf implied that too. So i changed the line to:

multiversion.kernels = latest,latest-1,running,4.6.4-2