Open Elaquen7 opened 5 months ago
There is already a wine check in Resonite, used to disable the Desktop tab under Proton (it would crash otherwise). This check uses wines ntdll
to get the Wine version. You can see this with Detected Wine version:
in your log. That same system could be used, if blender
is not detected, to display the warning.
Alternatively, a more generic, all OS "Blender not found" warning could be displayed (or logged) instead. That way, users would still have to go out of their way to troubleshoot (like the current error message), but the error message on Windows would be clear, and Linux users can get instructions from the Wiki, or Discord.
I'm not sure where Resonite currently searches for Blender, but I think it would be good if it also searched the Steam games folder for a (Windows) Blender install. Blender is redistributed on Steam, which would allow Linux users to install the Windows version of blender in a "known" path for Resonite, while still keeping their system Blender version without any modifications. This would also allow for updates without further user interaction, and would avoid messing with the wineprefix.
In the linked issue, I posted the current list of tracked paths, @coolymike. It can be found here:
https://wiki.resonite.com/3D_Model_Import#Blender
I think it would be more useful to have a platform agnostic "Blender not found!" error rather than one specific to Proton.
I posted the current list of tracked paths
Looking at those it looks like it only checks the Windows default Steam game installation path. It would be more effective to add ../Blender/
to that list, as it would catch Windows Blender installed through Steam on Linux.
As mentioned on that wiki page, @coolymike:
If you have another common location that you know Blender installs to please open a GitHub Issue to suggest its addition.
Is your feature request related to a problem? Please describe.
Related to #2188. When running under Linux Proton, importing .blend files is not possible unless Blender is installed to
steamapps/compatdata/2519830/pfx/drive_c/Program Files/
. This path is inside the WINE prefix for Resonite.There is no error message about this other than
Error importing file: BLEND: BLENDER magic bytes are missing, couldn't find GZIP header either
in the log file, which doesn't really say what the issue is.Describe the solution you'd like
When decoding error with .blend file occurs on file import and Linux is detected, show helpful message to user to please install Blender in the WINE prefix and potentially direct them to #2188.
Detecting Linux under WINE is a bit difficult as WINE pretends to be Windows. To combat this, check if a Z: drive is attached and see if there are specific folders at Z:\etc, Z:\sys, Z:\home. This would indicate a linux filesystem and Resonite running under WINE.
Describe alternatives you've considered
Just symlinking the Blender libraries from a linux install does not work. Resonite needs .dll-files and on Linux .so-files are used. As such, a Windows version is required.
Instead of Resonite checking for a file structure, it may also check if the winlogon process is present, check for Wine entries in the registry, or test system libraries for functionality. Whatever is easiest to the devs.
Additional Context
No response
Requesters
Elaq