TormStorm / jagex-launcher-linux

Community projects to install the Jagex Launcher and use Jagex Accounts in Linux
GNU Affero General Public License v3.0
220 stars 24 forks source link

Unable to launch HDOS with a Wayland (Hyprland) compositor #85

Closed aestheticjmack closed 1 year ago

aestheticjmack commented 1 year ago

Describe the bug The installer doesn't work and an error appears

To Reproduce Steps to reproduce the behavior:

  1. Ran the script in lutris

Expected behavior A clear and concise description of what you expected to happen.

Screenshots If applicable, add screenshots to help explain your problem.

image

Please complete the following information:

Additional context Add any other context about the problem here.

aestheticjmack commented 1 year ago

I restarted, re ran the script and it error'd out with

4126 appears to have quit. Ending loop.
Monitored process exited.
Initial process has exited (return code: 0)
All processes have quit
Exit with return code 0
Started initial process 7341 from /usr/bin/bash -c mkdir -p "/home/jmack/Games/jagex-launcher/drive_c/Program Files (x86)/Jagex Launcher/Games/"
Start monitoring process.
Monitored process exited.
Initial process has exited (return code: 0)
All processes have quit
Exit with return code 0
Started initial process 7681 from /usr/bin/bash -c ln -s "/home/jmack/Games/jagex-launcher/drive_c/Program Files (x86)/Jagex Launcher/Games/RuneLite/runelite.sh" "/home/jmack/Games/jagex-launcher/drive_c/Program Files (x86)/Jagex Launcher/Games/RuneLite/RuneLite.exe"
Start monitoring process.
ln: failed to create symbolic link '/home/jmack/Games/jagex-launcher/drive_c/Program Files (x86)/Jagex Launcher/Games/RuneLite/RuneLite.exe': File exists
Monitored process exited.
Initial process has exited (return code: 256)
All processes have quit
Exit with return code 256

link to full log https://pastebin.com/AVsYXdra

aestheticjmack commented 1 year ago

I installed dotnet48 via winetricks, it now shows up in lutris but gives me this error

image

aestheticjmack commented 1 year ago

Followed this guide https://www.youtube.com/watch?v=izLxF_Wwinw downloaded the zip in his description and ran it with wine, looks to be working now

aestheticjmack commented 1 year ago

If anyone can help me figure out where to put HDOS in the folder structure I think I can get it all working, knew it was a mistake migrating my account ;_;

aestheticjmack commented 1 year ago

Putting HDOS.exe and hdos.sh in ~/jagex-launcher/Games/HDOS/ doesn't seem to do the trick

image

nmlynch94 commented 1 year ago

@aestheticjmack Install the hdos flatpak as described in the readme https://github.com/TormStorm/jagex-launcher-linux#game-clients and that should let you launch it.

aestheticjmack commented 1 year ago

I do have it installed, I can run hdos.sh, or HDOS.exe, which is just an SL to the script and it launches HDOS, but the launcher fails to see HDOS

image

nmlynch94 commented 1 year ago

Ah ok gotcha. Hmmm could you please check your registry? Highlight the game in lutris, click the up arrow next to the wine glass and select "Wine Registry". The entry that is used to detect HDOS should look like this:

image

aestheticjmack commented 1 year ago

Looks to be the same, also really appreciate the help (:

image

aestheticjmack commented 1 year ago

I checked that location and it was empty so I went ahead and threw the files in, still no luck

image

nmlynch94 commented 1 year ago

No problem!

Hmm that looks correct. I wonder if the launcher has a bug where it can't properly update from an older version to the one with HDOS support. Going to look at a couple things.

aestheticjmack commented 1 year ago

image

disabled mangohud, now the launcher works from lutris, I am using Hyprland which uses wayland which may be part of the culprit

HDOS is there but it does not launch it

Do you know where the /jagex-launcher folder is with this lutris install?

aestheticjmack commented 1 year ago

image

libEGL warning: egl: failed to create dri2 screen
flatpak: symbol lookup error: /usr/lib/libassuan.so.0: undefined symbol: gpgrt_malloc, version GPG_ERROR_1.0
/home/jmack/Games/jagex-launcher/dosdevices/c:/Program Files (x86)/Jagex Launcher/Games/HDOS/HDOS.exe: line 7: flatpak-spawn: command not found

this is the error I get when clicking play

nmlynch94 commented 1 year ago

Ah, we have had a lot of issues with Wayland in this install.

It should be in your /home/Games folder by default. There will be the prefix, drive_c is equivalent to the C: drive you see in the registry entry.

If you can get the play button for HDOS to show up, should should be able to right click -> show logs in lutris and get an error message to show what is stopping the script from launching.

You may have more luck with this script if you want to try from scratch again. https://github.com/nmlynch94/jagex-launcher-linux/blob/patch-17/resources/jagexlauncher.yml. Tried some different DLL overrides. You can rename to destination to jagex-launcher1 or something to keep your working version for backup.

nmlynch94 commented 1 year ago

Oh ok we actually just merged a fix for this yesterday, you must have downloaded the script right before. The script only worked to launch inside of flatpak lutris before. Make sure your HDOS.sh matches this: https://github.com/TormStorm/jagex-launcher-linux/issues/84.

aestheticjmack commented 1 year ago

It's the same, I downloaded the script maybe two hours ago

running what you linked just to see if it'll turn up different

aestheticjmack commented 1 year ago

image

this is new, last time I ran it I did not get this dialouge

aestheticjmack commented 1 year ago

image

YAY

nmlynch94 commented 1 year ago

Ok moment of truth. Does HDOS launch?

aestheticjmack commented 1 year ago

Had to disabled mangohud and gamescope for it to work, prob wayland issues, same error. I also gave it a different directory to work in so this should be from scratch

image

flatpak: symbol lookup error: /usr/lib/libassuan.so.0: undefined symbol: gpgrt_malloc, version GPG_ERROR_1.0
/home/jmack/Games/jagex-launcher-wayland/dosdevices/c:/Program Files (x86)/Jagex Launcher/Games/HDOS/HDOS.exe: line 7: flatpak-spawn: command not found
aestheticjmack commented 1 year ago

And just to try it out runelite does work from here

logs from launching runelite

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by net.runelite.client.util.ReflectUtil (file:/home/jmack/.runelite/repository2/client-1.10.12.1.jar) to field java.lang.reflect.Executable.declaredAnnotations
WARNING: Please consider reporting this to the maintainers of net.runelite.client.util.ReflectUtil
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
nmlynch94 commented 1 year ago

Yeah a lot of people have to disable dxvk, swap to system wine, and enable virtual desktop to even get the launcher to show up on Wayland lol.

Yeah I wonder if this is related to hyperland. I just tested in non-flatpak lutris, also on Arch and was able to launch it.

I think hdos.sh's error handling is probably obfuscating the real error. Can you please edit hdos.sh to be

#!/bin/sh
set -e
flatpak run --env=PULSE_LATENCY_MSEC=200 \
    --env='vblank_mode=0' \
    --env='MESA_GL_VERSION_OVERRIDE=4.5FC' \
    dev.hdos.HDOS

Then run again and see what the logs say?

nmlynch94 commented 1 year ago

Your lutris isn't installed via nixPkgs by chance is it?

aestheticjmack commented 1 year ago

I don't use nix only the AUR, I installed flatpak just for this as I tend to stay away from that. I also tried changing wine versions but it would just crash.

Trying on a fresh lutris install with your recommendations

nmlynch94 commented 1 year ago

Yeah fair enough. You can also edit hdos.sh in place and then hit the play button again on the working installation.

aestheticjmack commented 1 year ago

This is what it shows everytime I click the button

ntlm_auth: /home/jmack/.local/share/lutris/runtime/Ubuntu-18.04-x86_64/libjansson.so.4: no version information available (required by /usr/lib/samba/libcommon-auth-samba4.so)
ntlm_auth: /home/jmack/.local/share/lutris/runtime/Ubuntu-18.04-x86_64/libjansson.so.4: no version information available (required by /usr/lib/samba/libcommon-auth-samba4.so)
flatpak: symbol lookup error: /usr/lib/libassuan.so.0: undefined symbol: gpgrt_malloc, version GPG_ERROR_1.0
nmlynch94 commented 1 year ago

Ah ha, there is the real culprit. I unfortunately have never seen that error before though lol so looking into it.

If you just paste

flatpak run --env=PULSE_LATENCY_MSEC=200 \
    --env='vblank_mode=0' \
    --env='MESA_GL_VERSION_OVERRIDE=4.5FC' \
    dev.hdos.HDOS

Straight into a terminal, it works? I wonder if the Lutris runtime is somehow messing this up...

aestheticjmack commented 1 year ago

I don't think

ntlm_auth: /home/jmack/.local/share/lutris/runtime/Ubuntu-18.04-x86_64/libjansson.so.4: no version information available (required by /usr/lib/samba/libcommon-auth-samba4.so)
ntlm_auth: /home/jmack/.local/share/lutris/runtime/Ubuntu-18.04-x86_64/libjansson.so.4: no version information available (required by /usr/lib/samba/libcommon-auth-samba4.so)

is a part of it since it doesn't appear if I spam click the button

aestheticjmack commented 1 year ago

Runs it just fine

image

aestheticjmack commented 1 year ago

All this work for linux users to get around this stupid credentials wrapper

nmlynch94 commented 1 year ago

Yeah I know it's frustrating. There is a native launcher on flathub called Bolt that AdamCake created, but hdos doesn't have jdk 17 support so has not been integrated into it yet.

nmlynch94 commented 1 year ago

Do you have these lutris deps installed? Not sure if the AUR takes care of that or not https://github.com/lutris/docs/blob/master/WineDependencies.md#archendeavourosmanjaroother-arch-derivatives.

If you'd like, you could build Bolt from source to use your system java and provide it a custom .jar to run. It has a dropdown to select one. https://github.com/Adamcake/Bolt. Would let you avoid flatpak since you don't prefer them.

The other option is to try the lutris flatpak to see if this resolves whatever dependency issue the lutris runtime is having.

I can't find anything concrete, but I asked in the Lutris Discord to see if anyone has seen this. I need to step away for awhile, sorry we couldn't get you up and running.

aestheticjmack commented 1 year ago

What's funny is I tried bolt but it can't see the .jar, probally a permissions issue, I'll try this lutris fix, I do have problems with tarkov and lutris but I played too much of that game so best I stay away from it.

aestheticjmack commented 1 year ago

lib32-libxslt-1.1.38-1 is the only package from there I have missing

aestheticjmack commented 1 year ago

Same error, don't know if I should try with the different hdos.sh if it's still throwing this

[``](flatpak: symbol lookup error: /usr/lib/libassuan.so.0: undefined symbol: gpgrt_malloc, version GPG_ERROR_1.0)

nmlynch94 commented 1 year ago

Yeah it shouldn't make a difference. You'll need to put the original hdos.sh back if you swap to lutris flatpak, though since that relies on flatpak-spawn.

aestheticjmack commented 1 year ago

I might as well try lutris flatpak at this point, I'll report back

aestheticjmack commented 1 year ago

I don't think this route is going to work well

image

nmlynch94 commented 1 year ago

Try again if it installed gecko during that run. It sometimes times out after the gecko installation for some inane reason.

aestheticjmack commented 1 year ago

I did, no dice, I'll probally need to mess with flakpak a ton to get it working, tried building bolt as well and had no luck with that, at least I can play OSRS on runelite in the meantime, I'll post back in here if I have any updates. Switched to linux this year haven't touched windows since, had no problems until starfield and now this ;_;

aestheticjmack commented 1 year ago

I thought I was so close but HDOS just never launches with Bolt, only gets this far

image

what's weird is the process is still running, this might be some flatpak sandboxxing issue

image

nmlynch94 commented 1 year ago

Did you get that from flathub? It's probably bc it's jdk 17. They have a known issue with jdk 17 compatibiltiy.

flatpak remove com.adamcake.Bolt

Clone this repo https://github.com/Adamcake/bolt-flatpak

Modify the two highlighted lines in this screenshot to have 11 instead of 17 image

then build with the command in the readme in the repo (may need to install flatpak-builder) and run. I think that should get it running for you.

If it doesn't let you select the hdos jar you may need to use flatseal to grant access to user files to the flatpak. I didn't need to do that though and was able to access downloads.

aestheticjmack commented 1 year ago

Looks like the shared-modules folder in that repo is empty?

image

Adamcake commented 1 year ago

Git doesn't clone submodules by default. git clone --recurse-submodules https://github.com/adamcake/Bolt.git

Adamcake commented 1 year ago

Sorry wrong repo, bolt-flatpak. You get the idea.

aestheticjmack commented 1 year ago

git clone --recurse-submodules https://github.com/adamcake/bolt-flatpak.git still gives empty directory, also Hi @Adamcake, great tool you've made!

Adamcake commented 1 year ago

Strange, I just did a fresh clone and it filled that directory. Git submodules can be funny at times though. image

aestheticjmack commented 1 year ago

Deleted the folder and it pulled them, most likely because there was arleady a directory

aestheticjmack commented 1 year ago

Had to run flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Then it built

aestheticjmack commented 1 year ago

@Adamcake you're a legend! Also thank you so much @nmlynch94

image