explaingit

jamesstringer90/easy-gpu-pv

5,538PowerShellAudience · ops devopsComplexity · 3/5Setup · moderate

TLDR

A PowerShell toolkit that automates creating a Hyper-V virtual machine with real GPU access on Windows using GPU Paravirtualization, so you can game stream or run GPU-accelerated software inside a VM without manual driver setup.

Mindmap

mindmap
  root((Easy-GPU-PV))
    What it does
      Automate GPU-PV setup
      VM creation
      Driver copying
    Tech Stack
      PowerShell
      Hyper-V
      GPU-PV
    Use Cases
      Game streaming
      GPU VM testing
      Driver automation
    Supported Hardware
      NVIDIA desktop
      AMD desktop
      Intel integrated
    Requirements
      Windows Pro or higher
      Hyper-V enabled
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Create a Windows VM with real GPU access for game streaming at full frame rates using apps like Moonlight or Sunshine.

USE CASE 2

Automate GPU driver setup inside a Hyper-V VM to avoid manually copying dozens of driver files from the host.

USE CASE 3

Set up a sandboxed Windows environment that still has GPU acceleration for testing GPU-dependent software.

USE CASE 4

Share an NVIDIA or AMD desktop GPU between your main Windows install and one or more Hyper-V VMs.

Tech stack

PowerShellHyper-V

Getting it running

Difficulty · moderate Time to first run · 1h+

Requires Windows 10 or 11 Pro, Enterprise, or Education with Hyper-V fully enabled, dedicated NVIDIA GPUs on laptops are not supported.

In plain English

Easy-GPU-PV is a PowerShell project that automates the process of sharing a physical graphics card between your main Windows installation and one or more virtual machines running inside Hyper-V. Hyper-V is the built-in Windows feature for running virtual machines, which are isolated copies of an operating system that run alongside your main one. The GPU sharing technology it uses is called GPU Paravirtualization (GPU-PV), the same approach used in Windows Subsystem for Linux and Windows Sandbox. Without this project, setting up GPU-PV involves a series of manual steps: creating the virtual machine, installing Windows inside it, partitioning the GPU, and copying the correct driver files from the host to the VM. Easy-GPU-PV replaces those manual steps with two PowerShell scripts that handle everything from VM creation to driver copying. You provide a Windows ISO file, set a few parameters like how much RAM and disk space to allocate, and the scripts do the rest. The main use case is getting a Windows virtual machine that has real GPU access, so you can use it with a GPU-accelerated remote desktop or game streaming application. The README notes that standard Remote Desktop Protocol is capped at 30 frames per second and should not be used, instead it recommends third-party apps that use the GPU to stream the virtual machine's display at higher resolutions and frame rates. Supported hardware includes dedicated NVIDIA and AMD graphics cards on desktop computers, and Intel integrated graphics on both desktops and laptops. Laptops with dedicated NVIDIA GPUs are explicitly not supported. The GPU must support hardware video encoding, and the Windows version on the host and in the VM should match to avoid compatibility problems. The project requires Windows 10 or 11 Pro, Enterprise, or Education and Hyper-V fully enabled on the host machine.

Copy-paste prompts

Prompt 1
Using Easy-GPU-PV, walk me through the exact PowerShell commands to create a new Hyper-V VM from a Windows 11 ISO with GPU-PV enabled and 16 GB RAM.
Prompt 2
What hardware does Easy-GPU-PV support, and will it work with my laptop that has a dedicated NVIDIA GPU?
Prompt 3
How do I set up a remote desktop or game streaming app to use the GPU inside my Easy-GPU-PV virtual machine at 60 fps?
Prompt 4
My Easy-GPU-PV VM has display issues after a Windows update, how do I re-run the driver copy script to fix it?
Prompt 5
What is the difference between GPU-PV and full GPU passthrough, and why does Easy-GPU-PV use GPU-PV instead?
Open on GitHub → Explain another repo

← jamesstringer90 on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.