Solidworks Qemu

Hello everybody,

This is my first time posting on this forum, so if I did something wrong please tell me.

I have a nice workstation if i say so my self not the newest hardware but I think strong enough.
Specs:
OS = Linux mint
CPU = intel core I7 3770
GPU = GTX660 and Quadro fx1800
RAM = 16gb ddr3
Generic ssd and hdd.

Now the question:

I use Solidworks for hobby and for school unfortunately it does not run on Linux so I made a Virtualmachine with WIN7 in virtualmachinemanager and qemu. Solidworks does not run in unsupported vm software such as qemu but after a workaround it did. It runs but that is it , it is not snappy at all. I gave the virtualmachine 4 cores and 8gb of ram. This should be plenty on a normal native machine. I have looked in the settings of virtual machine manager but I am getting a bit lost. Can someone help me with suggestions to make Solidworks run smoother in a vm.

I have found some ideas but I don’t know how and if they work or how to implement them such as:
GPU passthrough.
Different hypervisor.
Different display server standard is VNC.

In the best scenario Solidworks would run native on Linux but I don’t see that happening very soon, so I would be really happy if Solidworks runs smooth in a virtualmachine. Optimal would be if it was in a vm with some kind of seamless mode, so I don’t need to unlock my mouse when moving from the vm to my linux dekstop.

Thanks in advance,

Lux_

Sorry if my English is not so good, I am not a native speaker.

2 Likes

The cause of the slowness is primarily caused by the emulated gpu not having 3d capabilities. Graphics passthrough or dual booting would be the fix.

1 Like

Solidworks is single core, so tossing more cores won’t make it faster.

Clock speed, lots of memory, and a fast GPU is key for a powerful solidworks rig.

Maybe that is the case for older versions but now it will use more than one core/thread. I tend to see 3-4 threads being heavily used during normal operation, and for some operations such as rendering it will use all threads available(personally seen 24 threads used).

3 Likes

QEMU, VFIO, KVM…lots to learn and figure out but apparently it works.

And the OP does have the two graphics cards requisite to pull it off; one for the Linux OS and one for the Windows OS running simultaneously in virtual machine. I take it you’d assign the VM passthrough to the most powerful of the two GPUs since that’s the one you’ll be relying on for Solidworks in Windows.

1 Like

Yeah, use GPU passthrough, your Quadro will work great for that as it will allow you to use NvFBC with Looking Glass.

Since you own a Quadro, if you proceed down this path feel free to PM me and I will help you obtain a build of the Looking Glass Host with NvFBC compiled in.

1 Like

Thanks a lot.

Thanks for your help.
I have started with the tutorial from Heiko’s blog I think it will work my to gpu’s are after some swapping in different IOMMU groups.
I will investigate Lookingglass, I have seen some videos about it on level1techs Youtube channel. But i don’t fully understand it yet, I will do some more research on it.

Thanks for your help, I just started learning about gpu passtrough and looking glass, at this time I know nothing about NvFBC but I will research it. Thanks for your reply.

Say, I was looking at the latest Solidworks and I see it has Natural Sketch now, from the Catia6 it’s based on. Is that true?

Sorry I don’t really know what you mean? And if this is has anything to do with my thread.
But i would like to help, I am not a big expert on Solidworks but I could always try :slight_smile:

I have another problem I wanted to begin with trying to passtrough the gpu to de vm, but when I started linux mint i got a message that cinnamon had crashed. I tried fixing it but could not figure it out. So i reinstalled linux mint but when i rebooted after installing the nvidia drivers I didn’t get any video output on any of the gpu’s. Then I remembered that I moved my quadro to another pcie slot so that the two GPUS are in different IOMMU groups. But when my quadro is in the lowest slot in the motherboard I cannot boot, but when the quadro is in de second slot beneath the GTX660 the system will boot without a problem. Only the two gpus will be in the same IOMMU group.

Can anyone explain why my system won’t boot when the quadro is in the last slot and how I can fix it?

Sorry. I should have done my own research. Solidworks does indeed have Natural Sketch in it now.

Does somebody know?

could be apparmor, but most likely its that your GPUs don’t support UEFI GOP, and IOMMU being broken on your chipset

GPU Problems

nvidia cards start support for this at the 700 series (kepler refresh) meaning your cards may not work for OVMF. Not sure how no one here caught this.

If your card does not have the prerequisite support, you can try seabios passthrough or a hypervisor like xen.

Broken IOMMU

You need the ACS Patch to fix this.

We have an explainer for that over at https://www.passthroughpo.st

I’m not sure the people here are going to have the domain knowledge to help you, so check out this community for support:

As an alternative, you can go the VMWare Workstation/Player route. VMWare (for me) tends to be faster at virtualization than qemu without passthrough. Player is free for personal use, commercial use requires a license. You can try out VMWare Player and see how it runs using the personal license.

wasnt aware vmware supported passthrough or acceleration outside of esxi or at all on consumer cards, but that’s good news if they started