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 and should not exceed 1000 characters.
  2. Comments deemed to be spam or solely promotional in nature will be deleted. Including a link to relevant content is permitted, but comments should be relevant to the post topic. Discussions about politics are not allowed on this website.
  3. Comments and usernames containing language or concepts that could be deemed offensive will be deleted.
  4. Comments complaining about the post subject or its source will be removed.
  5. A failure to comply with these rules will result in a warning and, in extreme cases, a ban. In addition, please note that comments that attack or harass an individual directly will result in a ban without warning.
  6. VideoCardz has never been sponsored by AMD, Intel, or NVIDIA. Users claiming otherwise will be banned.
  7. VideoCardz Moderating Team reserves the right to edit or delete any comments submitted to the site without notice.
  8. If you have any questions about the commenting policy, please let us know through the Contact Page.
Hide Comment Policy
Comments