Modders find a way to enable GPU virtualization on GeForce graphics cards

Published: Apr 10th 2021, 21:20 GMT   Comments

GPU virtualization is now available on client NVIDIA graphics cards.

A group of enthusiasts have found a way to enable GPU virtualization for GeForce cards

A feature to artificially segment graphics card resources into multiple virtual instances is currently limited to Grid/Tesla and workstation Quadro GPUs. This functionality is not available to the gaming GeForce series. At least it wasn’t until now. Thanks to a rather simple mod called “vgpu_unlock”, this feature has now been enabled on consumer GPUs.

GPU virtualization is a way of distributing graphics card hardware resources virtually to a number of instances. This allows multiple end-users to use the graphics card for a variety of tasks, such as 3D modelling or scientific work. However, most users should be familiar with this technology thanks to GeForce NOW platform, where NVIDIA themselves use GRID GPUs to virtualize multiple environments for gamers.

NVIDIA GPU virtualization, Source: VideoCardz

Theoretically, it should now be possible to enable a single GeForce RTX 3090 graphics card to power multiple virtual machines and use that for gaming. It would have been an interesting solution to the GPU shortage. Although it has not been tested, Internet Cafes could use a single GPU to power multiple machines.

The mod is actually quite simple, it tricks the driver into reading a different PCI device ID. Pascal, Turing, and Ampere cards are being treated as Quadro or Tesla cards. It works on Linux and KVM virtual machine software. While the host machine cannot be Microsoft Windows-based, the virtual machines that will be attached to the main system can.

In order to determine if a certain GPU supports the vGPU functionality the driver looks at the PCI device ID. This identifier together with the PCI vendor ID is unique for each type of PCI device. In order to enable vGPU support we need to tell the driver that the PCI device ID of the installed GPU is one of the device IDs used by a vGPU capable GPU.

The list of all currently supported graphics cards has been published in one of the files:

vgpu_unlock GPU support list, Source: Github

Source: Github via Tom’s Hardware




Comment Policy
  1. Comments must be written in English.
  2. Comments must not exceed 1000 characters. Comment splitting is not allowed.
  3. Comments deemed to be spam or solely promotional in nature will be deleted.
  4. Discussions about politics are not allowed on this website.
  5. Sharing relevant links is permitted; avoid bypassing the link and word filters. Our team will approve links.
  6. Comments complaining about the post subject or its source will be removed.
  7. Offensive language in comments or usernames result in a ban.
  8. Direct attacks/harassment result in immediate ban.
  9. VideoCardz isn’t and was never sponsored by AMD, Intel, or NVIDIA. Users claiming otherwise will be banned.
  10. Moderators may edit/delete comments without notice.
  11. If you have any questions about the commenting policy, please let us know through the Contact Page.
Hide Comment Policy
Comments