Jump to content

Fusion 360: Difference between revisions

From Wiki
Marcluer (talk | contribs)
mNo edit summary
Marcluer (talk | contribs)
mNo edit summary
Line 1: Line 1:
== Fusion 360 on Linux ==
= Fusion 360 on Linux =
* https://codeberg.org/cryinkfly/Autodesk-Fusion-360-on-Linux


* Not working:  
== Additional Fixes ==
* Install:
 
** Bottles
{| class="wikitable"
** Runner: Kron4ek-staging-tkg
|-
** Dependencies:  
! System !! Intel Iris Xe Graphics (RPL-P), X11, Wine-staging 11.6, Mesa 26.0.4, Vulkan 1.3.275
*** arial32
|-
*** webview2
! Installer !! cryinkfly <code>autodesk_fusion_installer_x86-64.sh</code> (<code>--install --default</code>)
*** vcredist2019
|-
*** dotnet48
! Fusion version !! 2702.1.47
|-
! Install path !! <code>~/.autodesk_fusion</code>
|-
! Wine prefix !! <code>~/.autodesk_fusion/wineprefixes/default</code>
|-
! Production hash !! <code>6f81bda0bb0ebef0ea118cf2bd48cba17061ffb5</code>
|}
 
== Usage ==
 
Install apt packages:
<syntaxhighlight lang="bash">
sudo apt install yad
</syntaxhighlight>
 
Apply all fixes in order after a fresh install with:
<syntaxhighlight lang="bash">
./autodesk_fusion_installer_x86-64.sh --install --default
</syntaxhighlight>
 
Shell variables used throughout:
<syntaxhighlight lang="bash">
WINE_PFX="$HOME/.autodesk_fusion/wineprefixes/default"
HASH="6f81bda0bb0ebef0ea118cf2bd48cba17061ffb5"
</syntaxhighlight>
 
'''Note:''' the production hash changes with Fusion updates. Find current hash with:
<syntaxhighlight lang="bash">
ls "$WINE_PFX/drive_c/Program Files/Autodesk/webdeploy/production/"
</syntaxhighlight>
 
== 1. Restore original Qt6WebEngineCore.dll ==
 
'''Problem:''' The cryinkfly installer downloads a patched <code>Qt6WebEngineCore.dll</code> (~134MB) and replaces the original (~148MB). This patched DLL is version-mismatched with Fusion 2702.1.47 and causes BREAKPOINT assertion crashes (<code>exception code 0x80000003</code>) every time the Chromium rendering engine initializes. Fusion opens then closes after ~6 seconds.
 
'''Diagnosis:''' CER crash log at <code>AppData/Local/Autodesk/CER/<hash>/cer.log</code> shows:
<syntaxhighlight>
AP/exception/module_name = Qt6WebEngineCore.dll
AP/exception/text = BREAKPOINT
AP/exception/code = 0x80000003
</syntaxhighlight>
 
'''Fix applied:'''
<syntaxhighlight lang="bash">
cd "$WINE_PFX/drive_c/Program Files/Autodesk/webdeploy/production/6f81bda0bb0ebef0ea118cf2bd48cba17061ffb5/"
cp Qt6WebEngineCore.dll.bak Qt6WebEngineCore.dll
</syntaxhighlight>
 
== 2. Fix adskidmgr:// protocol handler for SSO login ==
 
'''Problem:''' After browser sign-in, clicking "Open Product" does nothing. Two issues: (a) the <code>.desktop</code> file was in a subdirectory (<code>wine/Programs/Autodesk/1/</code>) where XDG can't find it by flat name, and (b) <code>%u</code> was quoted (<code>"%u"</code>) which prevents the callback URL from passing through.
 
'''Codeberg issues:''' #429, #512, #561
 
'''Fix applied:''' Created <code>~/.local/share/applications/adskidmgr-opener.desktop</code>:
<syntaxhighlight lang="ini">
[Desktop Entry]
Type=Application
Name=adskidmgr Scheme Handler
StartupNotify=false
MimeType=x-scheme-handler/adskidmgr;
Exec=env WINEPREFIX=$HOME/.autodesk_fusion/wineprefixes/default wine "$HOME/.autodesk_fusion/wineprefixes/default/drive_c/Program Files/Autodesk/webdeploy/production/6f81bda0bb0ebef0ea118cf2bd48cba17061ffb5/Autodesk Identity Manager/AdskIdentityManager.exe" %u
</syntaxhighlight>
 
Then:
<syntaxhighlight lang="bash">
update-desktop-database ~/.local/share/applications/
</syntaxhighlight>
 
'''Fallback:''' If the button still fails, right-click "Open Product", copy the <code>adskidmgr://...</code> URL, and run manually:
<syntaxhighlight lang="bash">
WINEPREFIX=$WINE_PFX wine "$WINE_PFX/drive_c/Program Files/Autodesk/webdeploy/production/6f81bda0bb0ebef0ea118cf2bd48cba17061ffb5/Autodesk Identity Manager/AdskIdentityManager.exe" "PASTE_URL_HERE"
</syntaxhighlight>
 
== 3. Clear stale IPC/lock files for SSO login ==
 
'''Problem:''' After crashed sessions, stale shared memory and lock files from the Identity Manager remain. These cause <code>invalid_grant</code> errors (expired OAuth codes get replayed) or prevent SSO from starting entirely.
 
'''Fix applied (run after every crash or before fresh login):'''
<syntaxhighlight lang="bash">
rm -f "$WINE_PFX/drive_c/ProgramData/Autodesk/IDSDK/*/interprocess/01000000/*"
rm -f "$WINE_PFX/drive_c/ProgramData/Autodesk/Synergy/boost_interprocess/*"
</syntaxhighlight>
 
== 4. DXVK instead of OpenGL ==
 
'''Problem:''' Wine's OpenGL-based D3D11 (WineD3D) can't handle <code>multisample_type 32</code> on Intel Iris Xe, causing viewport crashes. The data panel also fails because the default Chromium graphics backend doesn't work under WineD3D.
 
'''Fix applied:'''
 
'''Step 1:''' Installed DXVK 2.7.1 via winetricks (replaces <code>d3d11.dll</code>, <code>dxgi.dll</code>, <code>d3d10core.dll</code> with Vulkan-backed versions):
<syntaxhighlight lang="bash">
WINEPREFIX=$WINE_PFX WINE=wine ~/.autodesk_fusion/bin/winetricks -q dxvk
</syntaxhighlight>
 
'''Step 2:''' Downloaded and imported DXVK registry overrides (<code>d3d11=native</code>, <code>dxgi=native</code>, <code>d3d10core=native</code>, <code>d3d9=builtin</code>):
<syntaxhighlight lang="bash">
curl -L "https://codeberg.org/cryinkfly/Autodesk-Fusion-360-on-Linux/raw/branch/main/files/setup/resource/video_driver/DXVK/DXVK.reg" \
  -o ~/.autodesk_fusion/downloads/DXVK/DXVK.reg
WINEPREFIX=$WINE_PFX wine regedit.exe ~/.autodesk_fusion/downloads/DXVK/DXVK.reg
</syntaxhighlight>
 
'''Step 3:''' Replaced <code>NMachineSpecificOptions.xml</code> with DXVK version (all 3 locations):
<syntaxhighlight lang="bash">
curl -L "https://codeberg.org/cryinkfly/Autodesk-Fusion-360-on-Linux/raw/branch/main/files/setup/resource/video_driver/DXVK/NMachineSpecificOptions.xml" \
  -o /tmp/NMachineSpecificOptions.xml
cp /tmp/NMachineSpecificOptions.xml "$WINE_PFX/drive_c/users/$USER/AppData/Roaming/Autodesk/Neutron Platform/Options/"
cp /tmp/NMachineSpecificOptions.xml "$WINE_PFX/drive_c/users/$USER/AppData/Local/Autodesk/Neutron Platform/Options/"
cp /tmp/NMachineSpecificOptions.xml "$WINE_PFX/drive_c/users/$USER/Application Data/Autodesk/Neutron Platform/Options/"
</syntaxhighlight>
 
Key settings: <code>VirtualDeviceDx11</code>, <code>ChromiumGraphicsBackend=gl</code>, <code>OverrideChromiumGPUWorkarounds=1</code>, <code>DisableTransferAccelerationId=1</code>
 
'''Step 4:''' Updated <code>~/.autodesk_fusion/logs/wineprefixes.log</code> line 1 from <code>OpenGL</code> to <code>DXVK</code>.
 
'''How to verify:'''
<syntaxhighlight lang="bash">
strings $WINE_PFX/drive_c/windows/system32/d3d11.dll | grep -i dxvk
</syntaxhighlight>
Should show DXVK version strings.


== Import and modify stl ==
== Import and modify stl ==

Revision as of 17:11, 14 April 2026

Fusion 360 on Linux

Additional Fixes

System Intel Iris Xe Graphics (RPL-P), X11, Wine-staging 11.6, Mesa 26.0.4, Vulkan 1.3.275
Installer cryinkfly autodesk_fusion_installer_x86-64.sh (--install --default)
Fusion version 2702.1.47
Install path ~/.autodesk_fusion
Wine prefix ~/.autodesk_fusion/wineprefixes/default
Production hash 6f81bda0bb0ebef0ea118cf2bd48cba17061ffb5

Usage

Install apt packages:

sudo apt install yad

Apply all fixes in order after a fresh install with:

./autodesk_fusion_installer_x86-64.sh --install --default

Shell variables used throughout:

WINE_PFX="$HOME/.autodesk_fusion/wineprefixes/default"
HASH="6f81bda0bb0ebef0ea118cf2bd48cba17061ffb5"

Note: the production hash changes with Fusion updates. Find current hash with:

ls "$WINE_PFX/drive_c/Program Files/Autodesk/webdeploy/production/"

1. Restore original Qt6WebEngineCore.dll

Problem: The cryinkfly installer downloads a patched Qt6WebEngineCore.dll (~134MB) and replaces the original (~148MB). This patched DLL is version-mismatched with Fusion 2702.1.47 and causes BREAKPOINT assertion crashes (exception code 0x80000003) every time the Chromium rendering engine initializes. Fusion opens then closes after ~6 seconds.

Diagnosis: CER crash log at AppData/Local/Autodesk/CER/<hash>/cer.log shows:

AP/exception/module_name = Qt6WebEngineCore.dll
AP/exception/text = BREAKPOINT
AP/exception/code = 0x80000003

Fix applied:

cd "$WINE_PFX/drive_c/Program Files/Autodesk/webdeploy/production/6f81bda0bb0ebef0ea118cf2bd48cba17061ffb5/"
cp Qt6WebEngineCore.dll.bak Qt6WebEngineCore.dll

2. Fix adskidmgr:// protocol handler for SSO login

Problem: After browser sign-in, clicking "Open Product" does nothing. Two issues: (a) the .desktop file was in a subdirectory (wine/Programs/Autodesk/1/) where XDG can't find it by flat name, and (b) %u was quoted ("%u") which prevents the callback URL from passing through.

Codeberg issues: #429, #512, #561

Fix applied: Created ~/.local/share/applications/adskidmgr-opener.desktop:

[Desktop Entry]
Type=Application
Name=adskidmgr Scheme Handler
StartupNotify=false
MimeType=x-scheme-handler/adskidmgr;
Exec=env WINEPREFIX=$HOME/.autodesk_fusion/wineprefixes/default wine "$HOME/.autodesk_fusion/wineprefixes/default/drive_c/Program Files/Autodesk/webdeploy/production/6f81bda0bb0ebef0ea118cf2bd48cba17061ffb5/Autodesk Identity Manager/AdskIdentityManager.exe" %u

Then:

update-desktop-database ~/.local/share/applications/

Fallback: If the button still fails, right-click "Open Product", copy the adskidmgr://... URL, and run manually:

WINEPREFIX=$WINE_PFX wine "$WINE_PFX/drive_c/Program Files/Autodesk/webdeploy/production/6f81bda0bb0ebef0ea118cf2bd48cba17061ffb5/Autodesk Identity Manager/AdskIdentityManager.exe" "PASTE_URL_HERE"

3. Clear stale IPC/lock files for SSO login

Problem: After crashed sessions, stale shared memory and lock files from the Identity Manager remain. These cause invalid_grant errors (expired OAuth codes get replayed) or prevent SSO from starting entirely.

Fix applied (run after every crash or before fresh login):

rm -f "$WINE_PFX/drive_c/ProgramData/Autodesk/IDSDK/*/interprocess/01000000/*"
rm -f "$WINE_PFX/drive_c/ProgramData/Autodesk/Synergy/boost_interprocess/*"

4. DXVK instead of OpenGL

Problem: Wine's OpenGL-based D3D11 (WineD3D) can't handle multisample_type 32 on Intel Iris Xe, causing viewport crashes. The data panel also fails because the default Chromium graphics backend doesn't work under WineD3D.

Fix applied:

Step 1: Installed DXVK 2.7.1 via winetricks (replaces d3d11.dll, dxgi.dll, d3d10core.dll with Vulkan-backed versions):

WINEPREFIX=$WINE_PFX WINE=wine ~/.autodesk_fusion/bin/winetricks -q dxvk

Step 2: Downloaded and imported DXVK registry overrides (d3d11=native, dxgi=native, d3d10core=native, d3d9=builtin):

curl -L "https://codeberg.org/cryinkfly/Autodesk-Fusion-360-on-Linux/raw/branch/main/files/setup/resource/video_driver/DXVK/DXVK.reg" \
  -o ~/.autodesk_fusion/downloads/DXVK/DXVK.reg
WINEPREFIX=$WINE_PFX wine regedit.exe ~/.autodesk_fusion/downloads/DXVK/DXVK.reg

Step 3: Replaced NMachineSpecificOptions.xml with DXVK version (all 3 locations):

curl -L "https://codeberg.org/cryinkfly/Autodesk-Fusion-360-on-Linux/raw/branch/main/files/setup/resource/video_driver/DXVK/NMachineSpecificOptions.xml" \
  -o /tmp/NMachineSpecificOptions.xml
cp /tmp/NMachineSpecificOptions.xml "$WINE_PFX/drive_c/users/$USER/AppData/Roaming/Autodesk/Neutron Platform/Options/"
cp /tmp/NMachineSpecificOptions.xml "$WINE_PFX/drive_c/users/$USER/AppData/Local/Autodesk/Neutron Platform/Options/"
cp /tmp/NMachineSpecificOptions.xml "$WINE_PFX/drive_c/users/$USER/Application Data/Autodesk/Neutron Platform/Options/"

Key settings: VirtualDeviceDx11, ChromiumGraphicsBackend=gl, OverrideChromiumGPUWorkarounds=1, DisableTransferAccelerationId=1

Step 4: Updated ~/.autodesk_fusion/logs/wineprefixes.log line 1 from OpenGL to DXVK.

How to verify:

strings $WINE_PFX/drive_c/windows/system32/d3d11.dll | grep -i dxvk

Should show DXVK version strings.

Import and modify stl

  • Insert Mesh
  • Load STL
  • Right-click on file name
  • "Do not capture design history"
  • Right-click on mesh body name
  • "Mesh to BRep" -> "New body"