summaryrefslogtreecommitdiffstats
path: root/core/modules/qemu
diff options
context:
space:
mode:
authorManuel Bentele2021-08-10 14:10:10 +0200
committerManuel Bentele2021-08-10 14:10:10 +0200
commit69a486db2010137f073e52d0eb68ae3f20702453 (patch)
treefb029a46e8e8069515d0eb5c8238e05cc6b30878 /core/modules/qemu
parent[pam-bwidm] Support Browser login (shibboleth) (diff)
downloadmltk-69a486db2010137f073e52d0eb68ae3f20702453.tar.gz
mltk-69a486db2010137f073e52d0eb68ae3f20702453.tar.xz
mltk-69a486db2010137f073e52d0eb68ae3f20702453.zip
[qemu] Add switch to enable Nvidia GPU-passthrough patch
Diffstat (limited to 'core/modules/qemu')
-rw-r--r--core/modules/qemu/runvirt-plugin-qemu/src/main/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationSpecificQemuGpuPassthroughNvidia.java14
1 files changed, 11 insertions, 3 deletions
diff --git a/core/modules/qemu/runvirt-plugin-qemu/src/main/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationSpecificQemuGpuPassthroughNvidia.java b/core/modules/qemu/runvirt-plugin-qemu/src/main/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationSpecificQemuGpuPassthroughNvidia.java
index a22bf027..86781525 100644
--- a/core/modules/qemu/runvirt-plugin-qemu/src/main/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationSpecificQemuGpuPassthroughNvidia.java
+++ b/core/modules/qemu/runvirt-plugin-qemu/src/main/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationSpecificQemuGpuPassthroughNvidia.java
@@ -37,6 +37,12 @@ public class TransformationSpecificQemuGpuPassthroughNvidia
private static final int NVIDIA_PCI_VENDOR_ID = 0x10de;
/**
+ * Switch to turn patch for Nvidia GPU-Passthrough (enables Hyper-V enlightening) on or off to
+ * avoid driver error code 43 in guest system.
+ */
+ private static final boolean NVIDIA_PATCH = true;
+
+ /**
* Vendor identifier of the Hyper-V enlightenment for hypervisor shadowing.
*/
public static final String HYPERV_VENDOR_ID = "62776c706277";
@@ -219,9 +225,11 @@ public class TransformationSpecificQemuGpuPassthroughNvidia
shmemDevice.setSize( TransformationSpecificQemuGpuPassthroughNvidia.calculateFramebufferSize() );
// enable hypervisor shadowing to avoid error code 43 of Nvidia drivers in virtual machines
- config.setFeatureHypervVendorIdValue( TransformationSpecificQemuGpuPassthroughNvidia.HYPERV_VENDOR_ID );
- config.setFeatureHypervVendorIdState( true );
- config.setFeatureKvmHiddenState( true );
+ if ( TransformationSpecificQemuGpuPassthroughNvidia.NVIDIA_PATCH ) {
+ config.setFeatureHypervVendorIdValue( TransformationSpecificQemuGpuPassthroughNvidia.HYPERV_VENDOR_ID );
+ config.setFeatureHypervVendorIdState( true );
+ config.setFeatureKvmHiddenState( true );
+ }
// disable all software video devices by disable them
for ( Video videoDevice : config.getVideoDevices() ) {