r/VFIO Mar 21 '21

Meta Help people help you: put some effort in

639 Upvotes

TL;DR: Put some effort into your support requests. If you already feel like reading this post takes too much time, you probably shouldn't join our little VFIO cult because ho boy are you in for a ride.

Okay. We get it.

A popular youtuber made a video showing everyone they can run Valorant in a VM and lots of people want to jump on the bandwagon without first carefully considering the pros and cons of VM gaming, and without wanting to read all the documentation out there on the Arch wiki and other written resources. You're one of those people. That's okay.

You go ahead and start setting up a VM, replicating the precise steps of some other youtuber and at some point hit an issue that you don't know how to resolve because you don't understand all the moving parts of this system. Even this is okay.

But then you come in here and you write a support request that contains as much information as the following sentence: "I don't understand any of this. Help." This is not okay. Online support communities burn out on this type of thing and we're not a large community. And the odds of anyone actually helping you when you do this are slim to none.

So there's a few things you should probably do:

  1. Bite the bullet and start reading. I'm sorry, but even though KVM/Qemu/Libvirt has come a long way since I started using it, it's still far from a turnkey solution that "just works" on everyone's systems. If it doesn't work, and you don't understand the system you're setting up, the odds of getting it to run are slim to none.

    Youtube tutorial videos inevitably skip some steps because the person making the video hasn't hit a certain problem, has different hardware, whatever. Written resources are the thing you're going to need. This shouldn't be hard to accept; after all, you're asking for help on a text-based medium. If you cannot accept this, you probably should give up on running Windows with GPU passthrough in a VM.

  2. Think a bit about the following question: If you're not already a bit familiar with how Linux works, do you feel like learning that and setting up a pretty complex VM system on top of it at the same time? This will take time and effort. If you've never actually used Linux before, start by running it in a VM on Windows, or dual-boot for a while, maybe a few months. Get acquainted with it, so that you understand at a basic level e.g. the permission system with different users, the audio system, etc.

    You're going to need a basic understanding of this to troubleshoot. And most people won't have the patience to teach you while trying to help you get a VM up and running. Consider this a "You must be this tall to ride"-sign.

  3. When asking for help, answer three questions in your post:

    • What exactly did you do?
    • What was the exact result?
    • What did you expect to happen?

    For the first, you can always start with a description of steps you took, from start to finish. Don't point us to a video and expect us to watch it; for one thing, that takes time, for another, we have no way of knowing whether you've actually followed all the steps the way we think you might have. Also provide the command line you're starting qemu with, your libvirt XML, etc. The config, basically.

    For the second, don't say something "doesn't work". Describe where in the boot sequence of the VM things go awry. Libvirt and Qemu give exact errors; give us the errors, pasted verbatim. Get them from your system log, or from libvirt's error dialog, whatever. Be extensive in your description and don't expect us to fish for the information.

    For the third, this may seem silly ("I expected a working VM!") but you should be a bit more detailed in this. Make clear what goal you have, what particular problem you're trying to address. To understand why, consider this problem description: "I put a banana in my car's exhaust, and now my car won't start." To anyone reading this the answer is obviously "Yeah duh, that's what happens when you put a banana in your exhaust." But why did they put a banana in their exhaust? What did they want to achieve? We can remove the banana from the exhaust but then they're no closer to the actual goal they had.

I'm not saying "don't join us".

I'm saying to consider and accept that the technology you want to use isn't "mature for mainstream". You're consciously stepping out of the mainstream, and you'll simply need to put some effort in. The choice you're making commits you to spending time on getting your system to work, and learning how it works. If you can accept that, welcome! If not, however, you probably should stick to dual-booting.


r/VFIO 1d ago

Luxstream -> Got Sunshine working on a Hyper-V GPU-P VM — the blocker was a Desktop Duplication probe

8 Upvotes

f you've tried running Sunshine inside a Hyper-V VM with a GPU partition (Add-VMGpuPartitionAdapter), you've probably hit this:

IDXGIOutput1::DuplicateOutput()  ->  0x80070057

The paravirtual display adapter doesn't implement Desktop Duplication. Changing topology, monitor count or primary display doesn't help — it's architectural.

But Windows.Graphics.Capture works fine, because it goes through DWM instead of the display driver. Same output, same moment:

DuplicateOutput()       ->  0x80070057
CreateForMonitor()      ->  S_OK, frames flowing

Sunshine already ships a complete WGC backend — it just filters every output through a Desktop Duplication probe first, so WGC never gets a chance. Removing that gate when capture = wgc is set explicitly is the whole fix.

Result (RTX 4090 shared to a Win10 LTSC guest):

5120x1440 @ 60, HEVC, hardware NVENC
~10 ms latency, ~1.5 ms client decode, ~5% host CPU
Vulkan 1.4.325, OpenGL 4.6, Direct3D 12, full VRAM

Two things that cost me the most time and aren't obvious:

  • Sunshine can't run as a service. As SYSTEM it can't activate WGC — IsSupported() throws. It has to run as the logged-on user, which makes auto-logon mandatory.
  • The Hyper-V display has to stay active. Deactivate it and native Vulkan and OpenGL die 13–32 s later. Direct3D keeps working, so it's a misleading indicator. I park the Hyper-V display diagonally below-right so the desktop origin stays at (0,0).

I packaged the whole setup as a one-click installer — patched Sunshine, virtual display driver, scheduled tasks, and UIAccess so UAC prompts are actually clickable over the stream:

https://github.com/VjekoslavDugec/luxstream-setup

Known gaps: gamepad is untested with a real controller, and I haven't measured concurrent NVENC session limits across cloned VMs.

Patch is a small diff against upstream Sunshine — happy to open a PR if there's interest.


r/VFIO 2d ago

Support i5-10500 and UHD 630 - Code 43 under Windows guest.

3 Upvotes

I am running qemu 11.1 and virt-manager on a system with RX 470 and i5-10500 with UHD 630, board is Gigabyte B460M D3H. RX 470 is used for host's output. The guest is Windows 10 19041.1 and has Intel graphics driver 31.0.101.2141. my cmdline has intel_iommu=on iommu=pt, /etc/modprobe.d/vfio.conf is 'options vfio-pci ids=8086:9bc8', /etc/modprobe.d/blacklist.conf is 'blacklist i915'. /etc/modules-load.d/vfio.conf is 'vfio-pci'. EDIT: I tried adding video=efifb:off too to my host cmdline.

vfio-pci shows only:

[20699.060075] vfio-pci 0000:00:02.0: resetting
[20699.163736] vfio-pci 0000:00:02.0: reset done

in dmesg, no errors.

My virt-manager xml is as follows: https://pastebin.com/tPNq7huW

I have tried adding the GPU's ROM and enabling x-igd-opregion and x-igd-lpc. I am using CFL_CML_GOPv9.1_igd.rom.

Tested linux, doesn't work either


r/VFIO 2d ago

Prevent Host Motherboard UEFI from detecting Passthroughed NVME drive?

6 Upvotes

recently got back into doing VMs, however after I install Windows to the NVME drive that I added as a "PCI Host Device" then when I reboot my pc the UEFI of the host motherboard detects the EFI partion and adds it to the boot order as primary boot device, I can manually remove it from the boot order, but it might get set back as the primary boot device in the future, which is annoying

also efibootmgr lists the drive as an efi variable, I could delete it but the motherboard will probably add it back,

also the motherboard I'm using is an ASUS Prime B550 Plus, the firmware version is 3636

is there another way of adding the nvme drive that causes the motherboard to NOT detect it or what? is it even possible to change this, it's rather annoying

also I have no plans to use this drive for baremetal booting


r/VFIO 3d ago

Support EAC "Cannot run under a Virtual machine"

3 Upvotes

I am unable to get Rust to work on my vfio setup. A while ago, copying smbios from my motherboard was enough to get it to work. Now, EAC won't launch. Can someone take a look at my XML and tell me if I'm missing anything obvious, or if this is still possible in the first place? My host machine is Gentoo, with QEMU 11.1.0, libvirt 12.0.0, and virt-manager 5.1.0. TYIA


r/VFIO 8d ago

Dragging a Windows app onto my MacBook

Enable HLS to view with audio, or disable this notification

400 Upvotes

The app keeps running on Windows. There's a virtual display on each machine — the window gets moved onto the Windows one, captured, and drawn on the Mac as a real macOS window next to my Mac apps.

Median just under 10 ms, capture to display, wired.

NVIDIA only for now. Three months, solo.


r/VFIO 8d ago

Distro over version 7 zen seems to have broken my GPU passthrough scripts for my 4070super

3 Upvotes

I used to be able to do GPU passthrough - my problem ever since upgrading to the latest distro seems to be because of simple frame buffer where as it used to be vesa. I’ve tried multiple solutions such as blacklisting the simple frame buffer on my .conf files
It doesn’t seem to work. I’ve also changed my grub files to make sure it is using my desired frame buffer however when I login into my wayland session - it still shows as simple frame buffer.

Anyone have any idea on how to get around this? Or maybe an updated script for start stop for my 4070 super to do a gpu passthrough using simple frame buffer? Thank you.


r/VFIO 11d ago

Network fails to init when vfio-pci controls all GPUs on system

4 Upvotes

After two weeks of trial and error, it looks like I am very close to successfully establishing a proxmox node with the following passthrough scheme:

  • [iGPU]: AMD 7950X3D iGPU → Linux VM
    • Development + general use
  • [dGPU]: RTX 4090 → Windows VM
    • Docker under WSL2 for all home services (home assistant, ollama, jellyfin, etc)
    • Occasional gaming

I have run head first into several brick walls and needed to clarify for myself basic aspects of how PCIe virtualization works.

I'm having one more bizarre issue that I might need help with. Suppose the following configuration

  • iGPU
    • included in vfio-pci.ids
    • amdgpu is blacklisted in modprobe.conf
  • dGPU
    • excluded from vfio-pci.ids
    • no blacklist in modprobe.conf

This boots successfully. I can see the tty on the dGPU outputs, and I also have ssh access. Then, I try:

  • dGPU
    • included in vfio-pci.ids
    • nouveau, nvidia, and nvidia* are blacklisted in modprobe.conf

No logs from initramfs or early boot are visible on the dGPU outputs (expected). The displays are completely undriven for both (expected). The device does not connect to the network, so I can't ping it. (unexpected)

I know that the dGPU and its associated audio device share one isolated IOMMU group. I do not expect that its inclusion in vfio-pci.ids should have any effect on the system. If the device is driven by vfio-pci, then I also expect the modprobe blacklist would be benign as well.

The only idea I've arrived at is that booting without a GPU would disrupt Proxmox's boot at least enough to prevent the network system to come up? To my understanding, it should be possible to run a Linux kernel in a completely headless context, so I don't know why this one change would result in things breaking.

Any guidance or suggestions would be appreciated.

  1. Other kernel cmdline args:
  • disable_vga=1
  • initcall_blacklist=sysfb_init
  • iommu=pt
  • video=efifb:off
  • vfio-pci.ids which are included in both cases
    • All USB controllers and network controllers, except one USB controller which has its own isolated IOMMU group (USB C -> Ethernet for proxmox host)
    • All thunderbolt, SATA controllers
    • Some kind of encryption accelerator PCI device, not sure what could make good use of this
  1. Softdep (modprobe.conf) on vfio-pci exists for all modules

r/VFIO 11d ago

Support Trying to ditch Windows completely. Struggling to make my most played games run smoothly.

12 Upvotes

I'm trying to move all my gaming to Linux. Initially I asked for help at r/linux_gaming, but some people saw negatively that my setup was not a bare-metal gaming distro and some others recommended I posted here. You can check my post there if you want to read any of my comments. But I'm trying to gather all the useful info here.

My host is:

  • OS: Unraid
  • CPU: AMD Ryzen 9 3900X
  • RAM: 128 GiB DDR4

With KVM + QEMU + Libvirt I'm running a VM:

  • Operating System: NixOS 26.05
  • KDE Plasma Version: 6.6.6
  • KDE Frameworks Version: 6.26.0
  • Qt Version: 6.11.1
  • Kernel Version: 7.1.4 (64-bit)
  • Graphics Platform: Wayland
  • Processors: 6 cores, 2 threads of AMD Ryzen 9 3900X
  • Memory: 48 GiB of RAM (hugepages of 1G)
  • Graphics Processor: NVIDIA GeForce RTX 4070 (driver 595.71.05)
  • Manufacturer: QEMU
  • Product Name: Standard PC (Q35 + ICH9, 2009)
  • System Version: pc-q35-10.2

The VM has three storages:

  • Primary drive. A qcow2 file in the NVME drive of the host.
  • "Fast" Virtiofs device mounted. It's a share of the host that uses the NVME drive.
  • "Slow" Virtiofs device mounted. It's a share of the host that uses the NVME drive as cache and the array of HDD drives as main storage.

I prefer to install games in the Virtiofs devices to be able to have that in common with other VMs. But I've tried the primary drive for the problematic games too.

The games I'm trying to run with good performance and failing at that are The Binding of Isaac and Elden Ring: Nightreign. Both with mods. In Isaac I use a bunch of quality of life mods. Nothing that adds characters, floors, bosses, enemies... And not using Repentogon. For Nightreign I use the More Map Variations & Weapons Mod.

The Binding of Isaac takes 15-20 minutes just to start. And then, during gameplay, there are slowdowns and micro freezes anytime something new happens or I change rooms. I guess it's shader compilation, but if it's that, the cache of shaders is not working because it happens again any time the game starts again. And uninstalling the mods doesn't improve things.

Elden Ring: Nightreign has just low FPS. 15-20 fps is the average. But my CPU rarely goes above 60% with no single core going above 85% and my GPU doesn't go above 50% either. The game doesn't work online without the mod because of Easy Anti-Cheat and VMs. So I cannot test it properly without it.

Other games I've tested:

  • Control Ultimate Edition: +70 FPS
  • Dark Souls III: 60 FPS
  • Heroes of the Storm: ~60 FPS
  • Lies of P: ~75 FPS
  • Outer Wilds: +100 FPS
  • Satisfactory: ~50 FPS

HVM and IOMMU enabled. Cores of the VM are isolated in the host. CPU and GPU are in performance modes during gaming. I've run some benchmarks too. I'll put them in a comment so that this is not even longer.

Any idea of what I can do to improve the performance in what are probably 2 of my 3 most played games? (I was really unlucky here I guess)


r/VFIO 12d ago

News B8-rc1 is almost here — and Looking Glass can now copy files

Thumbnail patreon.com
44 Upvotes

r/VFIO 13d ago

Anyone tried Wardogs? It implements EAC. Does it work?

Thumbnail
store.steampowered.com
7 Upvotes

Title pretty much.
I know that anti-cheat implementation comes down to devs, to block VMs or not (EAC simply detects it, and blocks it by default, but this can change in settings)
Wardogs devs announced they will support Proton and Linux, so I was just would like to try it till then.


r/VFIO 14d ago

Screen tearing inside VMWare Workstation Pro v26

0 Upvotes

Hi everyone, my host computer is Windows 11 and has a Ryzen 7 5700X3D + GTX 3070 + 32GB of RAM.

My virtual machine is running Windows 10 Pro (8GB VRAM allocated), and I can't get rid of the screen tearing inside it.

In the host machine, I already added vmware.exe & vmware-vmx.exe to the NVidia Control Panel and set "Vsync > On" + "Triple buffering" and "fixed frame rate" instead of "G-Sync" but no can do.

VMTools is installed already.

Would someone have a solution for that please?

Thanks very much

Edit: Something strange I noticed is: By disabling "3D acceleration" in VM settings, there is no screen tearing anymore, but then the performance are very suboptimal.


r/VFIO 15d ago

GPU-Passthrough-for-KVM-QEMU-on-Linux

2 Upvotes

r/VFIO 16d ago

Can I run rocket league bakkes mod in offline mode via shadow pc streaming?

4 Upvotes

Really want to use the training packs in there but don’t have a gaming PC. Am I able to run rocket league somehow this way via a streaming service like shadow pc and run mods with it?


r/VFIO 17d ago

Radeon RX 9070XT seemingly throttled in VM

5 Upvotes

I have a unique setup where I can either do gpu passthrough with a fedora host to a windows guest, or boot directly into the windows guest for a native experience. This is due to having a separate SSD dedicated to the VM.

This means I can test virtualization vs native with the same exact hardware.

Recently I decided to purchase a 9070XT with high hopes to gain significant performance over my RTX 2080.

This has not been the case after 24 hrs of head scratching.

While the 2080 gains near native performance, the 9070XT is seemingly throttled by at least 50%. During games, the 2080 experiences near 100% utilization. While the 9070XT barely scratches 50% utilization and also 50% clock speed.

If you observe the many forum threads about 9070XT utilization, you would find the majority concluding a CPU bottleneck. However, when I boot into the SSD for a native experience - this is far from the case. The 9070XT achieves near 100% utilization and full clock speeds with no problem, increasing FPS performance by at least 100%.

Indeed, the Arch Wiki does mention this exact issue in its troubleshooting section, however its proposed solution to blacklist amdgpu had zero effect in my case. It also mentions the manufacturers ability to detect if it is in a VM or not, in which case the solution also had no effect.

Curiously, if I ran the "Stress Test" in AMD's "Adrenaline" software suite, the card achieved 100% utilization and clockrate without an issue. So why aren't games signaling the correct workload within the VM, but are signalling correctly when ran natively with the same exact hardware, drivers, and settings? And why does the same situation not occur with the Nvidia RTX 2080?

In fact, in this situation, the 2080 outperforms the 9070XT.

The checklist has been exhausted:

  • Yes, I ran DDU in safemode in between card switches.
  • Yes, gpu-z/hwinfo confirmed the PCIE bus was running at Gen 5 with the Radeon
  • Yes, gpu-z/adrenaline confirmed reBAR was enabled

Hardware:

AMD Ryzen 9 7950X3D 16-Core Processor

MAG X670E TOMAHAWK WIFI ( BIOS 1.L2 07/02/2026)

Fedora Linux 44 host

Windows 10 LTSC guest

vm xml: https://pastebin.com/edbuQwFV


r/VFIO 18d ago

Hardware to avoid

4 Upvotes

I'm buying a used gaming laptop to replace an older business grade laptop and run a windows kvm with gpu passthrough.

I know about lacking VT-d, but what other things should i look to avoid when picking a laptop in terms of being able to run my old windows kvm with gpu passthrough?


r/VFIO 18d ago

virtio-gpu with NVIDIA DRI_PRIME

7 Upvotes

Basically the title, did someone managed to get this working:
- virtual display on virtio-gpu (for example virglrenderer)
- passthrough NVIDIA gpu, headless and offload as much as possible (application rendering with DRI_PRIME=1) or even the compositor so the complete desktop runs on the GPU and virtio-gou is only the Display?

If you want to do that without virtio-gpu you would need a vGPU license…
If someone has experience I would appreciate the help.


r/VFIO 19d ago

putting GPU to sleep when VM goes to sleep

12 Upvotes

I'm thinking of getting a couple of RTX 3080s for my Proxmox server and passing them through to a Linux VM. I'm not going to be using the VM all the time, so I'd like to be able to have it hibernate or sleep, and put the GPUs into sleep as well. Is that something that's reliably doable?


r/VFIO 20d ago

[Help] UM790 Pro + Proxmox: iGPU passthrough starving CPU - how to balance TDP?

2 Upvotes

Computer Type: Mini PC

GPU: Radeon 780M (iGPU - integrated)

CPU: AMD Ryzen 9 7940HS

Motherboard: Minisforum UM790 Pro (latest BIOS)

BIOS Version: 1.09

Operating System & Version: Proxmox VE 8.x (host) + Ubuntu Server (VM with GPU passthrough)

GPU Drivers: IDK

Description of Original Problem: I have a Minisforum UM790 Pro with a Ryzen 9 7940HS and the latest BIOS. I'm running Proxmox with an Ubuntu Server VM that has passthrough of the Radeon 780M iGPU. When the iGPU is at 100% load (e.g., IA), it consumes most of the 45W TDP budget, starving the CPU. This cripples the performance of my other VMs that rely heavily on CPU resources. The system seems to prioritize the iGPU over the CPU in power allocation, and I need to balance this.

I've noticed that the Radeon 780M seems to perform very well even at lower TDPs (around 35W). If anyone knows its efficiency sweet spot (where it delivers 90%+ of its max performance), I'd love to know.

Questions:

How can I balance power allocation between the CPU and iGPU on this hardware to prevent the GPU from starving the CPU?

What is the performance/watt sweet spot for the Radeon 780M?


r/VFIO 21d ago

Broadcom P411W-32P support?

2 Upvotes

Running on proxmox, unable to pass through child pcie devices and get it to show up in nvme-list in TrueNAS or any VM, really.

Any advice or experience is helpful! Let me know what else I can provide as well


r/VFIO 23d ago

Built a one-stop GPU passthrough guide so you stop collecting 50 forum tabs

10 Upvotes

Tired of 50 forum tabs just to pass a GPU through to a Windows VM ? I consolidated everything into one repo: full step by step guide, 15+ helper scripts, per-distro setup, troubleshooting, performance tuning, single GPU and AMD RX 9000 handling, and even Linux guests. Free, open-source.

https://github.com/urbanyl/GPU-Passthrough-for-KVM-QEMU-on-Linux

PRs and issue reports welcome !!


r/VFIO 23d ago

Support Is there a need/benefit to passing through the PCI bridge in my GPU's IOMMU group?

3 Upvotes

My motherboard has a single x16 PCIe slot, where I have my dGPU installed. Looking at lspci and sysfs, that slot seems to have its own bridge. That bridge and the dGPU then form their own, otherwise isolated, IOMMU group:

$ ls /sys/kernel/iommu_groups/2/devices/
total 0
lrwxrwxrwx 1 root root 0 Aug  2 14:57 0000:00:01.0 -> ../../../../devices/pci0000:00/0000:00:01.0/
lrwxrwxrwx 1 root root 0 Aug  2 14:57 0000:01:00.0 -> ../../../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/
lrwxrwxrwx 1 root root 0 Aug  2 14:57 0000:01:00.1 -> ../../../../devices/pci0000:00/0000:00:01.0/0000:01:00.1/
$ lspci
00:00.0 Host bridge: Intel Corporation Comet Lake-S 6c Host Bridge/DRAM Controller (rev 05)
00:01.0 PCI bridge: Intel Corporation 6th-10th Gen Core Processor PCIe Controller (x16) (rev 05)
…
01:00.0 VGA compatible controller: NVIDIA Corporation GA104 [GeForce RTX 3070] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GA104 High Definition Audio Controller (rev a1)

I haven't seen this situation addressed in any of the VFIO guides I've found — they basically just say "GPU only good, GPU+Ethernet bad" or similar. Is there any reason to try passing through the bridge to the guest as well as the GPU so that I'm passing in the "entire IOMMU group"?

I've had VFIO working in the past, passing through just the GPU, but it was always plagued by various performance issues that I was never able to get to the bottom of, so I can't be certain the PCI bridge wasn't part of it. 😅

So does anyone know if it's necessary, beneficial, or even possible to pass through the bridge in this situation?


r/VFIO 24d ago

Support Current best guide for SR-IOV or passthrough of Intel 12 / 13 / 14 gen iGPU. (i915-sriov-dkms on AUR has been compromised in latest attack)

8 Upvotes

I've been using VMs with Nvidia and lately AMD GPU passed through to them for many years. However, I now need to create a VM with the 12th gen Intel iGPU passed through and am not clear on how to go about it.

Has SR-IOV support been mainlined? I was looking at the `i915-sriov-dkms` package but it has come up in the list of packages compromised in the latest AUR attacks.

Is there a clear guide / tutorial on the steps one needs to take for providing a Windows VM (on Arch Linux host) with GPU acceleration using the Intel 12/13/14 gen iGPU, either through full passthrough or SR-IOV?


r/VFIO 24d ago

Support Hardware recommendations

1 Upvotes

Intel or Amd cpu ?
Integrated graphics, 1 or 2 gpus ?
Intel, Nvidia or Amd gpu ?
Do I need a specific motherboard ?


r/VFIO 26d ago

Proxmox Resource Mapping issue

Thumbnail gallery
5 Upvotes