Solidworks Standalone in a VM
Virtualbox
Solidworks with education licenses doesn't like VirtualBox. I get the error using a standalone license for solidworks is not supported in this virtual environment
. Since I exclusively run Arch as my daily driver, this is a bummer.
Turns out you have to trick windows into thinking it isn't running in a VM. Found this bash script so I'm cloning it here for posterity.
nano bash.sh
past and save this, change __my_vm='W10'
to the name of the VM you're working on
#!/bin/bash
__get_random_string () {
openssl rand -hex "${1}" | cut -c "1-${1}"
}
__my_vm='W10'
VBoxManage setextradata "${__my_vm}" "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSVendor" "American Megatrends Inc"
VBoxManage setextradata "${__my_vm}" "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSVersion" "2.1.0"
VBoxManage setextradata "${__my_vm}" "VBoxInternal/Devices/pcbios/0/Config/DmiSystemVendor" "ASUSTek Computer"
VBoxManage setextradata "${__my_vm}" "VBoxInternal/Devices/pcbios/0/Config/DmiSystemSerial" "$(__get_random_string 9)"
VBoxManage setextradata "${__my_vm}" "VBoxInternal/Devices/ahci/0/Config/Port0/SerialNumber" "$(__get_random_string 20)"
VBoxManage setextradata "${__my_vm}" "VBoxInternal/Devices/ahci/0/Config/Port0/FirmwareRevision" "$(__get_random_string 8)"
VBoxManage setextradata "${__my_vm}" "VBoxInternal/Devices/ahci/0/Config/Port0/ModelNumber" "SEAGATE ST3750525AS"
exit
chmod +x bash.sh
./bash.sh
QEMU
First, you will need to set a CPU type in virt-manager. The default QEMU virtual CPU cannot have its hypervisor flag removed within libvirt.
For best performance and functionality, you should just select "Copy host CPU configuration" and "Apply". This will allow you to use nested virtualization, running 64-bit accelerated virtual machines inside this virtual machine.
next
under CPU in the XML add:
<feature policy='disable' name='hypervisor'/>
next,
add
<kvm>
<hidden state='on'/>
</kvm>
into the features section
Windows now thinks its a real boy. Yay.