Fusion360をubuntu20.04で動かしてみる試み

# 背景
Windowsが辛くなったので、全部Ubuntuに引っ越したい。
CAD使うので、Fusion360も引っ越せたら最高じゃない？
なんか手順まとめてくれてる人がいたのでやってみる。
https://github.com/cryinkfly/Autodesk-Fusion-360-for-Linux
ついでに日本語でまとめとこかな。

# Wine環境のセットアップ
## 準備
```bash
$ sudo apt update
$ sudo apt install software-properties-common zenity xterm p7zip-full
```

## Wine HQのインストール
リポジトリ追加して新しいWine入れる

```bash
$ sudo dpkg --add-architecture i386
$ wget -nc https://dl.winehq.org/wine-builds/winehq.key
$ sudo apt-key add winehq.key
$ sudo add-apt-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ focal main'
$ sudo apt install --install-recommends winehq-stable
```
ここでRebootかterminal立ち上げ直したほうが良さそう。

## winetricksのインストール
winetricksはaptじゃなくて、DLしたのそのまま使う。
aptで入れるとうまく行かなかった。

```bash
$ cd "${HOME}/Downloads"
$ wget  https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
$ chmod +x winetricks
$ winetricks 
```

 
## フォントのインストール
フォントのインストールは、はじめに全部入れたほうが手間が少ない。
個別に入れるとアラートがいっぱい出てOKを押しまくらないといけなくて辛かった。

### 全部入れる
```
$ cd "${HOME}/Downloads"
$ ./winetricks allfonts
```

### 個別に入れる
```
$ cd "${HOME}/Downloads"
$ ./winetricks
```
以下順番に選んでいく

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120186/b6f50e44-c1e5-136c-d8bb-914869cf9a91.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120186/3acdd458-ba03-3b1e-12c6-c90d11108bd1.png)


ここで、corefontsをチェック
日本語使う場合はcjkfontsもチェック

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120186/da3f0f8e-f2b0-c589-4a6f-bdbddd91c3d9.png)


## DLLのインストール
DLLは入れる順番があるのかもしれないけど、以下の順番でうまく行った。
vcrun2019入れるとvcrun2017入れられなくなる。

```bash
$ winetricks
```
Install a Windows DLL or componentを選択してOKおす
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120186/e223b539-d7e1-230b-92b4-3d153ffb3ad6.png)


DLLのリストが表示されるので以下を1個ずつ順番に入れていく。
一度に全部チェックしてOK押すとうまく行かなかった。謎。

- vcrun2017
<img width="931" alt="image.png (15.6 kB)" src="https://img.esa.io/uploads/production/attachments/14536/2022/02/07/73708/1e0a36be-bc84-4766-b1b7-c72e407b421e.png">

- msxml3,4,5
<img width="408" alt="image.png (12.1 kB)" src="https://img.esa.io/uploads/production/attachments/14536/2022/02/07/73708/78f0f422-faed-4e92-a756-751894422fd1.png">

- dxvk
<img width="751" alt="image.png (10.5 kB)" src="https://img.esa.io/uploads/production/attachments/14536/2022/02/07/73708/3d9fd110-07eb-45e0-a505-30f330c347bc.png">

## wine-cfgでwin8にする

```bash
$ wine-cfg
```
Windows8に設定。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120186/ec8c26f8-cce0-de19-121c-e295536eb6b4.png)


# Fusion 360

## DLする
DLするURLは公式っぽくなく、書いていいかわからないから省略。
以下の手順Videoに書いてあるURLを手打ちしてDLした。
https://github.com/cryinkfly/Autodesk-Fusion-360-for-Linux

もしくは、WinでDLして持ってきてもいけるかも。

## 解凍とインストール
7zipで解凍してインストール

```bash
$ 7z x -osetup/ "Fusion 360 Admin Install.exe"
$ curl -Lo setup/platform.py https://github.com/python/cpython/raw/3.5/Lib/platform.py
$ sed -i 's/winver._platform_version or //' setup/platform.py 
$ wine64 setup/streamer.exe -p deploy -g -f log.txt --quiet
$ wine64 setup/streamer.exe -p deploy -g -f log.txt --quiet
```
最後のはなぜか2回やるっぽく書いてあったので、そのまま2回やってみた。


## グラフィックスドライバの変更
ここまでくるとFusion360が起動できる！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120186/9adb60b0-ce36-0832-312d-98f4e3b10926.png)

一度起動してDirectX 9にしてFusion360を閉じる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120186/59f88741-544e-0e9d-28e7-5324f526b9dc.png)

## winecfgでDirectXの設定変更

```bash
$ winecfg
```
ライブラリタブを開いて以下を変更する
d3d10core　:　無効
d3d11 ネイティブ
d3d9 内蔵版
dxgi ネイティブ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120186/fb2fb1db-889e-1f70-6e49-006123f6c515.png)

## 起動する
ということで、起動できるようになりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120186/b750ea17-4b5d-d633-dac8-6e141f1d581f.png)

動作としては使えなくはないけど...という感じ。特にいかが気になるところ。
- DirectX 9だとウィンドウのリサイズに時間がかかり、ウィンドウの縁をドラッグしたあとに処理が終わるまで待つ必要がある
- OpenGLだとスケッチでマウスオーバーしてもハイライされないことがある。けど、動作はDirectX9よりヌルヌル
- 終了してもプロセスが残るので、何回も再起動してるとメモリ足りなくなってPCがフリーズした。終了毎にプロセスをKillする必要がある

設計レビューするときとかにOS切り替えなくていいのは便利なので、このまましばらく使ってみる。