mirror of
https://gitlab.com/polloloco/vgpu-proxmox.git
synced 2025-11-25 00:36:03 +00:00
Update guide with 17.0 (550.54.10) patch
This commit is contained in:
67
README.md
67
README.md
@@ -13,6 +13,8 @@ The following consumer/not-vGPU-qualified NVIDIA GPUs can be used with vGPU:
|
||||
- All GPUs from the Pascal generation (GTX 10xx, Quadro Pxxxx, Tesla Pxx)
|
||||
- All GPUs from the Turing generation (GTX 16xx, RTX 20xx, Txxxx)
|
||||
|
||||
Starting from driver version 17.0, Pascal and earlier require additional patches, see below for more!
|
||||
|
||||
If you have GPUs from the Ampere and Ada Lovelace generation, you are out of luck, unless you have a vGPU qualified card from [this list](https://docs.nvidia.com/grid/gpus-supported-by-vgpu.html) like the A5000 or RTX 6000 Ada. If you have one of those cards, please consult the [NVIDIA documentation](https://docs.nvidia.com/grid/15.0/grid-vgpu-user-guide/index.html) for help with setting it up.
|
||||
|
||||
> **!!! THIS MEANS THAT YOUR RTX 30XX or 40XX WILL NOT WORK !!!**
|
||||
@@ -61,10 +63,10 @@ First, clone this repo to your home folder (in this case `/root/`)
|
||||
git clone https://gitlab.com/polloloco/vgpu-proxmox.git
|
||||
```
|
||||
|
||||
You also need the vgpu_unlock-rs repo
|
||||
You also need the vgpu_unlock-rs repo (note that I'm using my own fork here because my pull request for 17.0 wasn't merged yet)
|
||||
```bash
|
||||
cd /opt
|
||||
git clone https://github.com/mbilker/vgpu_unlock-rs.git
|
||||
git clone https://github.com/polloloco/vgpu_unlock-rs.git
|
||||
```
|
||||
|
||||
After that, install the rust compiler
|
||||
@@ -102,7 +104,11 @@ echo -e "[Service]\nEnvironment=LD_PRELOAD=/opt/vgpu_unlock-rs/target/release/li
|
||||
|
||||
> ### Have a vgpu supported card? Read here!
|
||||
>
|
||||
> If you don't have a card like the Tesla P4, or any other gpu from [this list](https://docs.nvidia.com/grid/gpus-supported-by-vgpu.html), please continue reading at [Enabling IOMMU](#enabling-iommu)
|
||||
>> **PLEASE READ THIS**
|
||||
>>
|
||||
>> Starting from 17.0, all Pascal (and older) GPUs are **not officially supported** anymore. If you still want to use them, either stay on the LTS 16.x branch, or patch the driver with the relevant patch.
|
||||
>
|
||||
> If you don't have a supported gpu from [this list](https://docs.nvidia.com/grid/gpus-supported-by-vgpu.html), please continue reading at [Enabling IOMMU](#enabling-iommu)
|
||||
>
|
||||
> Disable the unlock part as doing this on a gpu that already supports vgpu, could break things as it introduces unnecessary complexity and more points of possible failure:
|
||||
> ```bash
|
||||
@@ -262,11 +268,16 @@ Depending on your mainboard and cpu, the output will be different, in my output
|
||||
This repo contains patches that allow you to use vGPU on not-qualified-vGPU cards (consumer GPUs). Those patches are binary patches, which means that each patch works **ONLY** for a specific driver version.
|
||||
|
||||
I've created patches for the following driver versions:
|
||||
- 16.4 (535.161.05) - Use this if you are on pve 8.1 (kernel 6.2, 6.5 should work too)
|
||||
- 17.0 (550.54.10)
|
||||
- 16.4 (535.161.05)
|
||||
- 16.2 (535.129.03)
|
||||
- 16.1 (535.104.06)
|
||||
- 16.0 (535.54.06)
|
||||
|
||||
Driver support by nvidia:
|
||||
- 16.x is the LTS branch, with official support until July 2026
|
||||
- 17.x has official support until February 2025
|
||||
|
||||
> ### The following versions are EOL, don't use them unless you have a very specific reason!
|
||||
> - 15.1 (525.85.07)
|
||||
> - 15.0 (525.60.12)
|
||||
@@ -274,7 +285,7 @@ I've created patches for the following driver versions:
|
||||
> - 14.3 (510.108.03)
|
||||
> - 14.2 (510.85.03)
|
||||
|
||||
You can choose which of those you want to use, but generally its recommended to use the latest, most up-to-date version (16.4 in this case).
|
||||
You can choose which of those you want to use, but generally its recommended to use the latest, most up-to-date version (17.0 in this case).
|
||||
|
||||
If you have a vGPU qualified GPU, you can use other versions too, because you don't need to patch the driver. However, you still have to make sure they are compatible with your proxmox version and kernel. Also I would not recommend using any older versions unless you have a very specific requirement.
|
||||
|
||||
@@ -288,24 +299,27 @@ I've created a small video tutorial to find the right driver version on the NVID
|
||||
|
||||

|
||||
|
||||
After downloading, extract the zip file and then copy the file called `NVIDIA-Linux-x86_64-DRIVERVERSION-vgpu-kvm.run` (where DRIVERVERSION is a string like `535.161.05`) from the `Host_Drivers` folder to your Proxmox host into the `/root/` folder using tools like FileZilla, WinSCP, scp or rsync.
|
||||
After downloading, extract the zip file and then copy the file called `NVIDIA-Linux-x86_64-DRIVERVERSION-vgpu-kvm.run` (where DRIVERVERSION is a string like `550.54.10`) from the `Host_Drivers` folder to your Proxmox host into the `/root/` folder using tools like FileZilla, WinSCP, scp or rsync.
|
||||
|
||||
### ⚠️ From here on, I will be using the 16.4 driver, but the steps are the same for other driver versions
|
||||
### ⚠️ From here on, I will be using the 17.0 driver, but the steps are the same for other driver versions
|
||||
|
||||
For example when I run a command like `chmod +x NVIDIA-Linux-x86_64-535.161.05-vgpu-kvm.run`, you should replace `535.161.05` with the driver version you are using (if you are using a different one). You can get the list of version numbers [here](#nvidia-driver).
|
||||
For example when I run a command like `chmod +x NVIDIA-Linux-x86_64-550.54.10-vgpu-kvm.run`, you should replace `550.54.10` with the driver version you are using (if you are using a different one). You can get the list of version numbers [here](#nvidia-driver).
|
||||
|
||||
Every step where you potentially have to replace the version name will have this warning emoji next to it: ⚠️
|
||||
|
||||
> ### Have a vgpu supported card? Read here!
|
||||
>
|
||||
> If you don't have a card like the Tesla P4, or any other gpu from [this list](https://docs.nvidia.com/grid/gpus-supported-by-vgpu.html), please continue reading at [Patching the driver](#patching-the-driver)
|
||||
>> **PLEASE READ THIS**
|
||||
>>
|
||||
>> Starting from 17.0, all Pascal (and older) GPUs are **not officially supported** anymore. If you still want to use them, either stay on the LTS 16.x branch, or patch the driver with the relevant patch.
|
||||
>
|
||||
> With a supported gpu, patching the driver is not needed, so you should skip the next section. You can simply install the driver package like this:
|
||||
> If you have a vgpu supported gpu from [this list](https://docs.nvidia.com/grid/gpus-supported-by-vgpu.html), patching is not necessary, and you can skip this step.
|
||||
> You can simply install the driver package like this:
|
||||
>
|
||||
> ⚠️
|
||||
> ```bash
|
||||
> chmod +x NVIDIA-Linux-x86_64-535.161.05-vgpu-kvm.run
|
||||
> ./NVIDIA-Linux-x86_64-535.161.05-vgpu-kvm.run --dkms
|
||||
> chmod +x NVIDIA-Linux-x86_64-550.54.10-vgpu-kvm.run
|
||||
> ./NVIDIA-Linux-x86_64-550.54.10-vgpu-kvm.run --dkms -m=kernel
|
||||
> ```
|
||||
>
|
||||
> To finish the installation, reboot the system
|
||||
@@ -321,21 +335,21 @@ Now, on the proxmox host, make the driver executable
|
||||
|
||||
⚠️
|
||||
```bash
|
||||
chmod +x NVIDIA-Linux-x86_64-535.161.05-vgpu-kvm.run
|
||||
chmod +x NVIDIA-Linux-x86_64-550.54.10-vgpu-kvm.run
|
||||
```
|
||||
|
||||
And then patch it
|
||||
|
||||
⚠️
|
||||
```bash
|
||||
./NVIDIA-Linux-x86_64-535.161.05-vgpu-kvm.run --apply-patch ~/vgpu-proxmox/535.161.05.patch
|
||||
./NVIDIA-Linux-x86_64-550.54.10-vgpu-kvm.run --apply-patch ~/vgpu-proxmox/550.54.10.patch
|
||||
```
|
||||
That should output a lot of lines ending with
|
||||
```
|
||||
Self-extractible archive "NVIDIA-Linux-x86_64-535.161.05-vgpu-kvm-custom.run" successfully created.
|
||||
Self-extractible archive "NVIDIA-Linux-x86_64-550.54.10-vgpu-kvm-custom.run" successfully created.
|
||||
```
|
||||
|
||||
You should now have a file called `NVIDIA-Linux-x86_64-535.161.05-vgpu-kvm-custom.run`, that is your patched driver.
|
||||
You should now have a file called `NVIDIA-Linux-x86_64-550.54.10-vgpu-kvm-custom.run`, that is your patched driver.
|
||||
|
||||
### Installing the driver
|
||||
|
||||
@@ -343,7 +357,7 @@ Now that the required patch is applied, you can install the driver
|
||||
|
||||
⚠️
|
||||
```bash
|
||||
./NVIDIA-Linux-x86_64-535.161.05-vgpu-kvm-custom.run --dkms
|
||||
./NVIDIA-Linux-x86_64-550.54.10-vgpu-kvm-custom.run --dkms -m=kernel
|
||||
```
|
||||
|
||||
The installer will ask you `Would you like to register the kernel module sources with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later.`, answer with `Yes`.
|
||||
@@ -352,7 +366,7 @@ Depending on your hardware, the installation could take a minute or two.
|
||||
|
||||
If everything went right, you will be presented with this message.
|
||||
```
|
||||
Installation of the NVIDIA Accelerated Graphics Driver for Linux-x86_64 (version: 535.161.05) is now complete.
|
||||
Installation of the NVIDIA Accelerated Graphics Driver for Linux-x86_64 (version: 550.54.10) is now complete.
|
||||
```
|
||||
|
||||
Click `Ok` to exit the installer.
|
||||
@@ -454,9 +468,9 @@ If we take a look at the output of `mdevctl types` we see lots of different type
|
||||
|
||||
> ### Important notes
|
||||
>
|
||||
> Q profiles *can* give you horrible performance in OpenGL applications/games. To fix that, switch to an equivalent A or B profile (for example `GRID RTX6000-4B`)
|
||||
> Q profiles *can* give you horrible performance in OpenGL applications/games (if you have a consumer GPU). To fix that, either add `vgpu_type = "NVS"` to your profile overrides (see below), or switch to an equivalent A or B profile (for example `GRID RTX6000-4B`)
|
||||
>
|
||||
> C profiles (for example `GRID RTX6000-4C`) only work on Linux, don't try using those on Windows, it will not work - at all.
|
||||
> C profiles dont exist anymore, just use Q profiles. ~~C profiles (for example `GRID RTX6000-4C`) only work on Linux, don't try using those on Windows, it will not work - at all.~~
|
||||
>
|
||||
> A profiles (for example `GRID RTX6000-4A`) will NOT work on Linux, they only work on Windows.
|
||||
|
||||
@@ -625,6 +639,13 @@ Please also provide the output of `uname -a` and `cat /proc/cmdline`
|
||||
|
||||
If you found this guide helpful and want to support me, please feel free to [buy me a coffee](https://www.buymeacoffee.com/polloloco). Thank you very much!
|
||||
|
||||
Alternatively, you can donate anonymously via Monero XMR to my wallet:
|
||||
|
||||

|
||||
```
|
||||
87GCYs8gAPUCt5PQYjk7FjGiLB44KYvM2aaFHB9U7syBPjnhRq4WVnF8F5xtvKzSp6Fp1HFrH94cC4FXP59G44pv6NueKwL
|
||||
```
|
||||
|
||||
## Further reading
|
||||
|
||||
Thanks to all these people (in no particular order) for making this project possible
|
||||
@@ -640,4 +661,8 @@ Thanks to all these people (in no particular order) for making this project poss
|
||||
If I forgot to mention someone, please create an issue or let me know otherwise.
|
||||
|
||||
## Contributing
|
||||
Pull requests are welcome (factual errors, amendments, grammar/spelling mistakes etc).
|
||||
Pull requests are welcome (factual errors, amendments, grammar/spelling mistakes etc).
|
||||
|
||||
## License
|
||||
|
||||
This project is licensed under [AGPL-3.0-or-later](LICENSE.md)
|
||||
|
||||
Reference in New Issue
Block a user