This is a very advanced use case. Be warned.
Let’s first talk about the software you need. This determines the hardware you need to run it.
For the windows VM you need a few things:
- graphics accelerator (GPU)
- virtual display
- input devices
- audio output
To get the GPU, you probably want to pass through a GPU into the VM with iommu. When doing this, you still want your host OS (linux) to have a GPU as well, so you’ll need 2. Use the integrated one for linux, and the dedicated for windows. Make sure that the laptop display is connected internally to the integrated GPU, not dedicated. Otherwise your linux environment would be uninteractable.
Not sure if you can then use the dedicated GPU on linux when the VM isn’t running or not though. You can look this up probably.
Then, for the virtual display and input device, you want to use Looking Glass. It requires you to have a hardware GPU on both the VM and the host, but it allows you to have a latency free interface to the VM. It’s fucking great.
Audio really depends on your situation. If your motherboard’s builtin audio card is in the same IOMMU group as your dGPU, you’re fucked and you’ll need a USB DAC. That shouldn’t be the case though, it’s usually in your iGPU’s group.
Now for the hardware. From the above, you’ll need:
- 2 GPUs (1 for linux, 1 for windows)
- Mainboard firmware that supports IOMMU
- Audio NOT in the same IOMMU group as the windows GPU
- AMD/Intel GPU for linux, NVIDIA for windows as recommended by Looking Glass. I’ve personally had success with Intel for windows as well though.
- Your display must be connected to the linux GPU.




keyboard