HP Zbook Studio G5
The HP Zbook Studio G5 is a workstation replacement laptop.
Installation is generally pretty straight forward, however, there are some things to consider. Follow the general instructions of the installation|guide
Booting from live media
The laptop does not boot with Nouveau graphics therefore, add this to the grub options
Edit: I (a different user) found that laptop booted fine with no tweaks for the Manjaro live media, and also had an initially functional display without these options, when using Discrete graphics mode in BIOS per the original recommendation on this page. That led to nVidia being only GPU visible to OS, and nouveau the selected driver. But then the problem is OS can't see Intel GPU, no i915, etc... ultimately no functionality for video after resuming from suspend/hibernate. So if you want Intel GPU, it first must be enabled in BIOS (Hybrid graphics) and it seems modeset must be enabled for i915, and disabled for nouveau. In short, the recommended configs here are good for regular install too- not just live media. But Nouveau can be made to work with major caveats (e.g. no video after resume).
Since the Zbook does not allow a no security option for Thunderbolt in the bios, a thunderbolt manager has to be installed see.
Use "Discrete" graphics in the bios. Auto and Hybrid was showing a blank screen. Installing nvidia drivers on discrete graphics worked flawlessly.
Edit: "Discrete" graphics in BIOS disables the onboard Intel GPU, so it's not seen in output of inxi -Gxx, and any features you are intending to configure with the i915 module won't work. To get around this, try using "Hybrid" graphics mode in BIOS (which leaves both Intel GPU and vNvidia GPU visible to the OS). This works perfectly (and fixed a problem I had with black screen after resume from suspend or hibernate) when only using the laptop screen. Wanted to get the bare laptop working correctly before I delve into tuning bumblebee and the nVidia driver for external monitors. I will update my recommendation in this section if I have problems there.
All external displays are routed to the Nvidia gpu. The internal display is routed to the internal Intel gpu therefore, Nvidia drivers or nouveau has to be installed to use external displays. Install.
To make use of both the onboard graphics and the Nvidia gpu, install bumblebee (and add user to bumblebee group and systemctl start bumblebeed.service). For an output on the ports connected to the Nvidia chip, the chip always needs to be powered on. To do this change the following options in bumblebee.conf file in /etc/bumblebee.
This prevents the nvidia chip from powering off after turning on. Next in xorg.conf.nvidia edit the following:
Option "AutoAddDevices" "true"
Option "UseEDID" "true" Option "AllowEmptyInitialConfiguration" #Option "UseDisplayDevice" "none"
Next a virtual output needs to be added to the intel gpu. Change to the /etc/X11/xorg.conf.d folder and edit or create an entry for the intel gpu (e.g. 20-intel.conf).
Section "Device" Identifier "intelgpu0" Driver "intel" Option "VirtualHeads" "1" EndSection
Thats all the configuration, now to enable external monitor:
$ optirun true $ intel-virtual-output
- Recommended to put this in a script and create a desktop entry or similar to quickly enable the external display(s).
Make sure that BIOS has Hybrid enabled (not Discrete) if you want to use the onboard Intel GPU with i915 module. Follow guidance to enable early KMS for Intel (i915) module. I didn't test without it, but a recommendation to also include intel_agp is functional on my laptop. I didn't test without it. So I have the following line in /etc/mkinitcpio.conf: MODULES="intel_agp i915"
This appears to have resolved my issues with suspend/hibernate/resume, at least when external monitors are not part of the picture.
CPU throttling down under load
If your CPU throttles down under high load without reaching critical temperatures (e.g. >95°C) and you're absolutely sure the laptop is not overheating, install the erpalma on GitHub. Start and enable the servicepackage by
This service overrides the package power limit every 5 seconds (30 on battery) by overriding default values in MSR and MCHBAR. A static fix for this problem has not been tested thoroughly. The default configuration works fine, refer to the GitHub page for more information.
Framerate drops to 1 fps on discrete graphics
Refer to the Bumblebee troubleshooting page.
Framerate drops to 1 fps when using external display
In certain applications, eg. Discord, Zoom and Steam, the fps drops to an unusable level when connected to an external display. This is an issue with vsync not working correctly. Try to disable vsync on the intgrated GPU. If that doesn't work you can try to disable vsync on the dGPU.
Microphone not detected
If your internal microphone is not detected on boot you can force pulseaudio to detect it. See microphone not detected by Pulseaudio.
Brightness keys don't work
On some bios versions some of your functions keys, namely the brightness up, down and microphone mute keys, produce identical scan codes. You can try to update your bios to fix this. See  for the bug report. If this does not work you can try to perform a power reset (see ). This problem seems to be related to the HP Hotkey Service in Windows, that changes how the keys are handled (see ), so after you boot to Windows it might reappear.