As of May, 2015, running Linux on a laptop with an Intel Broadwell CPU is not without its share of “minor inconveniences,” depending on your use case. Fortunately, there are workarounds.

Although I was able to rather effortlessly put Fedora 21 on my new thinkpad, I quickly encountered problems with video playback and VirtualBox.

My first assumption was that I might have a hardware problem, so I tried to rule out that possibility by booting into the Lenovo built-in hardware diagnostics software and running the complete suite of tests.

I tried a vanilla mainline kernel and then I installed the most recent Fedora 22 beta, but the video and VirtualBox issues persisted. The sneak peek of KDE in Fedora 22 does look pretty good, however. :-)

Problem # 1: Video playback artifacts

Playing any video through vlc reveals artifacts like this:

I came accross numerous discussions regarding video problems on laptops that use Broadwell CPUs. Although I’m not using Ubuntu, and I’m not experiencing the corrupted text problems discussed on those posts, the discussions nevertheless led me to a workaround.

It would appear that my video corruption issues might be related to using SNA (Sandybridge’s New Acceleration). As I understand it, there are two acceleration methods for Intel GPUs; UXA (older, slower, more stable) and SNA. Fedora 21 appears to prefer SNA, so I switched to UXA and restarted X and lo and behold, my video playback corruption issues are gone.

To switch from SNA to UXA, create the file etc/X11/xorg.conf.d/20-intel.conf, paste the lines below and restart X.

# etc/X11/xorg.conf.d/20-intel.conf
Section "Device"
   Identifier  "Intel Graphics"
   Driver      "intel"
   Option      "AccelMethod"  "uxa"
EndSection

Clearly more work is needed on the SNA driver. :-(

Problem # 2. A known bug with VirtualBox on Broadwell CPUs causes X to lock up.

This one mainfests itself when you try to launch a guest VM in VirtualBox (which is, as of May 2015, at version 4.3.26). Launching any guest (I tried Windows 7 and Centos 6 guests with 4 GB and 1 GB of ram, respectively) triggered this lockup. When it happens, the gui locks up hard. Mouse and keyboard no longer respond, although the host is still pingable and can be accessed remotely via ssh; the only recourse at this point is to reboot.

I took the opportunity to migrate the guests to KVM in the name of troubleshooting. I was able to launch all guests successfully, which made me think this must be a VirtualBox bug on Linux hosts with Broadwell CPUs.

Further googling revealed at least one other user of fedora with the same problem. The poster on the fedora forum helpfully shared some links to the VirtualBox forums and VirtualBox’s issue tracker which confirmed my earlier suspicions. This is indeed a bug with VirtualBox on Broadwell CPUs, and it looks like it is being actively worked on.

It looks like I’ll be using KVM for a while until this bug is fixed.

Hardware Lister (lshw)

One positive outcome of all this testing / bug hunting / googling / experimenting was the discovery of the lshw utility. How cool! I would encourage every owner of a laptop that runs linux to keep this utility within arm’s reach, so to speak.

Conclusion

All in all, as is always the case with Linux, the road is not without its share of bumps. I’ll be keeping an eye on SNA in particular, and updating the blog as things change.

-dave