• ×
    Information
    Need Windows 11 help?
    Check documents on compatibility, FAQs, upgrade information and available fixes.
    Windows 11 Support Center.
  • post a message
  • ×
    Information
    Need Windows 11 help?
    Check documents on compatibility, FAQs, upgrade information and available fixes.
    Windows 11 Support Center.
  • post a message
Guidelines
Ready to level up? Join the Expert Program—
Archived This topic has been archived. Information and links in this thread may no longer be available or relevant. If you have a question create a new topic by clicking here and select the appropriate board.
HP Recommended
HP Zbook 15 Mobile Workstation (G1)
Linux

Hello, I just bought a refurbished Zboo 15 G1: gg, it's super hardware.

 

By the way, I have an issue while trying to pass through the discrete Nvidia GPU, from an Ubuntu 16.04 host to a Windows 10 guest. This using the KVM / libvirt / QEMU hypervisor.

 

First, a few info to assert what GPU this is:

$ sudo optirun lspci -nnk -s 01:00.0
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK106GLM [Quadro K2100M] [10de:11fc] (rev a1)
    Subsystem: Hewlett-Packard Company GK106GLM [Quadro K2100M] [103c:1909]
    Kernel driver in use: nvidia
    Kernel modules: nvidiafb, nouveau, nvidia_384_drm, nvidia_384

 

Issue is the following error message in the peripherals manager of the guest (Nvidia drivers are not installed in guest yet).

Error code 31 for the device --> The driver trying to start is not the same as the driver for the POSTed display adapter

 

From the KVM settings in host, I provide the guest with this GPU BIOS ROM: https://www.techpowerup.com/vgabios/149851/hp-quadrok2100m-2048-130612 . TechPowerUp claims the BIOS is official, but it's still doubtful since you don't provide it in our own downloads/support database for that notebook model.

 

Not providing any BIOS file in that same place seems to make no difference.

 

So, it seems that BIOS file is tainted. I understand it's a "user mode" BIOS file (i.e. OS fully started and took over it), while Windows there requires a "kernel mode" BIOS file? Some people name that kind of BIOS file "pure", or "clean", as opposed to the BIOS file being tainted / "dirty" once took over by OS once fully booted.

 

As a consequence, could you provide the forum or the downloads section of that notebook with the official GPU ROM please? It may exist in various flavours, that's any combination of UEFI-support = true|false and ROM-kind = clean|dirty.

 

Or maybe you can provide a solid procedure to dump the GPU BIOS, or maybe the cause is something else you may enlighten. Be sure that the error 43, in the GPU passthrough area on Optimus, happens almost always and is a monster blocker for most people.

 

I tried workarounds with no success:

  • Installing the latest official / unaltered Nvidia drivers in guest: they install flawlessly, but after reboot the peripherals manager outputs the infamous error code 43 for the device
  • Dumping the Nvidia GPU BIOS using this procedure: https://01.org/linuxgraphics/documentation/development/how-dump-video-bios . This dumps 61Kb of data, when performed in system BIOS set as "Hybrid Graphics = Disabled" (i.e. means that only the discrete Nvidia GPU will be in use, from boot to OS and later). If the system BIOS is not set this way, the dump process just bails out with an Input/output error message

 

A few more observations:

  1. I provided an "lspci" output where system-BIOS "Hybrid graphics = Enabled" (i.e. the Nvidia discrete GPU is not in use). It has SSID "1909". But in the TechPowerUp BIOS file, you can read SSID "197B". What I found is that when booting host with system-BIOS set to "Hybrid graphics = DIsabled" (i.e. Nvidia GPU always active), my "lspci" command indeed states SSID "197B" (i.e. same as the BIOS file)
  2. Internet users say that a clean BIOS ROM is usually 256Kb while a dirty one would be 512Kb. While trying to dump using the above procedure, I observed 64Kb and 128Kb while "ls"ing the ROM file in "/sys". Regarding the TechPowerUp official-supposedly file, it's 99Kb. And what I could dump is 61Kb (once I "cp"ed or "cat"ed the ROM file in "/sys"). So, where's the truth?
Archived This topic has been archived. Information and links in this thread may no longer be available or relevant. If you have a question create a new topic by clicking here and select the appropriate board.
† The opinions expressed above are the personal opinions of the authors, not of HP. By using this site, you accept the <a href="https://www8.hp.com/us/en/terms-of-use.html" class="udrlinesmall">Terms of Use</a> and <a href="/t5/custom/page/page-id/hp.rulespage" class="udrlinesmall"> Rules of Participation</a>.