Ubuntu 15.10 on the Gigabyte p34w v5


2016 Feb 27 -

A few weeks ago I picked up a Gigabyte p34w v5 from Excaliber PC to replace my previous work laptop. In my normal fashion, I tried to get Linux running on it as soon as possible. Because the p34w v5 features an Intel Skylake i7-6700HQ processor, getting Linux running on it was a bit more complicated than normal, but still quite easy.

Machine specifications

DeviceSpecificationNote
CPUi7-6700HQ(Skylake)
iGPUIntel HD Graphics 530
dGPUNVIDIA GTX 970m3 GB GDDR5
RAM16 GB
Screen14" 1080p
HDD1 TB WD Blue (wd10jpvx)5400 RPM
SSD256 GB Samsung 850 EVOUser-installed
Battery61.25 Wh
USB3x 3.0, 1x 3.1 (USB-C)
LANYes10/100/1000
HDMI outputYes
VGA outputYes
Audio outputYes4-pin stereo + mic
SD Card SlotYes

Hardware support

DeviceStatusNotes
CPUSupportedUpgrade to 4.5-rc4 kernel quickly
iGPUSupportedSee above
dGPUSupportedSee notes below
KeyboardPartialEverything except bluetooth enable/disable
TouchpadSupported
USB 2.0 / 3.0Supported
USB 3.1 / USB-CUntestedASMedia ASM1142 USB 3.1 Host Controller
WebcamSupportedSunPlus Innovation 1bcf:2c6b (720p)
AudioSupportedSpeakers, microphone, 4-pin audio jack
BluetoothSupportedOn/off from keyboard appears broken
Wifi 2.4 / 5.0 GHzSupported(at least to 180 Mbps)
VGA OutputSupportedWorks with both Intel and NVIDIA GPU
HDMI OutputBustedWorks with NEITHER Intel NOR NVIDIA GPU
ShutdownPartialWorks only when nvidia module is loaded
SuspendPartialWorks only when nvidia module is loaded

Installation

Support for Skylake CPUs is not the greatest in the Linux 4.2 kernel that is shipped with Ubuntu 15.10, thus there are a few tricks to getting it to work correctly. Basically, run the installer with nomodeset and then upgrade to the latest kernel as quickly as possible to avoid a c-state lockup bug. Here are some detailed instructions:

Run the 15.10 installer. At the first menu (where you can choose how to run the OS image), highlight either the “try Ubuntu” or “install Ubuntu” option and press the e key to edit the command-line option.

Navigation down to the line that begins with linux. Insert the word nomodeset into the line prior to the triple-hyphens like this:

...
linux ... ro quiet splash nomodeset ---

Then press F10 to boot. Complete the installation, reboot the machine, insert the same text into the kernel line and boot into Ubuntu by pressing F10.

Next we will install the Linux 4.5 kernel which includes more support for the Skylake CPU. To do this open a terminal and type in the following:

cd Downloads
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.5-rc4-wily/linux-headers-4.5.0-040500rc4-generic_4.5.0-040500rc4.201602141731_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.5-rc4-wily/linux-headers-4.5.0-040500rc4_4.5.0-040500rc4.201602141731_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.5-rc4-wily/linux-image-4.5.0-040500rc4-generic_4.5.0-040500rc4.201602141731_amd64.deb
sudo dpkg -i linux*.deb
sudo reboot

Note: Since this article was written, I updated to 4.5-rc5 and things appear slightly more stable than on 4.5-rc4. I suggest grabbing the latest release candidate until 4.5 is finalized.

NVIDIA Graphics and GPU computing capabilities

Visit the NVIDIA developer center and download the latest CUDA driver. The x86_64 DEB package for Ubuntu works fine. You can grab the file directly from here:

http://developer.download.nvidia.com/compute/cuda/7.5/Prod/local_installers/cuda-repo-ubuntu1504-7-5-local_7.5-18_amd64.deb

After the file has downloaded, simply install it using:

sudo dpkg -i cuda-repo-ubuntu1504-7-5-local_7.5-18_amd64.deb
sudo reboot

It’s that simple! You can then switch between the Intel (integrated) and NVIDIA (discrete) GPUs using nvidia-prime as follows:

sudo prime-select intel  # switch to the integrated GPU
sudo prime-select nvidia # switch to the discrete GPU
sudo service restart lightdm

SSD Caching (via. bcache)

Follow the instructions on my latest bcache post as this greatly simplifies the installation process. Note that the new method is done directly within the installer.

Battery life

Test nameWifiScreenDuration (hr)Claimed Rate (W/hr)Calculated Rate (W/hr)Notes
Idle runtime - Windows 10On50%6.94 hrN/A8.8N/A
Idle runtime - Ubuntu 15.10 (Linux 4.5)On50%4.5 hr12 - 1313.61Stock Configuration
Idle runtime - Ubuntu 15.10 (Linux 4.5)On50%5.5 hr11 - 1211.9Powertop Tweaked

Build Quality

In general the laptop is well constructed, feels strong, and looks quite nice (especially for a business professional who need a high-end GPU). I do; however, have several quibbles:

1. The Keyboard

Be aware that the left super / Windows key is, in reality, wired to the right super / Windows key. Thus some window managers (e.g. Gnome) that distinguish between the two keys will need to be reconfigured. For Gnome in particular, you will need to either use gconf or gnome-tweak-tool to change the “Switch between overview and desktop” key in the Keyboard and Mouse tab to be the R_SUPER key.

I would also like to note that although I love the machine and find the build quality to be quite good the keyboard is disappointing. They keys all feel loose, chatter like crazy when typing, and have very bad ghosting problems. I honestly considered returning the laptop immediately because the keyboard feels so cheap. After using the machine for a month, I’m still disappointed at the use of a low-quality keyboard on a $1,400 laptop.

2. The Speakers

The speakers are, beyond any reasonable doubt, the most horrible speakers I’ve ever heard in a laptop. The speakers are very small and thus their ability to produce a wide range of frequencies is highly limited. I always use external speakers or headphones when listening to music on this machine as there is no hope for producing decent quality sound from the given hardware.

Optimus / bumblebee

It is possible to get optimus running via. bumblebee, but this takes a lot of effort. I have a separate blog post half-written about this topic. I’ll add a link to this post to describe the process later.