AMD/NVIDIA GPU Passthrough in Window 11 - Proxmox Guide
Vložit
- čas přidán 22. 05. 2024
- Ah yes, after trial and error, 3 takes recording this, I finally got my Windows virtual machine to take the AMD GPU with PCI passthrough. These are the steps I took and the guide I followed. This guide should work for both AMD and NVIDIA dedicated graphics cards.
NOTE: If you're using an AMD GPU you may run into some issues as I did. For me the fix was disabling CMS in the bios. Also IOMMU needs to be enabled in bios no matter your hardware.
📖RESOURCES AND MENTIONS
Guide*: / the_ultimate_beginners...
*There are some additional steps and information in this video that are not included in the guide. Primarily during the VM setup process because of minor changes with Windows 11.
If you're still having issues these are helpful resources:
AMD Error Code 43: forum.proxmox.com/threads/pci...
AMD Reset Bug: www.nicksherlock.com/2020/11/...
Downloads:
Proxmox: www.proxmox.com/en/downloads
VertIO Drivers: fedorapeople.org/groups/virt/...
👏SUPPORT TECHHUT
CZcams MEMBER: bit.ly/members-techhut
BECOME PATREON: bit.ly/patreon-techhut
DONATE PAYPAL: bit.ly/paypal-techhut
$100 LINODE CREDIT: bit.ly/linode-techhut
🏆FOLOW TECHHUT
JOIN DISCORD: bit.ly/discord-techhut
TWITTER: bit.ly/twitter-techhut
MASTODON: bit.ly/mastodon-techhut
INSTAGRAM: bit.ly/personal-insta
📷MY GEAR (PAID LINKS)
ASUS ROG M16: amzn.to/3t8Xgpo
DeepCool MATREXX 40: amzn.to/3q3K8Qn
AMD 3700x: amzn.to/31AKX9N
ASRock B550M: amzn.to/3qeymTv
G.Skill Trident Z Neo: amzn.to/3JRbeSF
Radeon RX 580: amzn.to/3n7Ax9g
Cannon M50: amzn.to/3xLfhuA
Lights: amzn.to/3OdeWHU
00:00 - My Hardware
01:42 - Bios Setup
02:36 - Install Proxmox
04:03 - Initial Setup (GRUB/Modules)
05:41 - Remapping/Blacklisting Drivers
06:38 - Adding the GPU
08:33 - Setting up the Virtual Machine
11:01 - VM Configuration
12:00 - Adding PCI Device to VM
13:00 - Windows Install (VirtIO Drivers)
15:30 - Ethernet and Remote Desktop
17:30 - RPD and Display
18:40 - Installing Drivers
19:53 - Testing Drivers! - Věda a technologie
Want more awesome HomeLab Content!? Challenge yourself here: 100daysofhomelab.com
PLEASE read everything in the description if you're following this guide. Also if you have any suggestions are better methods please leave them in the comments so I can add notes.
On the last versions of W11, you can not continue without network connection. You can bypass it: Shift + F10 keyboard shortcut and write OOBE\BYPASSNRO in the command prompt
Nice, thanks
❤
Here's your like
You can also launch control panel from cmd to get to device manager where you can install the network drivers.
THANK YOU!! Follow these instructions. DO NOT Google!!
I love the chill vibe of these videos, you explain it so much better than everyone else. Thanks.
After watching dozens of videos about PROXMOX GPU Passthrough, I came to the conclusion that this video is the most detailed and faithful to the process.
Legend, thanks mate. This worked a treat. One issue I was having in case anyone else comes across this, make sure you unplug any displays connected to the graphics card being passed through before booting the machine into Proxmox. My VM wouldn't boot with a display plugged into the GPU. Adding the GPU in the hardware settings of the VM tipped me off as "PCI-Express" ticket on vs off would be the different between a successful VM boot, and not.
I hope that helps someone.
editing, great! I find it hilarious that Brandon is the only one I see using Nano. If it wasn't for him, I wouldn't know about it. Settling on Helix right now for me.
it worked! huzzah!
no idea why but when i followed Craft's two guides, one for linux and one for windows (in which he couldnt get it working, lol), windows could detect my 1630 in task manager but after installing the drivers things got CRAZY SLOW. like, booting took 3 minutes to open my 5 apps and i still couldnt hw transcode and even direct play was slow. dozens of threads over the internet about this but no real solutions. so i just nuked my VM, started from scratch with your guide and it worked. i won't question why, you did all the same steps as the other guides, but in a different order and in the end i don't care why it worked. you're the man, thanks a lot. pulling my hair out over this one for a while now.
Very simple and good understanding tutorial. Thanks!
Great work and accessible guide, I appreciate your hard work.
Cool guide. Thanks for the content and hard work.
Be well.
Hi,
First thing I want to say is sorry for my English, it’s not my native language. Thanks for understanding 😊
I really like this video. Guide is very clear and easy to follow.
I’m trying convert my PC to proxmox servers with multiple VM’s. Some of them will run in a same time (nas, plex, home assistant), some of them will run VMs with different OS (primarily MacOS and Windows).
And I won’t use Windows and MacOs in a same time, that’s why I want to passthough as much things as possible to each of them to use them as a normal daily computer.
To switch between VMs I plan to write some script in python that shuts down one VM before starting second.
If you like an idea and want to cover it in a future videos it would be awesome 😊
Nice. Proxmox rocks.
I’m really interested to see if you can say there is any noticeable performance drop in the graphics. I think there should not be but I don’t know enough.
Thanks again.
If your one those lucky people interested in starting your own home lab techhut is giving good tutorial, you might want to conduct some additional research depending on your specific hardware because some additional steps maybe necessary to ensure proper pci-pass through. If you have one those with higher end gpu please remember you might run into reset bug which won't allow you restart vm without resetting the entire server.
Still one of the best videos for this. Thanks again.
IT WORKED! 1st time through :) I did lose console view at the end but RDPed into it and loaded the drivers from Nvidia and all is well. Perfect Guide :)
Will hdmi work???
Thanks for the nice clear explanation without skipping steps!
I guess later on you can connect a monitor to the AMD gpu and use that?
I mean, instead of connecting to the virtual machine via the remote-desktop?
If using an external monitor, would it be necessary to also pass through the HDMI or is that using the same PCI address?
Thank you TechHut for that Video, and also to everyone else that is contributing to solving problems for GPU passthrough error codes! It can be such a struggle.
I tried so many things to resolve Error 43 inside the Windows Device-Manager. The solution simply was disabling Resizeable Bar in my BIOS/UEFI ! I'm so glad it is working now!
My Setup:
Im am using Proxmox on a local machine with GUI - a possible but unsupported thing.
Ryzen 3900X
1st GPU Radeon 6900XT (for passthrough)
2nd GPU Nvidia GTX 1650 passive card with 75Watt (used for host and enabled for X11 Display)
Asus X570 TUF Mobo
hey man did you made any other setup? got a 6900xt too, but after disable resizeable bar the windows vm wont boot
@@AiresMPunfortunately I reverted the setup some time ago, because the performance wasn't what I expected, some applications and games were fine, but some had a big performance loss via passthrough - it's still considered experimental I guess
Did the VM boot when you had resize BAR on?
I would try configuring the GPU as a new one inside Proxmox after disabling resizeBAR and check/follow each steps from a guide.
Maybe you missed something like blacklistung the driver for the host?
Could be a lot of things honestly!
Also check the logs from Proxmox after the startup fails (/var/log/syslog)
Excellent!! Please answer this question: where did you find the string to insert in the "args: ... hv_vendor_id=NV43FIX..." directive inside the 100.conf file? Thank you so much for your kind support!
THANK YOU SO MUCH!! THIS WORKED FOR ME ON THE FIRST TRY!! YOU ARE A GOD!!!
Will hdmi work can you plug in a minute monitor??
I have that exact setup! Same gpu and bios. I am working on getting my gpu passed into an lxc ubuntu install running docker so I can pass my gpu through to containers.
So many Brandons on the internet, keep up the good work other me.
I noticed you have FQDN ending with .local. Something I learned a couple years back is that having a zone ending with .local, android devices will not be able to resolve due to how it is used with mDNS.
Appreciate your video and detailed guide. I don't like the word idiot in there, because someone who don't know how to do it is not automatically an idiot.
It should be ignorant, since you can be extremely smart but have a lack of knowledge on a particular subject.
@@michaelamos75 no. Ignorant is someone who knows that something does exists (like the Earth is a globe not flat) and then ignores all the evidences. Instead of idiot I would say noob. Totally inoffensive.
Great vid. Btw i was the guy that saw you and your family walking up the hill 👍
Awesome! I should have talked more but I didn't expect that at all haha. 😅
Personally, I don't have a use case for this, but really appreciate the detailed walkthrough, great job!
virtio block has better performance in windows and can be installed with virtio iso driver as well, you should put writeback with discard, ssd emulation and iothread
14:45 you can put multiple drives into a VM. Then you don't jump between the drives😉
Really awesome sharing
Great tutorial, will this allow me to share the Video card with multiple VMs or just the one windows VM?
the general rule of thumb is one gpu per vm, if you have an nvidia enterprise/server card, it should have vGPU capabilities, which would allow for splitting the gpu amongst multiple vms, this is an entirely separate technology though, you'd need to look into it. AMD has MxGPU but that works a bit differently and might not apply the same way.
there is a patch on linux machines that allows for consumer geforce cards (up to the 20 series) to have vGPU enabled on them, so you could also look into that, but idk much about it.
Very, very good video! Thnak you!
Atm I have the problem, that I dont see the gpu in my win 10 vm under task manager. I followed every step and have read the entire reddit post. Maybe you have an idea
If you have NVIDIA graphics card error 43 on AMD platform, change the GRUB line to such GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt pcie_acs_override=downstream,multifunction nofb nomodeset video=vesafb: off initcall_blacklist=sysfb_init" and update-grub, restart proxmox, I don't know if it's the most optimal but it works, you don't have to reinstall the Windows virtual machine, just reinstall the NVIDIA drivers.
@TechHut can you please make a similar video but with single gpu passthrough
Does this work for already pre-installed VMs? Or does a new VM need to be installed from scratch to get the passthrough working?
GREAT intro for a beginner proxmox user!! However, incase this helps anyone, here are some issues i ran into:
1. had to use exact virtio drivers iso as linked in this video (other releases from fedora were missing scsi for me)
2. had to check "QEMU agent " under system, during initial VM configuration
3. when installing win11, i had to shift + f10 to open CMD in win installer and then force network bypass using oobe\bypassnro
4. when changing display under hardware in proxmox web GUI, i had to also reboot node to avoid QEMU failures
5. as a noob, forgot to readjust boot order many times lol.
Hope this helps any other noobies, and if you have suggestions please let me know :)
This tutorial works great. I've actually installed win 11 on the desktop as a vm with direct passthrough of the displays attached to the gpu, so on the surface the pc looks like a normal windows machine, but underneath it's running proxmox with a few more linux vms. (don't forget to start the vm at proxmox boot (VM->Options->Start at boot = Yes)
I've also tried to do this for linux vms with ubuntu and pop os, but with no success. I've followed a few guides, but nothing really works for me and each guide is different in the changes they make. If you happen to know how to do this tutorial to linux that can pass through all the way to the display that would be awesome. I prefer running linux for development and I don't really want to have a dedicated machine for it, so a linux vm like this windows vm would be great. Thanks for sharing. I learned a lot from you
hi! did you solve this problem with linux display passthrough?
Hello, could you make a tutorial on how to spin-down hdd in Proxmox? thanks in advance!
Excellent video on how to use one GPU with Proxmox and using Davinci Resolve to test the GPU pass-through performance. It would have been nice to see how Resolve performs with playback or another typical editing graphics-intensive function with GPU passthrough.
Can you plug a monitor in the hdmi port will it output
what does the cpu: flags=+pcid and the whole args: do specifically?
Does this work with older hardware such as my Z87-A Motherboard with an Intel 4790? Or do I need newer hardware to do this?
Ventoy is an open source tool to create bootable USB drive for ISO/WIM/IMG/VHD(x)/EFI files.
I already have a win11 installed and running before adding a quadro p4000 gpu and I've done all the steps in this video up to starting the VM. When I add the gpu in the hardware it does not let the VM start
Would this process be different for an LXC container and an Nvidia GPU? If so, could you point me in the right direction to a guide? I believe I am so close. Instead of updating ../qemu-server/100.conf I am editing ../lxc/100.conf, but I assume the lines I add in this file are different than what you added and there might be some steps that need to be done prior to this.
Or would all of this be easier if I installed a VM as you did (i.e. ubuntu server) and setup GPU passthrough (the same as this) to that VM? If so, in order to setup plex and start apps in the VM, should I use docker? Will the GPU passthrough work on everything in the VM (i.e. docker, docker containers)?
Thanks!!!
How do you get you VM to start with 1080p res? In all my experince with AMD GPU's, when there is no display connected, they default to the lowest resolution and you cannot change this.
I must have 2 PCIE video cards so I can pass through 1 in case I do not have a onboard one?
Good vid!
Hi, I'm trying to get my gpu passthrough to work and followed the guide/video, but when i boot into windows and look in task manager the gpu is not there.
any chance of a prox mox virtual machine with GPU and USB pass through for a Virtual Mac?
Hey so it seems if i do the part with the switch default to none at the end my vm cracks up and the pictures keeps hanging any idea what it could be im running an 1080 gtx also if i switch back it hangs up on boot in loading screen
So if i wanted to setup linux with windows VM and im planning on upgrading my GPU should i go nvidia or amd do you think?
14:53 - why don't you just mount 2 CD/DVO instead of jumping?
This video has an error in the title.
"AMD/NVIDA", it should be "AMD/NVIDIA".
Would this work for jellyfin running in a docker container on ubuntu 20.04.02. I would like to use the nivida T400 video card to transcode for jellyfin.
Does proxmox allow stable emulation of a virtual machine with more RAM for use then the host has physical RAM? If not , does anything?
I "accidentally" got the same mobo as yours. I'm gonna get a Gigabyte RX580 8GB. Some said the GPU does have the reset bug, some doesn't. I need a suggestion please!
Can you do this to a existing Windows 10 installation?
hi can you please answer my question, I would like to have windows 11 and mac OS in one computer, I have a 1TB SSD right now I have windows 11, so can I create a partition for proxmox and install it on it, will the data on my windows 11 get lost?
So, doesn't look like I can use this to create a Ubuntu 22.04.2 VM running on windows 11 Host right? All i see is win virtual drivers, no linux virtual driver? please help clarify.
how to forward a video card on several virtual machines?I have device '0000:05:00.0' is already in use by VMID '1110'
Should you install proxmox over the motherboards inbuilt graphics?
if the passthrough is working, can i connect a monitor on the gpu and use that instead of remote-ing to the VM?
Building a itx system limited on drives can i just run proxmox ofc usb stick
I dont have the iommu option in my bios at all, i have an A320M -A pro
Quit tip for those proxmox has single GPU, need to add "initcall_blacklist=sysfb_init" to kernel parameter
I gotta problem. I've installed windows 11 In Proxmox with GPU Passthrough successfully.
But only I can use in remotely.
I saw another videos from another CZcamsrs that get video in the same GPU Card.
But I only get black screen.
Might be i missing something?
Thanks
Hi, can someone help me ? In the windows 10 VM my gtx 1050ti driver doesn't work. I installed all nvdia driver, but nothing.
I presume you can plug a monitor in and it will output display??
My Dear TechHut,
I have a question for you. Have you try to do the same in a linux machine ?
Because usually passthrough to windows work quite well. With Nvidia and AMD. But passtrought to Linux is another story.
With Nvidia and the official driver is ok. The performance loss compare to windows is quite significant.
And with AMD I cannot say I have not been able to make it work yet !
:D
I want to use my old GTX 960 as the host GPU and a XFX RX 6800XT as the VM GPU. This is with a Ryzen 9 5900XT on a Aorus B450 board. The bottom PCIE slot is only x4, so I'll put the 960 there since it'll never need to do a whole lot. The top x16 slot seems to be in an isolated IOMMU group, so 6800XT there. I'm going to try that this weekend, has anyone done something similar? Any issues with Radeon passthrough?
How can I integrate the GPU to my Linux in VirtualBox?
I don't think I heard but do I need a 2nd GPU for this? It's probably a better idea to have a 2nd one but since my proxmox sits headless anyway would this work for a single GPU setup??
This setup is a single GPU :)
That's very cool
@@TechHut Awesome, very good to know, every time I looked into this in the past "everyone" claimed a 2nd GPU was a requirement :) it would be so cool to be able to have a VM just for OBS recording (I like to use NDI a lot!)
@@TechHut Awesome, I'll give it a try :)
Can I use the same GPU for multiple VMs?
cpu type should be host unless you plan to live migrate with a windows anyway
I don't know what is wrong with my setup. I am trying to make it work on Gigabyte X570 ITX mobo, R7 3700X and RTX 2060/GTX 970. Every try I ended up with no display output/blackscreen on both GPUs. Luckly no code 43. Did you manage to have a physical display output?
I am having the same. Did you figure it out?
@@GOPACKERSJT Yes, I had to add this script to cron to execute at startup:
echo 1 > /sys/bus/pci/devices/0000\:0a\:00.0/remove
echo 1 > /sys/bus/pci/rescan
Good luck :)
@@Celus00 THANK YOU!!!
How I get the audio with that rdp
Can i get output directly from the GPU?
Any reason why this won't work on EndeavorOS?
It's not working man, I completely destroyed my proxmox, when i hit start vm it's restarting proxmox, and is starting in a weird way, with errors and grub, no longer system boot, how can i undone what i did?
I've done exactly everything in the video, with no errors, and get back into windows but when i go to task manager I don't see a GPU, any reasons why? Help plz
specs:
2* E5-2670V3 cpu
jinsah dual x99 f2 mobo
gtx 1080 gpu
It might be your unusual motherboard. It's just a speculation. Look up BIOS/UEFI settings regarding the GPU
How to do this for the integrated gpu?
I use HP Z420 with Intel Xeon E5-2680v2, and 2 GPUs including RX 570 (4Gb) and Nvidia GT730 (2Gb), I tried to follow your guide but I can't passthrough GPU when I set the display to "None", the VM can't be started and it shows that "VM 1001 qmp command 'set_password' failed - Could not set password
TASK ERROR: Failed to run vncproxy." Do you have any suggestions for me, please? Thank you!
I can passthrough now, but the last step when you set display to none, if I do that, the VM will not be started, I have to set it as "default". I can see in Task manager the GPU is RX 570 but in "dxdiag" it doesn't show RX570 there. How about you please!
Test it and it work on my Radeon 6600XT however if I do intense graphics usage like game.. RDP will get cut off multiple times with error. Any solutions?
sunshine moonlight it's your solution
How we change hwid everytime?
good guide, i had followed it frist time it work on my rtx 2080ti with cpu host 3700x it work fine but after i accidentally remove the ip address on the host had to re install proxmox and the win 11 vm , then follow again your guide the nvidia driver was giving error code 43, oddly after i disable the blacklist.conf and the vio...something where you put the gpu pci address, them i boot into the gpu with direct output on the gpu hdmi
what's your performance on gaming?in a normal Windows machine I get 500-700fps,but in proxmox im getting only 40-50fps with same settings,you too?
Dosn't work with Ryzen™ 7 4800U / Integradet ATI Radeon =(
Hi, I did everything as in the video, but when I start the VM I get an error:
TASK ERROR: cannot prepare PCI pass-through, IOMMU not present.
Can anyone come across and help me with the solution?
4 months late here, sounds like u need to enable iommu in your bios
ha! I tried to do this yesterday and ended up deleting the VM multiple times, I use i5 12400 with RTX 2060, it just freezes on remote desktop right before I'm about to install the nvidia driver, then I won't be able to boot. Will try it again today, wish me luck
update: just tried it again, it works now! thanks for the awesome guide!
@@ibnuh you did something specific to solve your problem?
@@Processador_DE_BaixaQualidade when I did this restarting proxmox fixed my issues that happened when I would install the drivers
ok so basically it is a remote virtual machine with GPU passthrough. but why using the VM if we just simply can use a windows host and a remote to it? what is the point ?
If you plan to have additional VMs, OSs on that same machine (e.g. 1 powerful Windows VM for video editing, 1 Linux VM to host docker images/services, etc...)
when boot my VM display black screen notification: "guest has not initialized the display (yet)"
how to work for mutil VM ?
uefi bios is not needed, only machine type
So i am wanting to setup a gaming VM too and of course nothing ever goes to plan. I can get IOMMU enabled but as soon as I do, my PCIe SATA cards don't detect any drives anymore. No idea why?
As soon as I remove intel_iommu=on from grub and reboot, my drives are then detected again. PITA
Resolved with "quiet intel_iommu=on iommu=pt nofb nomodeset video=vesafb:off,efifb:off" in my grub. Onward and upward to Cloud gaming on a VM!
@@jared4670 what's your fps in gaming?I'm getting poor performance,like in a normal Windows machine I would get 400-600fps in Minecraft,but in proxmox im getting like 40-50fps with the same exactly settings,did you know something that could solve my problem?
@@Processador_DE_BaixaQualidade my FPS is normal. I am jsut trying to get the thing to work. I finally was able to get the virtual monitor working now I just need to resolve this networking issue. With it being a VM, you are going to see a performance loss. Bare metal will always be faster than virtulized. The idea behind this is to have portable virtual gaming from any device. 720p with 40-50fps running on your phone whilst you are on a bus on the way to work isn't bad at all. Or even "watching" your kids. Can't complain too much. If you have time to sit at your PC and have the full experience then go for it.
@@jared4670 the problem is: i want to make a gaming server for my friends,i have 5 gpus,and 76 theads,but the fps is so much low,but thanks for the help,i finally found i way:KVM emulator in Ubuntu the performance is 90-95% of the and original windows system, btw what's your gpu?
Hello TechHut for me not working 😭 on all virtual machines I have this error: VM 102 qmp command 'set_password' failed - Could not set password
TASK ERROR: Failed to run vncproxy.
i'm currently having the same issue, did you managed to solve?
Não,acho que a meu gpu não é suportado
you need to have an updated written tutorial-- the reddit guide is outdated.
It's just too much of a hassle to make it work. Just installing it normal makes life easier :D
Can I enable 2 GPUs?
Why have the drive be a SCSI drive? That seems odd and slow?
it is not necessarily
Will this work if i only have 1 gpu no internal vidro card.
??
@@kcoppa if my server motherboard has no insternal video card. Only have gpu in the pci slot.
@@WRod1464 Sorry. I just put the question marks so I would also get the answer. I search the comments and this does work with only 1 GPU.
@@kcoppa thanks
great video but when i go to load the virtio drivers i see nothing for windows 11
Hi, you need to actually click into the folder within the disk image otherwise windows 11 installer wont see the needed driver files. Windows file explorer is a little wonky, try and do the work for it.
👍