Solidworks is a parametric solid modelling 3D CAD program used in a wide range of industries from product design to aerospace.
It offers a wide range of tools and features, not only for CAD modelling, but for simulation (fluid and mechanical), electronics design, injection molding, sheet metal design, rendering, drafting, and much more.
The problem is, Solidworks is only officially supported on Windows operating systems, and the recent releases only work on x64 versions of Windows too.
The good news is that there are workarounds to getting it to run on your chosen OS, and there are also alternatives to Solidworks that will run on other operating systems.
So if you’re using any other operating system, you’re going to need to use a workaround to get it running, or else find an alternative.
In this article, we will take a look at these solutions for Linux users.
Is Solidworks Compatible With Linux Operating Systems?
SolidWorks is not officially supported on Linux, but there are workarounds.
Let’s be clear from the start: some workarounds are better than others, so let’s start with the first method for getting Solidworks to run on Linux, and that is with a VM.
A virtual machine is a software-based replica (emulator) of a hardware architecture.
In this context, it is a virtualization of a machine installed on your hardware that allows you to install a new OS, even if your hardware doesn’t support that particular OS..
Once you have your OS installed on the VM, you can install software that is native to that OS (such as Solidworks).
A compatibility layer works as an interface between a Windows program and a Linux-based platform.
The compatibility layer differs significantly from a VM, as a VM requires the OS in question to be installed in the VM environment.
A compatibility layer does not require Windows to be installed, and it interacts directly with the software application on its own.
It achieves this by translating Windows API calls into a format that a Linux operating system can understand and interact with. In principle, it can make software run faster.
In practice, it lacks a lot of the necessary OS-related features that the software needs to run properly.
Note that a compatibility layer is not an emulator.
The most famous compatibility layer for Linux is called Wine.
How To Install and Run SolidWorks on Linux
Installing Solidworks on its native Windows is pretty straightforward, although it can take a while due to the size of the software.
So when considering an installation on Linux, be aware that you will still have to endure the usual Solidworks waiting time in addition to any other tweaking you need to do in the Linux environment to get it to run in the first place.
Installing on VirtualBox
Installing on a virtual machine is not overly complicated. As soon as the virtual machine is running, you just install Solidworks as you would install any software in the VM.
- Install VM on Linux computer
- Copy Solidworks to a folder accessible in the VM
- Run Solidworks setup
- Follow onscreen setup guide
That’s it. As long as your software is licensed, it should work, although you need to consider that your VM is running inside the host OS, so there will likely be performance issues.
Installing on Wine
Installing on Wine is a different ball game altogether.
We don’t want to dissuade you, but take a look at the WineHQ website to see how the different versions of Solidworks are compatible with Wine.
As you can see, most of the Solidworks releases rank “garbage” for compatibility / functionality when using Wine.
The latest release, Solidworks 2022 (Service Pack 2) ranks as “bronze”. You probably don’t want to spend thousands of dollars on a CAD package only to get 3rd rate functionality, right? Right!
Solidworks 2008 and 2010 rank as “silver”, which means that you may have better luck with those releases.
A quick search on forums for Solidworks compatibility with Wine in Linux yields all kinds of horror stories.
There are so many different things that can go wrong with this installation method, that there is no one-size-fits-all path to a successful installation, so we won’t list the steps here.
There is a very high chance that the steps won’t work anyway.
But if you are brave / masochistic enough to try it, then you can find tutorials online should this be your preferred solution.
Alternative CAD Software for Linux
So, you have decided that maybe you would like to try some other options for CAD work on Linux, and don’t wish to go through the headache of setting up a VRM or a compatibility layer.
Well, there is good news, as there are several options for you if you want to try your hand at parametric solid modelling on Linux.
First in our list of Solidworks alternatives for Linux is FreeCAD, and as you can guess from the name, it is 100% free. That is, it requires no money spent on your part to obtain or use the software.
It is an open-source, parametric modeller, and it supports solids, Boundary Representation (BRep) objects, and Non-uniform rational basis spline (NURBS) curves and surfaces, just like Solidworks does. And like Soidworks, it’s sketch driven.
In terms of file compatibility, it works with STEP, IGES, OBJ, DWG, DXF just like Solidworks, and it also supports STL. Because you’re probably going to want to do some 3D printing.
That’s why you’re here, right?
It has an easy-to-use GUI, and is fairly intuitive to use if you have ever used any visual 3D modelling program before.
It does lack a lot of the features of Solidworks, especially on the simulation side, but hey, it’s free, so if you need an easy way to get modelling, there are worse options available.
You can download FreeCAD here.
OpenSCAD is also free, but unlike FreeCAD and Solidwdorks, it is driven through programming commands rather than through menus and tabs.
It is more akin to modelling in NASTRAN / PATRAN than Solidworks, but some people prefer that, so that’s fine.
You can see the interface in the image above.
The programming interface is in the panel on the left, and there is a graphic area on the right.
Note that the graphics area allows parts to be previewed, but they cannot be interactively modified by mouse in the 3D view, like in Solidworks.
OpenSCAD has its own native 3D file type (.scad) and works with other 3D formats such as STL, OFF, AMF and 3MF. It also works with 2D files such as DXF and SVG files.
You can get OpenSCAN for free, right here.
We have saved the best Solidworks alternative (in this writer’s opinion) for last.
Why do we say it’s the best? Well, because the company was founded by former executives of Solidworks, for a start. It has the very DNA of Solidworks within its being!
There is another reason why OnShape is pretty great, and that is because it runs entirely on the cloud, and in your browser.
That’s right, it not only runs on Windows, Mac, and Linux, but it will run on anything with a web browser, including your smartphone, the 20 year old IBM gathering dust in your garage, and even your smart fridge (if it has a browser).
OnShape is free for non-commercial use, and not only does it have modelling features but has its own app store for a whole range of other features for simulation, data management, rendering…pretty much anything that Solidworks can do.
We cannot say enough good things about OnShape. So we suggest you head on over to their website and register an account to try it for yourselves!
As we have seen here, running Windows software on Linux via a VRM can come with a performance hit when compared to running it on its native OS. And that’s the best case scenario.
The worst case scenario, especially for a RAM-hungry, processor-intensive, feature-rich CAD platform such as Solidworks, is that you will find that many features just won’t work at all. This is especially true when using Wine.
Solidworks is liked by many designers because it offers a full suite of features. And if you don’t have full access to the features that you are paying for, then really, what’s the point of buying it?
The best solution all round, if you wish to have a Solidworks-like experience on a Linux machine, is to use Onshape. It is feature rich, has Solidworks pedigree, and best of all, it will run on any machine, providing your machine has enough RAM to run a browser.