HP Zbook Studio G4
Hardware
root #
lspci -k
Device | Make/model | Status | Kernel driver(s) |
---|---|---|---|
CPU | Intel Core i7-7700HQ | Works | N/A |
Ethernet | Intel Corporation Ethernet Connection I219-LM | Works | e1000e |
USB | Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller | Works | xhci_hcd |
Video card | Intel Corporation HD Graphics 630 | Works | i915 |
Video card | NVIDIA Quadro M1200 | Works | nvidia |
WiFi | Intel Corporation Wireless 8265 / 8275 | Works | iwlwifi |
Sound card | Intel Corporation Device a171 | Works | snd_hda_intel |
Hard drive | Samsung Electronics Co Ltd NVMe SSD Controller SM961/PM961 | Works | nvme |
Bluetooth | Intel Corporation 0a2b | Works | N/A |
Thunderbolt 3 | Intel Corporation Sunrise Point-H PCI Express | See troubleshooting | pcieport |
SD card slot | Realtek RTS525A | Works | rtsx_pci |
Webcam | HD HP Camera | Works | uvcvideo |
Sound card
root #
lspci | grep Audio
00:1f.3 Audio device: Intel Corporation Device a171 (rev 31)
Be sure to enable HD Audio PCI (snd-hda-intel) and enable the codecs.
Device Drivers --->
<*> Sound card support
<*> Advanced Linux Sound Architecture --->
HD-Audio --->
<*> HD Audio PCI
[*] Build Realtek HD-audio codec support
[*] ...
[*] Build Silicon Labs 3054 HD-modem codec support
[*] Enable generic HD-audio codec parser
General setup --->
[*] System V IPC
Thunderbolt 3
Thunderbolt 3 is a hot pluggable PCIe port, with USB 3.1 support.
Bus options (PCI etc.) --->
[*] PCI support
[*] PCI Express Port Bus support
[*] PCI Express Hotplug driver
[*] Support for PCI Hotplug --->
[*] ACPI PCI Hotplug driver
USB
Easy, just enable xHCI.
Device Drivers --->
[*] USB support --->
<*> xHCI HCD (USB 3.0) support
No need to enable EHCI or OHCI. xHCI is backwards compatible already.
WiFi
root #
lspci | grep Network
02:00.0 Network controller: Intel Corporation Wireless 8265 / 8275 (rev 78)
Intel Corporation Wireless 8265 / 8275 does not work out of the box.
Look for the iwlwifi firmware in the /lib/firmware directory.
user $
ls /lib/firmware | grep iwlwifi-8265
iwlwifi-8265-21.ucode iwlwifi-8265-22.ucode iwlwifi-8265-27.ucode ...
For more information on iwlwifi configuration, see the iwlwifi wiki.
[*] Networking support --->
-*- Wireless --->
<*> cfg80211 - wireless configuration API
[*] enable powersave by default
<*> Generic IEEE 802.11 Networking Stack (mac80211)
Device Drivers --->
Generic Driver Options --->
Firmware loader --->
(iwlwifi-8265-36.ucode) External blobs to build into the kernel binary
(/lib/firmware) Firmware blobs root directory
[*] Network device support --->
[*] Wireless LAN --->
[*] Intel devices
<*> Intel Wireless WiFi Next Gen AGN - Wireless-N/Advanced-N/Ultimate-N (iwlwifi)
<*> Intel Wireless WiFi MVM Firmware support
No need to enable DVM, 8265 uses iwlmvm:
< > Intel Wireless WiFi DVM Firmware support
Hardware WiFi button
To enable the Hardware WiFi button:
Device Drivers --->
[*] X86 Platform Specific Device Drivers --->
<M> HP wireless button
If the wireless button does not work, check the iwlwifi ucode version.
SD card slot
To enable the PCIe Card Reader:
Device Drivers --->
Multifunction device drivers --->
<*> Realtek PCI-E card reader
<*> MMC/SD/SDIO card support --->
<*> Realtek PCI-E SD/MMC Card Interface Driver
Device Drivers --->
Misc devices --->
<*> Realtek PCI-E card reader
Webcam
Setting the following kernel parameters should be enough to be able to use the built-in webcam.
Device Drivers --->
[M] Multimedia support --->
[*] Media USB Adapters --->
[M] USB Video Class (UVC)
Video
NVIDIA Optimus
Configure according to NVIDIA/Optimus & the NVIDIA/nvidia-drivers articles.
There is no need to add nvidia to the VIDEO_CARDS variable in /etc/portage/package.use
This is the necessary Xorg configuration:
/etc/X11/xorg.conf.d/20-nvidia.conf
Section "Module"
Load "modesetting"
EndSection
Section "Device"
Identifier "nvidia"
Driver "nvidia"
BusID "01:00:0"
Option "AllowEmptyInitialConfiguration"
EndSection
Be sure to switch the OpenGL drivers before starting X:
root #
eselect opengl set nvidia
Intel
See the intel page for up-to-date kernel parameter instructions.
Configure Xorg to use intel
driver.
/etc/portage/package.use/00video
*/* VIDEO_CARDS: -* intel i915
Rebuild changed packages.
root #
emerge -DaquN @world
Emerge the dated Intel HD Graphics driver.
root #
emerge -qan x11-drivers/xf86-video-intel
Configure Xorg file.
/etc/X11/xorg.conf.d/10-intel.conf
Section "Device"
Identifier "intel"
Driver "intel"
EndSection
Be sure to keep the /etc/X11/xorg.conf.d/ directory clean! Do not have a configuration file for NVIDIA optimus & Intel HD Graphics
NVIDIA
First off, add nvidia
to VIDEO_CARDS in /etc/portage/package.use
/etc/portage/package.use/00video
*/* VIDEO_CARDS: -* intel i915 nvidia
Update influenced packages
root #
emerge -DaquN @world
Follow the NVIDIA guide for a (mostly) complete configuration.
Disable all Framebuffer devices except the EFI framebuffer. Others may interfere with the boot process, in which you'll may experience a boot freeze.[2].
If you experience a GRUB freeze on boot, try rebooting using ctrl+alt+del and select
UMA Graphics
or Hybrid Graphics
in the BIOSSet the following kernel parameters to be able to use Discrete Graphics
Device Drivers --->
Graphics support --->
Frame buffer Devices --->
-*- Support for frame buffer devices --->
[*] EFI-based Framebuffer Support
The following configuration enables brightness control, forces full composition pipeline to decrease screen tearing and forces a dpi of 96, which could otherwise give problems in your wm with varying glyph sizes.
/etc/X11/xorg.conf.d/10-nvidia.conf
Section "Device"
Identifier "nvidia"
Driver "nvidia"
Option "RegistryDwords" "EnableBrightnessControls=1"
EndSection
Section "Screen"
Identifier "Screen0"
Device "nvidia card"
Monitor "Monitor0"
Option "metamodes" "nvidia-auto-select +0+0 {ForceFullCompositionPipeline=On}"
EndSection
Section "Monitor"
Identifier "Monitor0"
Option "DPI" "96 x 96"
EndSection
Bluetooth
Follow the Bluetooth article on configuring and using Bluetooth.
HP 3D Driveguard
HP 3D Driveguard is a feature of HP laptops that turn off the hard drive when the laptop is falling. To enable HP 3D Driveguard, follow the instructions of the HPfall article.
Troubleshooting
External DisplayPort monitor does not work on PCIe(Thunderbolt 3) port
When using an adapter to connect a DisplayPort monitor to the PCIe port and the monitor does not get recognized, try:
- Make sure the adapter is not plugged into the PCIe port;
- Disconnect the DisplayPort cable from the adapter;
- Plug the adapter into the PCIe port;
- Connect the DisplayPort cable.
Now it should work!
NVIDIA brightness control
To enable brightness control, add this line to the conf file
/etc/X11/xorg.conf.d/10-nvidia.conf
Section "Device"
...
Option "RegistryDwords" "EnableBrightnessControl=1"
EndSection
Screen tearing
As the browser is most frequently used: emerge www-client/firefox with USE variable hwaccel
. It fixes 99% of smooth scrolling screen tearing. Really a game changer!
For other screen tearing problems, check out x11-misc/compton.
Keyboard layout
To set the keyboard layout to Dvorak Programmer
tty
For terminal:
/etc/conf.d/keymaps
keymap="dvorak programmer"
...
Graphical
For X:
/etc/X11/xorg.conf.d/40-keyboard.conf
Section "InputClass"
Identifier "keyboard-all"
Driver "evdev"
Option "XkbLayout" "us"
Option "XkbVariant" "dvp"
MatchIsKeyboard "on"
EndSection
Unable to suspend with Nvidia driver
If you have trouble suspending while on Discrete Graphics
, switch to sys-auth/consolekit instead of sys-auth/elogind. This replaces suspend for pm-suspend and should fix the suspend issue. More instructions on switching at Suspend and hibernate.