Issues I had when upgrading to 16.04 and how I fixed it (kinda)

Oh noez! Dah computa iz broken! /o\

Two days ago, I decided to test the “automagical” upgrade from Ubuntu for my 14.04 LTS. It has been a while since I did that (using a completely automated tool to upgrade a distro on one of my machines), and thought that “well, Ubuntu has made such strides in user friendlyness in the last years, nothing can possibly go wrong w/ new gear, right?”. Alas, it looks like it’s still pretty difficult to achieve (at least on laptops).

What happened

At first, the machine booted up perfectly, all was dandy, I got to play with new features, I was happy. Then, sadly, I got a little more grumpy seeing some much more serious issues.

grumpy dev

My screen kept randomly flickering (at first you think you’ll get used to it, but you definitely don’t), and the somewhat efficient power management seemed lost… For my day-to-day machine that I carry around everywhere, that’s a bit of a problem :-/

Google-ing intensifies

After some googling, it turns out that the issue could be related to 2 different things :

  • 4.4.x kernels seem to have slight issues w/ some i915 features
  • AMD has not yet published updated drivers for the version of X 16.04 is shipped with

What to do with not much time? / What I ended up doing

The options

To try and solve this rather quickly, and from what I saw in the articles I read, I had 3 options remaining :

  • Upgrade my kernel to the most recent version (one that claims that onboard graphics flickering issues are gone, ideally)
  • Reinstall a 16.04 “from scratch” (i.e: not through the upgrade procedure)
  • Reinstall a 14.04

4.2.0-36 is the key (well, at least mine ;)

The first option did not do me any good (flickers remained). And I did not really want to sit through possibly 2 fresh installs (and I hate to blindly reinstall in general), so I figured I could inspect the already available kernels on my machine and try to boot on an older one. I found a

1
4.2.0-36
and tried it out. A day has passed, and no flicker has occurred, machine is able to hibernate … I even got the screen dimming shortcuts working =)

A word about Grub default entry and how to change it

As of now, I used http://askubuntu.com/questions/216398/set-older-kernel-as-default-grub-entry to make the right kernel version to boot on the default one so I don’t have to fiddle w/ Grub each time I reboot. Not perfect but it kinda is enough for the time I can spare.

Some word on the

1
/etc/defaults/grub
file edit. The
1
GRUB_DEFAULT
line looks like this before running
1
update-grub
:

GRUB_DEFAULT="gnulinux-advanced-[UUID]>gnulinux-4.2.0-36-generic-advanced-[other UUID]"

With the first identifier being the one of the submenu itself (“Advanced options”) and the second one, the one for my target menu item that boots my kernel in that submenu.

Long story short

It seems that the kernel shipped w/ the last Ubuntu 16.04 LTS has some issues w/ laptops at the moment (at least those w/ an i915 chip or the AMD Radeon R7 : http://ubuntuforums.org/showthread.php?t=2321874). That might be a thing to consider before upgrading.

Some more context

My machine is a recent HP ZBook (I’d say early 2016), everything worked quite decently on a 14.04 LTS, and my latest findings tend to point to the radeon support, so I’ll have to give it a shot once updated drivers are released.

1
lspci
outputs :

00:00.0 Host bridge: Intel Corporation Sky Lake Host Bridge/DRAM Registers (rev 08)
00:02.0 VGA compatible controller: Intel Corporation Sky Lake Integrated Graphics (rev 07)
00:14.0 USB controller: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller (rev 21)
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-LP Thermal subsystem (rev 21)
00:15.0 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO I2C Controller (rev 21)
00:16.0 Communication controller: Intel Corporation Sunrise Point-LP CSME HECI (rev 21)
00:17.0 SATA controller: Intel Corporation Sunrise Point-LP SATA Controller [AHCI mode] (rev 21)
00:1c.0 PCI bridge: Intel Corporation Device 9d11 (rev f1)
00:1c.3 PCI bridge: Intel Corporation Device 9d13 (rev f1)
00:1c.4 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port (rev f1)
00:1d.0 PCI bridge: Intel Corporation Device 9d18 (rev f1)
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-LP LPC Controller (rev 21)
00:1f.2 Memory controller: Intel Corporation Sunrise Point-LP PMC (rev 21)
00:1f.3 Audio device: Intel Corporation Sunrise Point-LP HD Audio (rev 21)
00:1f.4 SMBus: Intel Corporation Sunrise Point-LP SMBus (rev 21)
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection I219-V (rev 21)
01:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS522A PCI Express Card Reader (rev 01)
02:00.0 Network controller: Intel Corporation Wireless 8260 (rev 3a)
03:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Opal XT [Radeon R7 M265] (rev ff)
04:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller (rev 01)

Martin Bahier

Martin Bahier
Software Craftsman during the day, gamer at night. Or both, depends on my mood

Ubuntu / Debian and NodeJS : why the odd naming?

# Why doesn't nodejs Debian package provide the "node" binary used by all my tools?Recently, I had to use my CI to host a new node projec...… Continue reading

zypper behind bars ... well behind proxies

Published on August 07, 2016

PhantomJS trouble

Published on July 24, 2016