This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.
Please visit our production wiki at https://wiki.gentoo.org
HP Zbook Studio G4
Hardware
root #
lspci -k
00:00.0 Host bridge: Intel Corporation Device 5910 (rev 05) Subsystem: Hewlett-Packard Company Device 826b 00:02.0 VGA compatible controller: Intel Corporation Device 591b (rev 04) Subsystem: Hewlett-Packard Company Device 826c Kernel driver in use: i915 00:04.0 Signal processing controller: Intel Corporation Skylake Processor Thermal Subsystem (rev 05) Subsystem: Hewlett-Packard Company Skylake Processor Thermal Subsystem 00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31) Subsystem: Hewlett-Packard Company Sunrise Point-H USB 3.0 xHCI Controller Kernel driver in use: xhci_hcd 00:14.2 Signal processing controller: Intel Corporation Sunrise Point-H Thermal subsystem (rev 31) Subsystem: Hewlett-Packard Company Sunrise Point-H Thermal subsystem 00:15.0 Signal processing controller: Intel Corporation Sunrise Point-H Serial IO I2C Controller #0 (rev 31) Subsystem: Hewlett-Packard Company Sunrise Point-H Serial IO I2C Controller 00:16.0 Communication controller: Intel Corporation Sunrise Point-H CSME HECI #1 (rev 31) Subsystem: Hewlett-Packard Company Sunrise Point-H CSME HECI 00:17.0 SATA controller: Intel Corporation Sunrise Point-H SATA controller [AHCI mode] (rev 31) Subsystem: Hewlett-Packard Company Sunrise Point-H SATA controller [AHCI mode] Kernel driver in use: ahci 00:1c.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #1 (rev f1) Kernel driver in use: pcieport 00:1c.1 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #2 (rev f1) Kernel driver in use: pcieport 00:1c.4 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #5 (rev f1) Kernel driver in use: pcieport 00:1d.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #9 (rev f1) Kernel driver in use: pcieport 00:1f.0 ISA bridge: Intel Corporation Sunrise Point-H LPC Controller (rev 31) Subsystem: Hewlett-Packard Company Sunrise Point-H LPC Controller 00:1f.2 Memory controller: Intel Corporation Sunrise Point-H PMC (rev 31) Subsystem: Hewlett-Packard Company Sunrise Point-H PMC 00:1f.3 Audio device: Intel Corporation Device a171 (rev 31) Subsystem: Hewlett-Packard Company Device 826b Kernel driver in use: snd_hda_intel 00:1f.4 SMBus: Intel Corporation Sunrise Point-H SMBus (rev 31) Subsystem: Hewlett-Packard Company Sunrise Point-H SMBus Kernel driver in use: i801_smbus 00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (2) I219-LM (rev 31) Subsystem: Hewlett-Packard Company Ethernet Connection (2) I219-LM Kernel driver in use: e1000e 01:00.0 VGA compatible controller: NVIDIA Corporation GM107GLM [Quadro M1200 Mobile] (rev a2) Subsystem: Hewlett-Packard Company GM107GLM [Quadro M1200 Mobile] Kernel driver in use: nvidia Kernel modules: nvidia_drm, nvidia 02:00.0 Network controller: Intel Corporation Wireless 8265 / 8275 (rev 78) Subsystem: Intel Corporation Wireless 8265 / 8275 Kernel driver in use: iwlwifi 03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS525A PCI Express Card Reader (rev 01) Subsystem: Hewlett-Packard Company RTS525A PCI Express Card Reader Kernel driver in use: rtsx_pci 6f:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM961/PM961 Subsystem: Samsung Electronics Co Ltd NVMe SSD Controller SM961/PM961 Kernel driver in use: nvme
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 Device 591b | Works | i965 |
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 |
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 --->
Should be enough.
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 lib64 directory.
user $
ls /lib64/firmware | grep iwlwifi-8265
iwlwifi-8265-21.ucode iwlwifi-8265-22.ucode iwlwifi-8265-27.ucode ...
Some people experience problems connecting to a 5GHz network with iwlwifi-8265-27.ucode firmware.[1]
The following kernel config is copied from here.
Device Drivers ---> Generic Driver Options ---> -*- Userspace firmware loading support (iwlwifi-8265-22.ucode) External blobs to build into the kernel binary (/lib64/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 DVM Firmware support <*> Intel Wireless WiFi MVM Firmware support [*] Networking support ---> [*] Wireless ---> <*> cfg80211 - wireless configuration API [*] enable powersave by default <*> Generic IEEE 802.11 Networking Stack (mac80211) [*] Minstrel [*] Minstrel 802.11n support
No need to enable DVM:
< > Intel Wireless WiFi DVM Firmware support
Hardware Wifi Button
To enable the Hardware Wifi button (no LED feedback as of yet):
Device Drivers ---> [*] X86 Platform Specific Device Drivers ---> <M> HP wireless button
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
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/make.conf
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/make.conf
VIDEO_CARDS="intel i965"
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/make.conf
/etc/portage/make.conf
VIDEO_CARDS="intel i960 nvidia"
Update packages who are influenced by the changed flags
root #
emerge -DaquN @world
Follow the Nvidia guide for a mostly complete overview.
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 BIOSBelow are instructions on what to enable to be able to boot with Discrete Graphics
Device Drivers ---> Graphics support ---> Frame buffer Devices ---> -*- Support for frame buffer devices ---> [*] EFI-based Framebuffer Support
This configuration enables brightness control, forces full composition pipeline to decrease vsync issues and forces a dpi of 96, which could otherwise give problems in your wm with incorrect sizes of glyphs.
/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