Has anyone successfully passed through a Quadro K620 to a linux VM?


Go to solution Solved by bigbangus,

Recommended Posts

I'm thinking of buying an old HP z230 SFF computer that has a K620 video card and was curious if I could make a VM out of it to manage my backup server when I'm physically on premises.

 

I found numerous topics of people talking about it but no confirmed functioning use cases:

 

 

Edited by bigbangus
Link to comment
3 hours ago, bigbangus said:

Never mind not supported

Not saying it will work for sure, but don't rely 100% on that post, it's from a moderator of the nvidia forum and it's from 2018.

Remember that at that time nvidia did not allowed to passthorugh officially any gpu.

 

Edited by ghost82
  • Thanks 1
Link to comment
23 hours ago, ghost82 said:

Not saying it will work for sure, but don't rely 100% on that post, it's from a moderator of the nvidia forum and it's from 2018.

Remember that at that time nvidia did not allowed to passthorugh officially any gpu.

 

 

good point. thank you for your insight. 

 

I was once able to see a list of gpu architectures from nvidia with official VM support, but I can't find it anywhere. This K620 would be a Maxwell chip I think. I wonder if I could bottom this out that way?

Link to comment
7 minutes ago, bigbangus said:

I was once able to see a list of gpu architectures from nvidia with official VM support

I know that "consumer gpus" were not supported (for example all geforce and low end quadro, like the k620); this was not an issue with the gpu itself but with the drivers; if the drivers detect that the gpu is running on a vm it didn't work correctly; workarounds include hiding the hypervisor in the vm.

But this is no more true, from nvidia driver v465, now the drivers should behave correctly for all gpus, consumer and enterprise (enterprise gpus were always supported).

Unfortunately there's nothing I could find about the k620, so I can't say for sure if it will work or not.

 

12 minutes ago, bigbangus said:

This K620 would be a Maxwell chip I think. I wonder if I could bottom this out that way?

I don't think so, the main thing is how the bios of the gpu interacts. A vfio capable gpu with a bugged vbios could not work.

  • Thanks 1
Link to comment
  • 2 weeks later...
  • Solution

I can say that it works with the 516.25 Quadro drivers. You can successfully pass a Quadro K620 to a Win11 VM in Unraid!

 

I did have to custom make a rom file for it though and I wasn't able to use SpaceInvaderOne's script to create it either. I got lucky using something off of TechPowerUp and taking to it with HxD to remove the header as per SpaceInvaderOne's video. See attached for the .rom

 

 

 

 

 

nvidia_quadrok620_194395_dump.rom

  • Like 1
Link to comment
2 hours ago, bigbangus said:

I wasn't able to use SpaceInvaderOne's script to create it either

Sometimes if you have input/output error when dumping the rom, even if it's apparently not in use by the host and isolated (seen a lot of times in other builds), it helps removing the pci device and rescan for it, then the vbios dump could work as expected. Anyway you got good luck with a third party vbios.

  • Like 1
Link to comment
9 hours ago, ghost82 said:

No, no, these 2 commands:

echo 1 > /sys/bus/pci/devices/0000\:06\:00.0/remove
echo 1 > /sys/bus/pci/rescan

for a gpu located at bus 6, slot 0, function 0 in the host; this will power cycle the gpu "on the fly".

 

So I ran these commands with a 1 instead of a 6 in the unraid console. They didn't return any value.

 

Then I ran the dump_vbios script from SIO's github page with the input for the VGA location and file paths for the rom.

 

Still it returns this. Usually on my main server it either works right away or does some kind of a power cycle where it prompts me to hit the power button on the computer.

 

Script location: /tmp/user.scripts/tmpScripts/dumb_vbios/script
Note that closing this window will abort the execution of this script
You have selected this device to dump the vbios from
01:00.0 VGA compatible controller: NVIDIA Corporation GM107GL [Quadro K620] (rev a2)

This does look like a valid GPU to me. Continuing .........


Checking if location to put vbios file exists
Vbios folder already exists

I will try and dump the vbios without disconnecting and reconnecting the GPU
This normally only works if the GPU is NOT the Primary or the only GPU
I will check the vbios at the end. If it seems wrong I will then retry after disconnecting the GPU

Defining temp vm with gpu attached
Domain 'dumpvbios' defined from /tmp/dumpvbios.xml

Starting the temp vm to allow dump
Domain 'dumpvbios' started

Waiting for a few seconds .....

Stopping the temp vm
Domain 'dumpvbios' destroyed

Removing the temp vm
Domain 'dumpvbios' has been undefined


/tmp/user.scripts/tmpScripts/dumb_vbios/script: line 297: cd: /sys/bus/pci/devices/0000:01:00.00/: No such file or directory

Okay dumping vbios file named quadro_k620.rom to the location /mnt/user/domains/vbios/

Um.... somethings gone wrong and I couldn't dump the vbios for some reason
Sometimes when this happens all we need to do to fix this is 'stub' or 'bind to the vfio' the gpu and reboot the server

This can be done in Unraid 6.8.3 with the use of the vfio config plugin or if you are on Unraid 6.9 or above it can be done
directly from the gui in Tools/System Devices .....So please do this and run the script again

 

Link to comment

Nevermind, just ran the exact same script a second time and it worked? Not sure what happened, but works thanks!

 

Script location: /tmp/user.scripts/tmpScripts/dumb_vbios/script
Note that closing this window will abort the execution of this script
You have selected this device to dump the vbios from
01:00.0 VGA compatible controller: NVIDIA Corporation GM107GL [Quadro K620] (rev a2)

This does look like a valid GPU to me. Continuing .........


Checking if location to put vbios file exists
Vbios folder already exists

I will try and dump the vbios without disconnecting and reconnecting the GPU
This normally only works if the GPU is NOT the Primary or the only GPU
I will check the vbios at the end. If it seems wrong I will then retry after disconnecting the GPU

Defining temp vm with gpu attached
Domain 'dumpvbios' defined from /tmp/dumpvbios.xml

Starting the temp vm to allow dump
Domain 'dumpvbios' started

Waiting for a few seconds .....

Stopping the temp vm
Domain 'dumpvbios' destroyed

Removing the temp vm
Domain 'dumpvbios' has been undefined



Okay dumping vbios file named quadro_k620.rom to the location /mnt/user/domains/vbios/

vbios seems to be correct. All done :)

 

  • Like 1
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.