mirror of
https://github.com/cryinkfly/Autodesk-Fusion-360-for-Linux.git
synced 2025-11-01 02:45:57 +01:00
324 lines
13 KiB
Bash
324 lines
13 KiB
Bash
#!/bin/bash
|
|
|
|
########################################################################################
|
|
# Name: Autodesk Fusion 360 - Installationsskript - Flatpak (Linux) #
|
|
# Description: With this file you can install Autodesk Fusion 360 on Linux. #
|
|
# Author: Steve Zabka #
|
|
# Author URI: https://cryinkfly.com #
|
|
# License: MIT #
|
|
# Copyright (c) 2020-2021 #
|
|
# Time/Date: 11:30/24.09.2021 #
|
|
# Version: 1.0 #
|
|
########################################################################################
|
|
|
|
##############################################################################
|
|
# DESCRIPTION
|
|
##############################################################################
|
|
|
|
# With the help of my script, You get a way to install the Autodesk Fusion 360 on your Linux system.
|
|
# Certain packages and programs that are required will be set up on your system.
|
|
#
|
|
# But it's important to know, that my script only helps You to get the program to run and nothing more!
|
|
#
|
|
# And so, You must to purchase the licenses directly from the manufacturer of the program Autodesk Fusion 360!
|
|
|
|
##############################################################################
|
|
|
|
############################################################################################################################################################
|
|
# 1. Step: Install Flatpak on your system: https://flatpak.org/setup/ (More information about FLatpak: https://youtu.be/SavmR9ZtHg0)
|
|
# 2. Step: Open a Terminal and run this command: cd Downloads && chmod +x fusion360-flatpak-install.sh && bash fusion360-flatpak-install.sh
|
|
# 3. Step: The installation will now start and set up everything for you automatically.
|
|
# 4. Step: Now you can use my other file "fusion360-flatpak-start.sh" for running Autodesk Fusion 360 on your system.
|
|
############################################################################################################################################################
|
|
|
|
############################################################################################################################################################
|
|
# The next two steps are also very important for you, because on some Linux Distrubition you dosn't get to work Flatpak without these steps!!!
|
|
############################################################################################################################################################
|
|
|
|
# 1. Step: Open a Terminal and run this command sudo nano /etc/hosts (Change this file wihtout # !)
|
|
|
|
# 127.0.0.1 localhost
|
|
# 127.0.1.1 EXAMPLE-NAME
|
|
|
|
# ::1 ip6-localhost ip6-loopback
|
|
# fe00::0 ip6-localnet
|
|
# ff00::0 ip6-mcastprefix
|
|
# ff02::1 ip6-allnodes
|
|
# ff02::2 ip6-allrouters
|
|
# ff02::3 ip6-allhosts
|
|
|
|
# 2. Step: Run this command: sudo nano /etc/hostname (Change this file wihtout # !)
|
|
|
|
# EXAMPLE-NAME
|
|
|
|
# 3. Step: Reboot your system!
|
|
|
|
############################################################################################################################################################
|
|
|
|
##############################################################################
|
|
# ALL FUNCTIONS ARE ARRANGED HERE:
|
|
##############################################################################
|
|
|
|
# Here all languages are called up via an extra language file for the installation!
|
|
|
|
function languages {
|
|
wget -N https://github.com/cryinkfly/Autodesk-Fusion-360-for-Linux/raw/main/files/scripts/development-branch/languages-flatpak.sh &&
|
|
chmod +x languages-flatpak.sh &&
|
|
clear &&
|
|
. languages-flatpak.sh
|
|
}
|
|
|
|
##############################################################################
|
|
|
|
# The minimum requirements for installing Autodesk Fusion 360 will be installed here!
|
|
# Prompt user to consent to required packages: dialog, wmctrl
|
|
function check-requirement {
|
|
echo "$text_1" # State packages to be installed
|
|
echo -n "$text_1_1" # Prompt yes/no
|
|
read answer
|
|
if [ "$answer" != "${answer#[YyJj]}" ] ;then
|
|
install-requirement && # Call function to install packages
|
|
wmctrl -r ':ACTIVE:' -b toggle,fullscreen && # Maximize the window of the terminal
|
|
echo "No Error!" # This is in place to allow the script to continue (Workaround for a bug)
|
|
flathub # Next stage in the process
|
|
else
|
|
exit;
|
|
fi
|
|
}
|
|
|
|
# Decide which package manager is in use, and install the packages
|
|
function install-requirement {
|
|
if VERB="$( which apt-get )" 2> /dev/null; then
|
|
echo "Debian-based"
|
|
sudo apt-get update &&
|
|
sudo apt-get install dialog wmctrl software-properties-common
|
|
elif VERB="$( which dnf )" 2> /dev/null; then
|
|
echo "RedHat-based"
|
|
sudo dnf update &&
|
|
sudo dnf install dialog wmctrl
|
|
elif VERB="$( which pacman )" 2> /dev/null; then
|
|
echo "Arch-based"
|
|
sudo pacman -Sy --needed dialog wmctrl
|
|
elif VERB="$( which zypper )" 2> /dev/null; then
|
|
echo "openSUSE-based"
|
|
su -c 'zypper up && zypper install dialog wmctrl'
|
|
elif VERB="$( which xbps-install )" 2> /dev/null; then
|
|
echo "Void-based"
|
|
sudo xbps-install -Sy dialog wmctrl
|
|
elif VERB="$( which eopkg )" 2> /dev/null; then
|
|
echo "Solus-based"
|
|
sudo eopkg install dialog wmctrl
|
|
elif VERB="$( which emerge )" 2> /dev/null; then
|
|
echo "Gentoo-based"
|
|
sudo emerge -av dev-util/dialog x11-misc/wmctrl
|
|
else
|
|
echo "I can't find your package manager!"
|
|
exit;
|
|
fi
|
|
}
|
|
|
|
##############################################################################
|
|
|
|
function flathub {
|
|
# Add the Flathub repository for your current user!!!
|
|
echo "Add the Flathub repository"
|
|
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo &&
|
|
flatpak -y --user install flathub \
|
|
org.freedesktop.Platform/x86_64/20.08 \
|
|
org.freedesktop.Platform.Compat.i386/x86_64/20.08 \
|
|
org.freedesktop.Platform.GL32.default/x86_64/20.08 \
|
|
org.freedesktop.Platform.GL.default/x86_64/20.08 \
|
|
org.freedesktop.Platform.VAAPI.Intel.i386/x86_64/20.08 \
|
|
org.freedesktop.Platform.VAAPI.Intel/x86_64/20.08 \
|
|
org.freedesktop.Platform.ffmpeg_full.i386/x86_64/20.08 \
|
|
org.freedesktop.Platform.ffmpeg-full/x86_64/20.08
|
|
|
|
#Install some packages for Nvidia users
|
|
if [ -f /proc/driver/nvidia/version ]; then
|
|
echo "Install some packages for your Nvidia graphics card!"
|
|
ver=$(nvidia-settings -q all |grep OpenGLVersion|grep NVIDIA|sed 's/.*NVIDIA \(.*\) /nvidia-\1/g'|sed 's/\./-/g')
|
|
flatpak -y --user install flathub \
|
|
org.freedesktop.Platform.GL.$ver \
|
|
org.freedesktop.Platform.GL32.$ver
|
|
fi
|
|
echo "Installation of some packages for your graphics card is completed!"
|
|
|
|
#Install a special Wine-Version (org.winehq.flatpak-proton-68-ge-1)
|
|
echo "Install a special Wine-Version!"
|
|
wget -N https://github.com/fastrizwaan/flatpak-wine-releases/releases/download/6.8-20210510/org.winehq.flatpak-proton-68-ge-1-6.8-20210510.flatpak &&
|
|
flatpak -y --user install flathub org.winehq.flatpak-proton-68-ge-1 &&
|
|
welcome-screen-1
|
|
}
|
|
|
|
##############################################################################
|
|
|
|
# Here you have to decide whether you want to use Autodesk Fusion 360 with DXVK (DirectX 9) or OpenGL! - Part 2
|
|
|
|
function configure-dxvk-or-opengl-standard-1 {
|
|
if [ $driver_used -eq 2 ]; then
|
|
WINEPREFIX=/home/$USER/.wineprefixes/fusion360 sh winetricks -q dxvk &&
|
|
wget -N https://raw.githubusercontent.com/cryinkfly/Fusion-360---Linux-Wine-Version-/main/files/DXVK.reg &&
|
|
WINEPREFIX=/home/$USER/.wineprefixes/fusion360 wine regedit.exe DXVK.reg
|
|
fi
|
|
}
|
|
|
|
function configure-dxvk-or-opengl-standard-2 {
|
|
if [ $driver_used -eq 2 ]; then
|
|
wget -N https://raw.githubusercontent.com/cryinkfly/Fusion-360---Linux-Wine-Version-/main/files/DXVK.xml &&
|
|
mv DXVK.xml NMachineSpecificOptions.xml
|
|
else
|
|
wget -N https://raw.githubusercontent.com/cryinkfly/Fusion-360---Linux-Wine-Version-/main/files/NMachineSpecificOptions.xml
|
|
fi
|
|
}
|
|
|
|
function configure-dxvk-or-opengl-standard-3 {
|
|
if [ $driver_used -eq 2 ]; then
|
|
wget -N https://raw.githubusercontent.com/cryinkfly/Fusion-360---Linux-Wine-Version-/main/files/DXVK.xml &&
|
|
mv DXVK.xml NMachineSpecificOptions.xml
|
|
else
|
|
wget -N https://raw.githubusercontent.com/cryinkfly/Fusion-360---Linux-Wine-Version-/main/files/NMachineSpecificOptions.xml
|
|
fi
|
|
}
|
|
|
|
##############################################################################
|
|
|
|
function winetricks-standard {
|
|
echo "Winetricks isntall some packages for you!"
|
|
clear &&
|
|
flatpak run org.winehq.flatpak-proton-68-ge-1 winetricks -q corefonts cjkfonts msxml4 msxml6 vcrun2017 fontsmooth=rgb win8 &&
|
|
# We must install cjkfonts again then sometimes it doesn't work the first time!
|
|
flatpak run org.winehq.flatpak-proton-68-ge-1 winetricks -q cjkfonts &&
|
|
configure-dxvk-or-opengl-standard-1 &&
|
|
flatpak run org.winehq.flatpak-proton-68-ge-1 bash &&
|
|
cd $HOME/Downloads &&
|
|
mkdir -p fusion360download &&
|
|
cd fusion360download &&
|
|
wget https://dl.appstreaming.autodesk.com/production/installers/Fusion%20360%20Admin%20Install.exe -O Fusion360installer.exe &&
|
|
wine Fusion360installer.exe -p deploy -g -f log.txt --quiet &&
|
|
wine Fusion360installer.exe -p deploy -g -f log.txt --quiet &&
|
|
mkdir -p "$HOME/.local/share/flatpak-proton-68-ge-1/default/drive_c/users/steamuser/AppData/Roaming/Autodesk/Neutron Platform" &&
|
|
cd "$HOME/.local/share/flatpak-proton-68-ge-1/default/drive_c/users/steamuser/AppData/Roaming/Autodesk/Neutron Platform" &&
|
|
mkdir -p Options &&
|
|
cd Options &&
|
|
configure-dxvk-or-opengl-standard-2 &&
|
|
# Because the location varies depending on the Linux distro!
|
|
mkdir -p "$HOME/.local/share/flatpak-proton-68-ge-1/default/drive_c/users/steamuser/Application Data/Autodesk/Neutron Platform" &&
|
|
cd "$HOME/.local/share/flatpak-proton-68-ge-1/default/drive_c/users/steamuser/Application Data/Autodesk/Neutron Platform" &&
|
|
mkdir -p Options &&
|
|
cd Options &&
|
|
configure-dxvk-or-opengl-standard-3 &&
|
|
program-exit
|
|
}
|
|
|
|
##############################################################################
|
|
|
|
function logfile-installation {
|
|
mkdir -p "/$HOME/.local/share/flatpakfusion360/logfiles" &&
|
|
exec 5> /$HOME/.local/share/flatpakfusion360/logfiles/install-log.txt
|
|
BASH_XTRACEFD="5"
|
|
set -x
|
|
}
|
|
|
|
##############################################################################
|
|
# ALL DIALOGS ARE ARRANGED HERE:
|
|
##############################################################################
|
|
|
|
# Autodesk Fusion 360 will be installed from scratch on this system!
|
|
|
|
function welcome-screen-1 {
|
|
|
|
HEIGHT=15
|
|
WIDTH=60
|
|
CHOICE_HEIGHT=2
|
|
BACKTITLE="$text_2"
|
|
TITLE="$text_2_1"
|
|
MENU="$text_2_2"
|
|
|
|
OPTIONS=(1 "$text_2_3"
|
|
2 "$text_2_4")
|
|
|
|
CHOICE=$(dialog --clear \
|
|
--backtitle "$BACKTITLE" \
|
|
--title "$TITLE" \
|
|
--menu "$MENU" \
|
|
$HEIGHT $WIDTH $CHOICE_HEIGHT \
|
|
"${OPTIONS[@]}" \
|
|
2>&1 >/dev/tty)
|
|
|
|
clear
|
|
case $CHOICE in
|
|
1)
|
|
|
|
driver_used=0 &&
|
|
select-dxvk-or-opengl
|
|
;;
|
|
2)
|
|
exit
|
|
;;
|
|
esac
|
|
}
|
|
|
|
##############################################################################
|
|
|
|
# Here you have to decide whether you want to use Autodesk Fusion 360 with DXVK (DirectX 9) or OpenGL! - Part 1
|
|
|
|
function select-dxvk-or-opengl {
|
|
HEIGHT=15
|
|
WIDTH=200
|
|
CHOICE_HEIGHT=10
|
|
BACKTITLE="$text_4"
|
|
TITLE="$text_4_1"
|
|
MENU="$text_4_2"
|
|
|
|
OPTIONS=(1 "$text_4_3"
|
|
2 "$text_4_4")
|
|
|
|
CHOICE=$(dialog --clear \
|
|
--backtitle "$BACKTITLE" \
|
|
--title "$TITLE" \
|
|
--menu "$MENU" \
|
|
$HEIGHT $WIDTH $CHOICE_HEIGHT \
|
|
"${OPTIONS[@]}" \
|
|
2>&1 >/dev/tty)
|
|
|
|
clear
|
|
|
|
case $CHOICE in
|
|
1)
|
|
|
|
driver_used=1 &&
|
|
winetricks-standard
|
|
;;
|
|
|
|
2)
|
|
|
|
driver_used=2 &&
|
|
winetricks-standard
|
|
;;
|
|
esac
|
|
}
|
|
|
|
##############################################################################
|
|
|
|
# The installation is complete and will be terminated.
|
|
|
|
function program-exit {
|
|
dialog --backtitle "$text_11" \
|
|
--title "$text_11_1" \
|
|
--msgbox "$text_11_2" 14 200
|
|
|
|
clear
|
|
exit
|
|
}
|
|
|
|
##############################################################################
|
|
# THE INSTALLATION PROGRAM IS STARTED HERE:
|
|
##############################################################################
|
|
|
|
logfile-installation &&
|
|
clear &&
|
|
languages &&
|
|
check-requirement
|
|
|
|
############################################################################################################################################################
|