Sadly Autodesk Fusion 360 is not available for Linux but this tutorial shows you how to run Fusion 360 with Wine.
I only tested Ubuntu 18.04 with NVIDIA graphics but it should work on any system.
If you install wine from your package manager you might get it to work, but you have to use DirectX 9 and the side menu and loading/saving from the cloud probably won’t work (at least in my case). The challenging part of this tutorial is compiling wine correctly. Most windows binaries still run in x32 bit mode so you have to compile a x32 bit wine. This is only possible inside a container (we will use lxc) since not every developer library allows you to mix amd64 and i386 variants.
- Commands run inside the container are colored in red.
- We will use Wine 5.9 as it works with the latest dxvk.
- The whole thing only works because of the awesome wine project and the patch of Felix Hädicke.
Compiling wine yourself
Getting build dependencies for x64 bit.
sudo apt-get install git lxc lxctl lxc-templates sudo apt-get build-dep wine
cd ~ git clone https://github.com/wine-mirror/wine cd wine git checkout wine-5.9
I simply opened up the file in my favorite editor and applied the patch manually.
But of course you can use patch.
Compile and install vkd3d
git clone git://source.winehq.org/git/vkd3d.git/ cd vkd3d ./autogen.sh ./configure make sudo make install
Since sudo will result in $HOME pointing to /root, $LOGNAME is used to supply the home directory name. This assumes your home directory name is the same as your login name. If it is not then just type it manually.
sudo lxc-create -t ubuntu -n my32bitbox -- --bindhome $LOGNAME -a i386
Copy the apt configuration from the host to the LXC container to save time:
sudo cp -R /etc/apt /var/lib/lxc/my32bitbox/rootfs/etc
sudo lxc-start -n my32bitbox
Now you should be inside the container but in your real home directory. If you are not in the container (the prompt is not
sudo lxc-attach -n my32bitbox
Install the 32-bit dependencies:
sudo apt-get update sudo apt-get install python-software-properties git-core sudo apt-get build-dep wine
Build the 32-bit version of the Wine developer tools from within the LXC. The make clean removes existing binaries that were from a previous build.
mkdir $HOME/wine32-tools cd $HOME/wine32-tools make clean ~/wine-git/configure make -j4
Next build the 32-bit version of Wine, pointing to the 64-bit build for data, and the 32-bit tools build:
mkdir $HOME/wine32 cd $HOME/wine32 make clean ~/wine-git/configure --with-wine64=$HOME/wine64 --with-wine-tools=$HOME/wine32-tools make -j4
Install the 32-bit Wine in the LXC itself to force the last little bit of building:
cd $HOME/wine32 sudo make install
If successful then shut down the container. Make sure you see the
sudo shutdown -h now
This drops you back out into your real machine. Install everything on your host:
cd $HOME/wine32 sudo make install cd $HOME/wine64 sudo make install
Installing Fusion 360
# Set your wineprefix accordingly export WINEPREFIX=~/.wine wget dl.appstreaming.autodesk.com/production/installers/Fusion%20360%20Admin%20Install.exe 7z x -osetup/ "Fusion 360 Admin Install.exe" curl -Lo setup/platform.py github.com/python/cpython/raw/3.5/Lib/platform.py sed -i 's/winver._platform_version or //' setup/platform.py winetricks atmlib gdiplus msxml3 msxml6 vcrun2017 corefonts fontsmooth=rgb winhttp win10 wget https://github.com/doitsujin/dxvk/releases/download/v1.7/dxvk-1.7.tar.gz tar xvzf dxvk-1.7.tar.gz cd dxvk-1.7 ./setup_dxvk.sh install wine setup/streamer.exe -p deploy -g -f log.txt --quiet # Ignore cerificate errors/warnings and wait until finished # Finally start Fusion360 (look into .wine/drive_c whether the path is correct) wine "C:\Program Files\Autodesk\webdeploy\production\bc9c725a70f09cde6da1d8ccb49780b84d161bee\Fusion360.exe"
I’d say it is definitely usable for small projects but currently there are some disadvantages:
- Slow startup
- Some elements draw over others
- Autodesk Fusion 360 Logo appearing on repaint
Feel free to comment if this worked for you, so everbody will know on which systems this works.
If you have questions or improvements comment them here!