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
Device | Specification | Note |
---|---|---|
CPU | i7-6700HQ | (Skylake) |
iGPU | Intel HD Graphics 530 | |
dGPU | NVIDIA GTX 970m | 3 GB GDDR5 |
RAM | 16 GB | |
Screen | 14" 1080p | |
HDD | 1 TB WD Blue (wd10jpvx) | 5400 RPM |
SSD | 256 GB Samsung 850 EVO | User-installed |
Battery | 61.25 Wh | |
USB | 3x 3.0, 1x 3.1 (USB-C) | |
LAN | Yes | 10/100/1000 |
HDMI output | Yes | |
VGA output | Yes | |
Audio output | Yes | 4-pin stereo + mic |
SD Card Slot | Yes |
Hardware support
Device | Status | Notes |
---|---|---|
CPU | Supported | Upgrade to 4.5-rc4 kernel quickly |
iGPU | Supported | See above |
dGPU | Supported | See notes below |
Keyboard | Partial | Everything except bluetooth enable/disable |
Touchpad | Supported | |
USB 2.0 / 3.0 | Supported | |
USB 3.1 / USB-C | Untested | ASMedia ASM1142 USB 3.1 Host Controller |
Webcam | Supported | SunPlus Innovation 1bcf:2c6b (720p) |
Audio | Supported | Speakers, microphone, 4-pin audio jack |
Bluetooth | Supported | On/off from keyboard appears broken |
Wifi 2.4 / 5.0 GHz | Supported | (at least to 180 Mbps) |
VGA Output | Supported | Works with both Intel and NVIDIA GPU |
HDMI Output | Busted | Works with NEITHER Intel NOR NVIDIA GPU |
Shutdown | Partial | Works only when nvidia module is loaded |
Suspend | Partial | Works 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:
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 name | Wifi | Screen | Duration (hr) | Claimed Rate (W/hr) | Calculated Rate (W/hr) | Notes |
---|---|---|---|---|---|---|
Idle runtime - Windows 10 | On | 50% | 6.94 hr | N/A | 8.8 | N/A |
Idle runtime - Ubuntu 15.10 (Linux 4.5) | On | 50% | 4.5 hr | 12 - 13 | 13.61 | Stock Configuration |
Idle runtime - Ubuntu 15.10 (Linux 4.5) | On | 50% | 5.5 hr | 11 - 12 | 11.9 | Powertop 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.