-
-
Notifications
You must be signed in to change notification settings - Fork 15.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
linux: enable support for iGVT-g VGPU #40242
Conversation
Is this everything we need for that to work? How about qemu version/features? |
@andir Yes, that's all. Qemu 2.12 is already in nixos-unstable built with necessary features. |
@GrahamcOfBorg build phodav spice-gtk |
Success on x86_64-linux (full log) Attempted: phodav, spice-gtk Partial log (click to expand)
|
No attempt on x86_64-darwin (full log) The following builds were skipped because they don't evaluate on x86_64-darwin: phodav, spice-gtk Partial log (click to expand)
|
Success on aarch64-linux (full log) Attempted: phodav, spice-gtk Partial log (click to expand)
|
vgpuOptions = { | ||
uuid = mkOption { | ||
type = types.string; | ||
description = "UUID of VGPU device."; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably add some info where to get this UUID, even if it can be randomly generated.
in { | ||
options = { | ||
virtualisation.kvmgt = { | ||
enable = mkEnableOption "KVMGT (iGVT-g) VGPU support."; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While technically correct, maybe add some info what this is about. Like, "allows virtual guests to share host's graphics card. Currently only one graphical device can be shared"
device = mkOption { | ||
type = types.string; | ||
default = "0000:00:02.0"; | ||
description = "PCI ID of graphics card."; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would be extremely cool if this description showed how to get that PCI ID. Otherwise one have to resort to google...
@danbst Done, thanks! |
@matthewbauer Thanks! |
Motivation for this change
Intel GVT-g (KVMGT) is a full GPU virtualization solution with mediated pass-through which allows host and multiple KVM guests to share same Intel integrated videocard. Guest gets a near-native graphics peformance.
This PR adds missing kernel configuration options. See https://nixos.wiki/wiki/IGVT-g
It also adds module which simplifies setup:
Things done
build-use-sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)