I've continued experimenting with GTX 980 passthrough with Arch Linux. I noticed that the xf86-video-nouveau does NOT in fact have Maxwell support. One would think otherwise looking at their Feature Matrix here: https://nouveau.freedesktop.org/wiki/FeatureMatrix/ NV110 is the Maxwell family (GTX 980 including). But the mode-setting driver can be used instead, so *I finally got GTX 980 PT working in Arch Linux*:
Add this file to /etc/X11/xorg.conf.d/20-nouveau.conf ``` Section "Device" Identifier "NVidia Card" Driver "modesetting" BusID "PCI:0:5:0" EndSection ``` Note that the PCI address is the address that the GPU has inside the VM (use lspci IN the vm to find out that). Also "pci_msitranslate=0" has to be set in VM configuration, otherwise VM will hang when X is started. This is tested with Arch linux (up to date 8.7.2016), with Linux 4.6.3-1-ARCH, modesetting and X versions 1.18.3. ----- Ok, now that it's proven that newer Nvidia cards CAN in fact be passed through in Xen, I tried the official NVidia binary driver, but it failed with error message "The NVIDIA GPU at PCI:0:5:0 is not supported by the 367.27 NVIDIA driver". I think that's the proprietary driver refusing to work when it detects that it's running under hypervisor (the Code 43 issue in Windows). Since KVM has for a while supported hiding both the "KVMKVMKVMKVM" signature (with "-cpu kvm=off" flag) as well as the Viridian hypervisor signature ("-cpu hv_vendor_id="..." flag), and currently there's no such functionality in Xen, I patched it in quite similar way to what Alex Willimson did to KVM. Attached is a patch for Xen 4.6.1 that spoofs Xen signature ("XenVMMXenVMM" to "ZenZenZenZen") and Viridian signature ("Microsoft Hv" to "Wetware Labs") when "spoof_xen=1" and "spoof_viridian=1" are added VM configuration file. The signatures are currently hard-coded, and currently there's no way to modify them (beyond re-compiling Xen), since HVMLoader also uses a hard-coded string to detect Xen and there's no API (understandably) to change that signature in real-time. WARNING! In case you try the patch, you MUST re-compile and install also core-libvirt (in addition to vmm-xen) packages. Otherwise starting all DomUs will fail! You have been warned :) ----------------- With this patch, the *NVidia binary driver (version 367.27) works also on Arch Linux* :) However this was not enough on Windows 7 and 8.1 VMs (driver version 368.39) still announce Error 43 :( I would love if others could test this as well. Maybe the Windows driver uses some other functionality to check for hypervisor, or maybe it's not a spoofing issue at all. More investigation coming in.. -- You received this message because you are subscribed to the Google Groups "qubes-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to qubes-users+unsubscr...@googlegroups.com. To post to this group, send email to qubes-users@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/qubes-users/716e4cc4-548e-4cb0-8f75-82894cd29eef%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.