/KVM-VFIO

Salt States to deploy KVM with the intention to automate VFIO capability

Primary LanguageShell

KVM VFIO Setup

This is the beginning of a deployment method for KVM with the intention to automate VFIO (Virtual Function I/O) configuration for utilizing hardware without emulation in VM's. Example: KVM for Windows Gaming with a non-emulated GPU or Linux for machine learning. We will integrate other projects into this as git submodules and pull in via Salt. Due to using Salt Cloud, we can also push general fixes to host and to guest. This is easily expandable.

Main Tools Used will be Saltstack, Python, Any Shell script. https://www.reddit.com/r/VFIO/

Setup - Run this to kick off the Install

curl https://raw.githubusercontent.com/Orionx86/KVM-VFIO/master/setup-salt.sh | sudo bash

Functions Finished

  • Automate setup in a Ubuntu environment for KVM via Salt for Ubuntu and testing RHEL

Functions To Build

  • Use file.managed templates for VFIO configuration and extrapolate the ID's for necessary devices.
  • (We might need to get a list of available USB Controllers for end user to figure out which one they need and then apply to config per VM)

Some cool ideas to keep in mind

  • Because we use Salt + Salt Cloud, you have a cloud profile for your VM, installing salt on it automatically and then apply applications you would want. For example, we can have a Salt State for installing Steam + Looking Glass + NVidia/ AMD drivers automatically.
  • We can apply generic fixes found throughout the community, quickly and easily for host and guest.
  • Salt is easy to learn and to use. We can still use any shell script required =)

Learning Salt

Salt kvm

Salt for Windows

Interesting Reads