Gpu Pass Through Compatibility Check

Automatically set up a Linux system for PCI pass-through and check if it is compatible
Alternatives To Gpu Pass Through Compatibility Check
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Mutable Dev Environment167
2 years ago2mitShell
Development environment for the firmware of Mutable Instruments' products
6 years ago2gpl-2.0Python
5 days ago53apache-2.0C
SDK for Greenwaves Technologies' GAP8 IoT Application Processor
Usb Libvirt Hotplug123
9 months ago7mitShell
Script to attach and detach USB devices from libvirt virtual machines based on udev rules.
Android Vagrant80
6 years ago7otherShell
Vagrant setup with Android Studio, Android SDK, etc.
5 years ago4Pascal
A tool for testing boot configurations on USB drives
Opencore Vmware Workstation Amd70
2 years ago3
Install macOS Big Sur on Ryzen with VMware Workstation and OpenCore
5 years ago7Kotlin
[防屏蔽] 微信小游戏 跳一跳 kotlin AI 并用 OpenCV 自动找起始点和目标点,使用 ADB 命令完成自动跳转.
Tx2 Flash41
5 years ago1
Guidance to flash JetPack to NVIDIA TX2 with Mac through a VirtualBox (VM)
10 months ago5gpl-3.0Python
Enables support for external USB adapters in WiFi Explorer Pro and Airtool 2.
Alternatives To Gpu Pass Through Compatibility Check
Select To Compare

Alternative Project Comparisons



This project consists of 3 parts.

  1. A script ( that automatically checks to what extend a computer is compatible with GPU pass-through in its given configuration.
  2. A script ( that automatically installs and configures your system for GPU pass-through (Only tested on fresh installs of Fedora 28 x64 with Gnome, booted in UEFI mode!)
  3. Instructions on how to create a bootable Linux USB stick that automatically runs the script when you boot from it without any user interaction required.

Update: There now is an additional script that installs Bumblebee and the Nvidia proprietary driver. (Doesn't appear to work properly yet.)

This project has primarely be created to check notebooks. It will probably also work on desktop computers, but checking how and if the conenction between the GPU and the display is MUXED (and if so how) wouldn't make much sense on a desktop computer.


example output (The output does not represent an existing laptop. It's just an example ran using some mock data from a laptop on a desktop.)


  • [x] Instructions on creating a bootable Linux stick with persistent storage, UEFI compability and a recent kernel (4.17+)
  • [x] check if Linux still boots if you add iommu kernel params for Intel and AMD at the same time
  • [x] if it works: write a script to automatically add the kernel parameters to the system
  • [x] install basic tools like git in the script which might come in handy
  • [x] install virtualization software using the script
  • [x] find a way to skip the login screen and automatically run a bash script with root privileges that:
  • [x] checks if AMD-V / VT-X is enabled
  • [x] checks if AMD's IOMMU / Intels VT-D is enabled
  • [x] checks if the IOMMU kernel parameters are set
  • [x] checks for every GPU if it could be passed through to a VM or if other devices in the same IOMMU group would prevent that
  • [ ] provides inforamtion about which USB devices are connected to USB controllers that is in the IOMMU group of a GPU
  • [x] finds out the GPU is connected to the screen and the external outputs (MUX-less, MUXED etc.)
  • [x] does extremely detailled hw logging
  • [x] detects if device is a laptop
  • [x] detects laptop name and model
  • [x] detects BIOS version
  • [ ] verifies that it works by actually booting a VM and passing the GPU through to it.
  • [ ] Verify if the MUX detection works
  • [ ] Add logic to check if the iGPU is disabled in the UEFI
  • [ ] the VM should be used with looking glass


  • a USB stick with at least 16GB of storage (let's call this one the Fedora stick)
  • an x64 installation image for Fedora 28 or above:
  • another USB stick with at least 2GB of storage (let's call this one the install stick) OR some experience with virtual machines


Installing Fedora 28 x64 on a USB stick

You have two options:

Installing Fedora using another USB stick

This this case you a install stick. You need to follow the instructions on the Fedora website to turn it into a bootable Fedora installation USB stick: Then you need to boot from it in EFI / UEFI / non-BIOS mode. Usually when you open up the boot menu when you PC starts, you get multiple entries for your USB stick. You want to pick the one that says UEFI or EFI / or non-BIOS ... Then you wait for it to boot up and follow the instructions to install Fedora on the Fedora stick.

Installing Fedora using a virtual machine

Alternatively you can create a VM with a UEFI firmare (in virtual machine manager: screenshot 1, screenshot 2) and pass the Fedora stick through to it (in virtual machine manager: screenshot 3) and tell the VM to boot from the Fedora iso image directly. You don't need a storage device (vhd)! Then you simply boot the VM (make sure it boots from the iso image and follow the instructions to install Fedora on the Fedora stick.

Adding the setup script.

Now to add the setup script to the USB stick, simply boot from the USB stick (either using the VM (you should remove the virtual CD drive frist, so that it won't boot from the iso again) or boot from it directly (in EFI / UEFI ... mode!)). Then run the following commands to download the setup script and execute it with root privileges:

sudo dnf install -y git && git clone && sudo ./GPU-pass-through-compatibility-check/


  • On the computer you want to check you first have to go to the UEFI and enable virtualization. On AMD CPU systems: AMD-V and IOMMU. And on Intel CPU systems: VT-x and VT-d. (Beware: Some motherboard vendors get pretty creative when it comes to giving these options other names.)
  • You should enable the internal GPU of the CPU so that you have two (one for the host one for the guest system) (some vendors actually disable the CPU internal GPU completely and don't offer UEFI options to enable it)
  • You might also have to disable secure boot in the UEFI.
  • It might also be necessary to disable fastboot in the UEFI.
  • Once you saved the settings and rebooted, enter the boot menu (usually with Esc, F1-F12 or Del) and boot your Fedora stick in EFI / UEFI / non-BIOS mode.
  • Finally when it boots the rest should happen automatically. (It will automatically log you in and start
Popular Virtual Machine Projects
Popular Usb Projects
Popular Virtualization Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.