You are not logged in.

#1 2017-03-12 11:19:23

Dirmork
Member
Registered: 2017-03-12
Posts: 10

Hide virtual environment fact (KVM)

kernel version: 4.10.1
qemu version: 2.8.0
CPU: i5-4460
Motherboard: Gigabyte B85M-D3H

Hello. I installed Windows 10 using qemu. All working OK except SOLIDWORKS - It refuses to be installed in a virtual machine (screenshot attached).
I disabled the CPUID 0x40000000 leaf, using kvm=off and changed ACPI Tables.

Spectacle.Lh3458694dc.png

Here is my command to start virtual machine:

qemu-system-x86_64 \
-enable-kvm \
-machine q35,accel=kvm \
-cpu host,kvm=off \
-smbios type=0,vendor=LENOVO,version=FBKTB4AUS,date=07/01/2015,release=1.180 \
-smbios type=1,manufacturer=LENOVO,product=30AH001GPB,version="ThinkStation P300",serial=S4M88119,uuid=cecf333d-6603-e511-97d5-6c0b843f98ba,sku=LENOVO_MT_30AH,family=P300 \
-show-cursor \
-usbdevice tablet \
-drive format=raw,file=win10 \
-device vfio-pci,host=01:00.0 \
-device vfio-pci,host=01:00.1 \
-m 8G 

Windows 10 successfully starting, but recognizing the virtual environment: NVIDIA drivers and SOLIDWORKS is not working. (NVIDIA has famous code 43 error). I think, it happens for the same reason.
I have a successful experience of passthrough a lot of ATI graphics cards and this command must work with Radeons.
I draw your attention to the fact that the NVIDIA graphics card passthrough is working.
Now the main task is to hide from Windows that it works under the KVM.
Thanks in advance to anybody who can help.
Screenshot_20170312_141521df209.png

Last edited by Dirmork (2017-03-12 11:43:55)

Offline

#2 2017-03-13 09:29:07

ayekat
Member
Registered: 2011-01-17
Posts: 1,589

Re: Hide virtual environment fact (KVM)

If I'm not mistaken, KVM uses the CPU's virtualisation capabilities (Intel VT-x, AMD-V), and the CPU handles the context switching between OS "levels" and privilege shadowing and other virtualisation stuff, and I doubt that you can make the CPU "fake" its operating mode without actually breaking it (see also this thread on serverfault).


pkgshackscfgblag

Offline

#3 2017-03-18 05:06:15

Dirmork
Member
Registered: 2017-03-12
Posts: 10

Re: Hide virtual environment fact (KVM)

ayekat, I read this thread before posting here smile
In this thread the author managed to hide from the SolidWorks the fact of launching in a virtual environment.
It also says that this method also helps to deceive the NVIDIA driver, which refuses to run with code 43.
However, I was not able to repeat the success in a similar way on Arch Linux, but by your link we have confirmation that this is possible.

The most convenient solution is to use Windows as a host system for Solidworks and virtualize Linux for all other software, but this is "not our way" smile I would like Linux as the host system.

Last edited by Dirmork (2017-03-18 05:12:09)

Offline

#4 2017-03-18 12:12:52

ayekat
Member
Registered: 2011-01-17
Posts: 1,589

Re: Hide virtual environment fact (KVM)

Ah - I don't really know what went into me when I wrote that post - "I disabled the CPUID 0x40000000 leaf" is all over the place.

I'm sorry.


pkgshackscfgblag

Offline

#5 2017-03-19 18:15:01

sl1pkn07
Member
From: Spanishtán
Registered: 2010-03-30
Posts: 371

Re: Hide virtual environment fact (KVM)

for error 43:

add:

hv_vendor_id=SomeString,

in the -cpu option, like:

-cpu host,kvm=off,hv_vendor_id=SomeString

Offline

Board footer

Powered by FluxBB