-
-
Notifications
You must be signed in to change notification settings - Fork 52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[FEAT.] : make linux AppImage work out of the box #578
Comments
Can't we get rid of the screen dependency ? 🤔 Can't we execute just a command like |
I think the mono logs
wine logs
For their binaries,
|
Got a build for So the implementation that I'm currently thinking of is:
What do you think with the implementation above? Only error I've encountered with
But can still offer some support on this in Discord if anything breaks as well on this front. |
As requested by @silentrald in #585, I'm referring some issues from there in here:
dotnet ./IPA.exe "./Beat Saber.exe"
|
That's very weird, every dll is expected except for the last one (UnityEngine.CoreModule.dll). Also I have warning on cancel_ptr but it still copied the files correctly. Although it failed somewhere in BSIPA where the path is not correctly created, still thinking if this has something to do with the slashes since looking at UnityEngine.CoreModule.dll has a different slashes from the previous dll filepaths. But here's the logs of a successful wine execution with IPA.exe. Logswine ./IPA.exe "Beat Saber.exe" -n
0120:fixme:mscoree:parse_supported_runtime sku=L".NETFramework,Version=v4.7.2" not implemented
0120:fixme:mscoree:parse_supported_runtime sku=L".NETFramework,Version=v4.7.2" not implemented
0120:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
Restoring old version...
Installing files...
0120:fixme:nls:GetFileMUIPath stub: 0x10, L"C:\\windows\\system32\\tzres.dll", (null), 00007FFFFE1FE450, 00007FFFFF265070, 00007FFFFE1FE458, 00007FFFFE1FE448
0120:fixme:nls:GetFileMUIPath stub: 0x10, L"C:\\windows\\system32\\tzres.dll", (null), 00007FFFFE1FE450, 00007FFFFF265070, 00007FFFFE1FE458, 00007FFFFE1FE448
Copying Z:\home\<user>\BSManager\BSInstances\1.37.1\Beat Saber_Data\Managed\I18N.dll
0120:fixme:file:CopyFileExW cancel_ptr is not supported
Copying Z:\home\<user>\BSManager\BSInstances\1.37.1\Beat Saber_Data\Managed\I18N.West.dll
0120:fixme:file:CopyFileExW cancel_ptr is not supported
Copying Z:\home\<user>\BSManager\BSInstances\1.37.1\Beat Saber_Data\Managed\IPA.Injector.dll
0120:fixme:file:CopyFileExW cancel_ptr is not supported
Copying Z:\home\<user>\BSManager\BSInstances\1.37.1\Beat Saber_Data\Managed\IPA.Injector.pdb
0120:fixme:file:CopyFileExW cancel_ptr is not supported
Copying Z:\home\<user>\BSManager\BSInstances\1.37.1\Beat Saber_Data\Managed\IPA.Loader.dll
0120:fixme:file:CopyFileExW cancel_ptr is not supported
Copying Z:\home\<user>\BSManager\BSInstances\1.37.1\Beat Saber_Data\Managed\IPA.Loader.pdb
0120:fixme:file:CopyFileExW cancel_ptr is not supported
Copying Z:\home\<user>\BSManager\BSInstances\1.37.1\Beat Saber_Data\Managed\IPA.Loader.xml
0120:fixme:file:CopyFileExW cancel_ptr is not supported
Copying Z:\home\<user>\BSManager\BSInstances\1.37.1\Beat Saber_Data\Managed\Microsoft.CSharp.dll
0120:fixme:file:CopyFileExW cancel_ptr is not supported
Copying Z:\home\<user>\BSManager\BSInstances\1.37.1\Beat Saber_Data\Managed\netstandard.dll
0120:fixme:file:CopyFileExW cancel_ptr is not supported
Copying Z:\home\<user>\BSManager\BSInstances\1.37.1\Beat Saber_Data\Managed\System.Runtime.Serialization.dll
0120:fixme:file:CopyFileExW cancel_ptr is not supported
Copying Z:\home\<user>\BSManager\BSInstances\1.37.1\Libs\0Harmony.dll
0120:fixme:file:CopyFileExW cancel_ptr is not supported
Copying Z:\home\<user>\BSManager\BSInstances\1.37.1\Libs\0Harmony.xml
0120:fixme:file:CopyFileExW cancel_ptr is not supported
Copying Z:\home\<user>\BSManager\BSInstances\1.37.1\Libs\Hive.Versioning.dll
0120:fixme:file:CopyFileExW cancel_ptr is not supported
Copying Z:\home\<user>\BSManager\BSInstances\1.37.1\Libs\Hive.Versioning.xml
0120:fixme:file:CopyFileExW cancel_ptr is not supported
Copying Z:\home\<user>\BSManager\BSInstances\1.37.1\Libs\Ionic.Zip.dll
0120:fixme:file:CopyFileExW cancel_ptr is not supported
Copying Z:\home\<user>\BSManager\BSInstances\1.37.1\Libs\Mono.Cecil.dll
0120:fixme:file:CopyFileExW cancel_ptr is not supported
Copying Z:\home\<user>\BSManager\BSInstances\1.37.1\Libs\Mono.Cecil.Mdb.dll
0120:fixme:file:CopyFileExW cancel_ptr is not supported
Copying Z:\home\<user>\BSManager\BSInstances\1.37.1\Libs\Mono.Cecil.Pdb.dll
0120:fixme:file:CopyFileExW cancel_ptr is not supported
Copying Z:\home\<user>\BSManager\BSInstances\1.37.1\Libs\Mono.Cecil.Rocks.dll
0120:fixme:file:CopyFileExW cancel_ptr is not supported
Copying Z:\home\<user>\BSManager\BSInstances\1.37.1\Libs\MonoMod.RuntimeDetour.dll
0120:fixme:file:CopyFileExW cancel_ptr is not supported
Copying Z:\home\<user>\BSManager\BSInstances\1.37.1\Libs\MonoMod.RuntimeDetour.xml
0120:fixme:file:CopyFileExW cancel_ptr is not supported
Copying Z:\home\<user>\BSManager\BSInstances\1.37.1\Libs\MonoMod.Utils.dll
0120:fixme:file:CopyFileExW cancel_ptr is not supported
Copying Z:\home\<user>\BSManager\BSInstances\1.37.1\Libs\MonoMod.Utils.xml
0120:fixme:file:CopyFileExW cancel_ptr is not supported
Copying Z:\home\<user>\BSManager\BSInstances\1.37.1\Libs\Newtonsoft.Json.dll
0120:fixme:file:CopyFileExW cancel_ptr is not supported
Copying Z:\home\<user>\BSManager\BSInstances\1.37.1\Libs\Newtonsoft.Json.xml
0120:fixme:file:CopyFileExW cancel_ptr is not supported
Copying Z:\home\<user>\BSManager\BSInstances\1.37.1\Libs\SemVer.dll
0120:fixme:file:CopyFileExW cancel_ptr is not supported
Copying Z:\home\<user>\BSManager\BSInstances\1.37.1\Libs\SemVer.pdb
0120:fixme:file:CopyFileExW cancel_ptr is not supported
Copying Z:\home\<user>\BSManager\BSInstances\1.37.1\winhttp.dll
0120:fixme:file:CopyFileExW cancel_ptr is not supported
0120:fixme:file:CopyFileExW cancel_ptr is not supported
Creating plugins folder... Can you post the dotnet logs and compare what's your successful execution with dotnet. |
Problem
Currently with the linux AppImage, to install mods properly in linux distros, there are hidden dependencies that aren't very well documented. Users need to install both screen and dotnet-3.1.426 version. screen package is very trivial for most distros however the specific version of dotnet is very hard for most users to get installed.
These are some of the dotnet installation process:
Solution
Add the linux executable binaries for screen and dotnet to the
assets/scripts
folder to properly run theIPA.exe
executable. This is also feasible since I've got a working branch for this. Only downside here is that the dotnet binary is very big, around ~200mb. Will try to update this to get the final AppImage size if I include these changes.Alternative solutions (if any)
For Arch users, I think Insprill created an AUR package which uses yay package manager. The dependencies are linked here so it would work properly.
wine can also be an alternative to run
IPA.exe
although wine can fail in execution and/or log out error messages unlike dotnet.[Unlikely] A possibility of BSIPA being compiled as a linux binary so that we wouldn't depend on dotnet, minimum install would only be screen.
Additional context
Feature suggestion is because of Steam Deck users since its very hard to install packages in the handheld console and most users of these are not technically adept to install these stuff.
The text was updated successfully, but these errors were encountered: