nhubaotruong / league-of-legends-linux-garena-script

85 stars 11 forks source link

Stuck on loading screen after launching the game via Garena #43

Closed xruifan closed 2 years ago

xruifan commented 2 years ago

Hi,

The client stuck on loading screen as the picture shown below. Screenshot_20220620_103954

The log: log.txt

Lutris Garena runner options: image image image

Lutris LOL runner options: image image image

System: OS: Debian GNU/Linux 11 bullseye Arch: x86_64 Kernel: 5.10.0-15-amd64 Desktop: KDE Display Server: x11

[CPU] Vendor: GenuineIntel Model: Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz Physical cores: 6 Logical cores: 12

[Memory] RAM: 15.5 GB Swap: 1.0 GB

[Graphics] Vendor: Intel OpenGL Renderer: Mesa Intel(R) UHD Graphics 630 (CFL GT2) OpenGL Version: 4.6 (Compatibility Profile) Mesa 20.3.5 OpenGL Core: 4.6 (Core Profile) Mesa 20.3.5 OpenGL ES: OpenGL ES 3.2 Mesa 20.3.5 Vulkan: Supported

I am looking forward to your reply. Fan

longz3r commented 2 years ago

same for me but my game will be not responding if chose RiotClientSerivces.exe in LOL lutris config if LeagueClient.exe is selected will be like you

xruifan commented 2 years ago

same for me but my game will be not responding if chose RiotClientSerivces.exe in LOL lutris config if LeagueClient.exe is selected will be like you

What I think is you use LeagueClient.exe as the executable if you belong to Asia as mentioned in this section. If I get it wrong please let me know, thanks.

longz3r commented 2 years ago

same for me but my game will be not responding if chose RiotClientSerivces.exe in LOL lutris config if LeagueClient.exe is selected will be like you

What I think is you use LeagueClient.exe as the executable if you belong to Asia as mentioned in this section. If I get it wrong please let me know, thanks.

Although i chose RiotClientServices.exe as metioned game will show league of legends splash screen and become not responding (will disappear after few minutes)

nhubaotruong commented 2 years ago

Thanks for the report, I don't really know how to fix this either :cry: . I'll update as soon as I find a way to make it work

nhubaotruong commented 2 years ago

Can you guys please try again using wine lutris lol 7.0.1 and the injector script as I specified in the lol.json file ? It has been working for me

2ndBillGates commented 2 years ago

Can you guys please try again using wine lutris lol 7.0.1 and the injector script as I specified in the lol.json file ? It has been working for me

OK, I'll try it now. It didn't work for me either yesterday, I'm from Taiwan

2ndBillGates commented 2 years ago

I was using wine lutris-ge-lol-7.0.2, my system is Fedora 36

2ndBillGates commented 2 years ago

I still have to download lutris version LOL(US) for that to work, right?

nhubaotruong commented 2 years ago
lutris -i https://raw.githubusercontent.com/nhubaotruong/league-of-legends-linux-garena-script/main/lol.json

Just run this, it's my lol config

2ndBillGates commented 2 years ago

Screenshot from 2022-07-01 12-37-09 I run the lol.json install script you mentioned above, I'm still getting this loading screen.

nhubaotruong commented 2 years ago

Did you set the Executable to RiotClientServices.exe ?

2ndBillGates commented 2 years ago

may executable path: /run/media/WD/Lol/32775/32775/LeagueClient/LeagueClient.exe

nhubaotruong commented 2 years ago

Set it to {whatever_the_game_path}/Riot Client/RiotClientServices.exe

2ndBillGates commented 2 years ago

Did you set the Executable to RiotClientServices.exe ?

I tried to set it to RiotClientServices.exe inside the Garena LOL installation folder. "Lol/32775/32775/Riot Client/RiotClientServices.exe"

But when I launch it, nothing shows up

nhubaotruong commented 2 years ago

I'm not sure, I was using wayland so maybe it's different. But RiotClientServices.exe was the right thing, using LeagueClient.exe don't work anymore

2ndBillGates commented 2 years ago

And If I set it to LOL(US)'s RiotClientServices.exe

I get the the Riot login screen from US Screenshot from 2022-07-01 12-44-26

2ndBillGates commented 2 years ago

I'm not sure, I was using wayland so maybe it's different. But RiotClientServices.exe was the right thing, using LeagueClient.exe don't work anymore

I see But I'm using wayland as well

nhubaotruong commented 2 years ago

I mean set it to RiotClientServices.exe from the Garena installed LOL, not the default one :smile:

2ndBillGates commented 2 years ago

I mean set it to RiotClientServices.exe from the Garena installed LOL, not the default one smile

OK,If I set it to RiotClientServices.exe from the Garena installed LOL. Nothing is showing up. I still have to use lol.py before pressing the Play button, right?

After I clicked play button, LeagueClient.exe process it's running in the background. But there is no window in the front.

nhubaotruong commented 2 years ago

Do you have the dependencies for psutil and frida installed for the launchscript ?

2ndBillGates commented 2 years ago

I tried to run python injector.py

It gave me these

Traceback (most recent call last): File "/home/tom/Games/league-of-legends/injector.py", line 70, in signal.signal(signal.SIGBREAK, sigterm_handler) AttributeError: module 'signal' has no attribute 'SIGBREAK'. Did you mean: 'SIGTRAP'?

2ndBillGates commented 2 years ago

Do you have the dependencies for psutil and frida installed for the launchscript ?

I believed I did

Defaulting to user installation because normal site-packages is not writeable Requirement already satisfied: frida in /home/tom/.local/lib/python3.10/site-packages (15.1.27) Requirement already satisfied: setuptools in /usr/lib/python3.10/site-packages (from frida) (59.6.0)

2ndBillGates commented 2 years ago

Something different

I set Virtual Desktop enable, now league of legends LOGO shows in the Virtual Desktop but nothing more.

2ndBillGates commented 2 years ago

I just installed KDE plasma, When I click play, this logo shows up and stuck in here Screenshot_20220701_141244 Maybe I missed installing something?

khewweifeng commented 2 years ago

I just installed KDE plasma, When I click play, this logo shows up and stuck in here Screenshot_20220701_141244 Maybe I missed installing something?

I also stuck here @2ndBillGates

xruifan commented 2 years ago

Can you guys please try again using wine lutris lol 7.0.1 and the injector script as I specified in the lol.json file ? It has been working for me

Hi, thank you for your replies. I have tried to use lutris-ge-lol-7.0-1-x86_64 and unfortunately nothing changed.

nhubaotruong commented 2 years ago

Hi guys, I've been trying with my friends computer, and it works for him too, I'm playing on Vietnam server. I'm playing on Arch Linux, I'm wondering if the distro is affecting anything. Can you guys share your distros ? I mostly use Arch so I'm not familiar with the dependencies name on other distros

2ndBillGates commented 2 years ago

Hi guys, I've been trying with my friends computer, and it works for him too, I'm playing on Vietnam server. I'm playing on Arch Linux, I'm wondering if the distro is affecting anything. Can you guys share your distros ? I mostly use Arch so I'm not familiar with the dependencies name on other distros

Hello there I use arch before just recently switch to fedora. I wish I didn't make the switch.

Yesterday, I thought If TW Garena wouldn't work, then, NA server should work, right?

Then, I go ahead and start it, nothing shows up, I was very disappointed.

Later, I did one more time in KDE PLASMA and use the newest wine 7.0.2-ge-lol

Guess what, NA server lol client successfully run and able to play. It seems GNOME unable to recognise boardless window like leagueclient.

ONLY a few problems,

  1. In Full screen, mouse cannot click to control, have to set it to boardless mode in game.cfg

  2. Whenever I try to use plasma overview or touch pad gesture, League of Legends crashes.

2ndBillGates commented 2 years ago

I am going to test Garena LOL on KDE Plasma with 7.02-ge-lol wine and see if this is working

khewweifeng commented 2 years ago

Hi guys, I've been trying with my friends computer, and it works for him too, I'm playing on Vietnam server. I'm playing on Arch Linux, I'm wondering if the distro is affecting anything. Can you guys share your distros ? I mostly use Arch so I'm not familiar with the dependencies name on other distros

Hi,

I tried POP OS (ubuntu LTS 22.04) and MX LINUX KDE (debian 11)

MX LINUX can show logo without prompting leagueclient not responding message like this https://github.com/nhubaotruong/league-of-legends-linux-garena-script/issues/43#issuecomment-1171977101 lol client still running in background but it does not show up 😢

result for POP OS = #40

khewweifeng commented 2 years ago

I am going to test Garena LOL on KDE Plasma with 7.02-ge-lol wine and see if this is working

It does not work from my end 😢 I tried 7.02 and 7.01 also having same result #40

2ndBillGates commented 2 years ago

Hey guys, you mentioned injector.py script in some comment.

But how do I run the script, I try to run by python injector.py and It gave me some error.

I set up the pre-run script in the lutris setting, and run Garena /luris lol, nothing happens.

I haven't been able to get a prompt and ask me to give root password, root permission, no matter what I do.

How do I debug in the terminal.

The only method I know was to run lutris in terminal

2ndBillGates commented 2 years ago

Probably, a TW Garena issue?

Seems most of us who has the no graphics with lolclient problem are TW server players

khewweifeng commented 2 years ago

Probably, a TW Garena issue?

Seems most of us who has the no graphics with lolclient problem are TW server players

I am SG server but I think it should be the same because TW also using garena client to launch the game

khewweifeng commented 2 years ago

image

nhubaotruong commented 2 years ago

Okay guys, finally figure out what's wrong, In the launch script I have these lines

if [ "$(cat /proc/sys/abi/vsyscall32)" -eq 0 ]; then
    exit 0
fi
pkexec sh -c 'sysctl -w abi.vsyscall32=0'

which changes the kernel's parameter abi.vsyscall32 to 0 for the game to start

It used to be that both the client and the actual gameplay can work if this parameter is set to 0, but now the client can only start when it's 1 and the gameplay can only start if it's 0

Please try comment out the line in launchhelper2.sh like so

#!/usr/bin/env sh

if [ "$(cat /proc/sys/abi/vsyscall32)" -eq 0 ]; then
    exit 0
fi

#pkexec sh -c 'sysctl -w abi.vsyscall32=0'

python launchhelper2.py

When the client start, manually run pkexec sh -c 'sysctl -w abi.vsyscall32=0' before you start a game, if it works for you I'll update the repo

2ndBillGates commented 2 years ago

image

Mines too, first it's black then when things are loaded, colours are back 1 minute after that, it disappeared and that's it. Screenshot_%Nd_2022-07-02_15,41,34

Screenshot_%Nd_2022-07-02_14,48,34

no prompt for password or anything

khewweifeng commented 2 years ago

Okay guys, finally figure out what's wrong, In the launch script I have these lines

if [ "$(cat /proc/sys/abi/vsyscall32)" -eq 0 ]; then
    exit 0
fi
pkexec sh -c 'sysctl -w abi.vsyscall32=0'

which changes the kernel's parameter abi.vsyscall32 to 0 for the game to start

It used to be that both the client and the actual gameplay can work if this parameter is set to 0, but now the client can only start when it's 1 and the gameplay can only start if it's 0

Please try comment out the line in launchhelper2.sh like so

#!/usr/bin/env sh

if [ "$(cat /proc/sys/abi/vsyscall32)" -eq 0 ]; then
    exit 0
fi

#pkexec sh -c 'sysctl -w abi.vsyscall32=0'

python launchhelper2.py

When the client start, manually run pkexec sh -c 'sysctl -w abi.vsyscall32=0' before you start a game, if it works for you I'll update the repo

this time it did prompted to enter password but still stuck at logo , after 5 min ... the game auto close

khewweifeng commented 2 years ago

Okay guys, finally figure out what's wrong, In the launch script I have these lines

if [ "$(cat /proc/sys/abi/vsyscall32)" -eq 0 ]; then
    exit 0
fi
pkexec sh -c 'sysctl -w abi.vsyscall32=0'

which changes the kernel's parameter abi.vsyscall32 to 0 for the game to start It used to be that both the client and the actual gameplay can work if this parameter is set to 0, but now the client can only start when it's 1 and the gameplay can only start if it's 0 Please try comment out the line in launchhelper2.sh like so

#!/usr/bin/env sh

if [ "$(cat /proc/sys/abi/vsyscall32)" -eq 0 ]; then
    exit 0
fi

#pkexec sh -c 'sysctl -w abi.vsyscall32=0'

python launchhelper2.py

When the client start, manually run pkexec sh -c 'sysctl -w abi.vsyscall32=0' before you start a game, if it works for you I'll update the repo

this time it did prompted to enter password but still stuck at logo , after 5 min ... the game auto close

Running /home/acer/.local/share/lutris/runners/wine/lutris-ge-lol-7.0-2-x86_64/bin/wine /home/acer/Games/garena/drive_c/Program Files (x86)/Garena/Garena/Garena.exe Initial process has started with pid 2520 Start monitoring process. esync: up and running. ATTENTION: default value of option mesa_glthread overridden by environment. MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0

ATTENTION: default value of option mesa_glthread overridden by environment. MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0

wine: Call from 7BC2F920 to unimplemented function dxgi.dll.DXGID3D10CreateDevice, aborting ATTENTION: default value of option mesa_glthread overridden by environment. wine: Call from 7BC2F920 to unimplemented function dxgi.dll.DXGID3D10CreateDevice, aborting ATTENTION: default value of option mesa_glthread overridden by environment. wine: Call from 7BC2F920 to unimplemented function dxgi.dll.DXGID3D10CreateDevice, aborting [0702/164627:ERROR:network_change_notifier_win.cc(153)] WSALookupServiceBegin failed with: 8 ATTENTION: default value of option mesa_glthread overridden by environment. MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0

wine: Call from 7BC2F920 to unimplemented function dxgi.dll.DXGID3D10CreateDevice, aborting wine: Unimplemented function dxgi.dll.DXGID3D10CreateDevice called at address 7BC2F920 (thread 02a8), starting debugger... Unhandled exception: unimplemented function dxgi.dll.DXGID3D10CreateDevice called in segmented 32-bit code (0107:7bc2f920). Assertion failed: curr_mode == stm_32bit, file /home/ubuntu/buildbot/runners/wine/wine-src/dlls/dbghelp/cpu_i386.c, line 278

[0702/164652:ERROR:ipc_channel_win.cc(502)] pipe error: 232 Caught signal 15 passing along signal to PID 2520 passing along signal to PID 2531 passing along signal to PID 2596 passing along signal to PID 2855 passing along signal to PID 3250 passing along signal to PID 3265 --terminated processes-- Monitored process exited. Initial process has exited (return code: 15) All monitored processes have exited. Exit with returncode 15

2ndBillGates commented 2 years ago

I've got similar result

046c:fixme:msvcp:_LocinfoLocinfo_ctor_cat_cstr (158BF590 1 C) semi-stub 0470:fixme:msvcp:_LocinfoLocinfo_ctor_cat_cstr (167CFD58 1 C) semi-stub 0180:err:ole:CoUninitialize Mismatched CoUninitialize 0270:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (01C6DA20 1 C) semi-stub 027c:fixme:kernelbase:AppPolicyGetProcessTerminationMethod FFFFFFFA, 0069FEAC 0188:err:ole:CoUninitialize Mismatched CoUninitialize

0114:fixme:font:NtGdiRemoveFontMemResourceEx (0x74fdd331) stub 0114:fixme:font:NtGdiRemoveFontMemResourceEx (0x74512331) stub 0114:fixme:font:NtGdiRemoveFontMemResourceEx (0x746f7331) stub 0114:fixme:font:NtGdiRemoveFontMemResourceEx (0x755c1331) stub 0114:fixme:kernelbase:AppPolicyGetProcessTerminationMethod FFFFFFFA, 047DFE98 0140:fixme:kernelbase:AppPolicyGetProcessTerminationMethod FFFFFFFA, 007EFE98 Monitored process exited. Initial process has exited (return code: 0) Exit with return code 0 2022-07-02 17:12:07,213: Game still running (state: running) 2022-07-02 17:12:07,213: Stopping League of Legends (wine)

2ndBillGates commented 2 years ago

But I don't have a prompt for password though

nxhdev2002 commented 2 years ago

Okay guys, finally figure out what's wrong, In the launch script I have these lines

if [ "$(cat /proc/sys/abi/vsyscall32)" -eq 0 ]; then
    exit 0
fi
pkexec sh -c 'sysctl -w abi.vsyscall32=0'

which changes the kernel's parameter abi.vsyscall32 to 0 for the game to start

It used to be that both the client and the actual gameplay can work if this parameter is set to 0, but now the client can only start when it's 1 and the gameplay can only start if it's 0

Please try comment out the line in launchhelper2.sh like so

#!/usr/bin/env sh

if [ "$(cat /proc/sys/abi/vsyscall32)" -eq 0 ]; then
    exit 0
fi

#pkexec sh -c 'sysctl -w abi.vsyscall32=0'

python launchhelper2.py

When the client start, manually run pkexec sh -c 'sysctl -w abi.vsyscall32=0' before you start a game, if it works for you I'll update the repo

image It's work for me. I thought i would go back to windows but it worked, fps was high and can enjoy the game. thank you

khewweifeng commented 2 years ago

Okay guys, finally figure out what's wrong, In the launch script I have these lines

if [ "$(cat /proc/sys/abi/vsyscall32)" -eq 0 ]; then
    exit 0
fi
pkexec sh -c 'sysctl -w abi.vsyscall32=0'

which changes the kernel's parameter abi.vsyscall32 to 0 for the game to start It used to be that both the client and the actual gameplay can work if this parameter is set to 0, but now the client can only start when it's 1 and the gameplay can only start if it's 0 Please try comment out the line in launchhelper2.sh like so

#!/usr/bin/env sh

if [ "$(cat /proc/sys/abi/vsyscall32)" -eq 0 ]; then
    exit 0
fi

#pkexec sh -c 'sysctl -w abi.vsyscall32=0'

python launchhelper2.py

When the client start, manually run pkexec sh -c 'sysctl -w abi.vsyscall32=0' before you start a game, if it works for you I'll update the repo

image It's work for me. I thought i would go back to windows but it worked, fps was high and can enjoy the game. thank you

Congrats @nxhdev2002 , may I know what linux distro you using ? and pc hardware specs

nxhdev2002 commented 2 years ago

Okay guys, finally figure out what's wrong, In the launch script I have these lines

if [ "$(cat /proc/sys/abi/vsyscall32)" -eq 0 ]; then
    exit 0
fi
pkexec sh -c 'sysctl -w abi.vsyscall32=0'

which changes the kernel's parameter abi.vsyscall32 to 0 for the game to start It used to be that both the client and the actual gameplay can work if this parameter is set to 0, but now the client can only start when it's 1 and the gameplay can only start if it's 0 Please try comment out the line in launchhelper2.sh like so

#!/usr/bin/env sh

if [ "$(cat /proc/sys/abi/vsyscall32)" -eq 0 ]; then
    exit 0
fi

#pkexec sh -c 'sysctl -w abi.vsyscall32=0'

python launchhelper2.py

When the client start, manually run pkexec sh -c 'sysctl -w abi.vsyscall32=0' before you start a game, if it works for you I'll update the repo

image It's work for me. I thought i would go back to windows but it worked, fps was high and can enjoy the game. thank you

Congrats @nxhdev2002 , may I know what linux distro you using ? and pc hardware specs

thank u. this is my pc specs. I'm playing on Vietnam sv image

2ndBillGates commented 2 years ago

damn, congrats man

2ndBillGates commented 2 years ago

I'm using Surface Book 2(i7,GTX1060, 16GB Ram), Fedora 36, kernel 5.18.7. Playing on Taiwan Server

nxhdev2002 commented 2 years ago

i ran "pkexec sh -c 'sysctl -w abi.vsyscall32=1'", lol.py and then pressed the play button in garena, but it took a while for the client to work, i tried with wine lutris-ge-lol-7.0.1 . if you want to connect to the match, you must set abi.vsyscall32=0

2ndBillGates commented 2 years ago

pkexec sh -c 'sysctl -w abi.vsyscall32=1

holy shxt, my man it's working

you guys are amazing

2ndBillGates commented 2 years ago

I love you guyz mN

2ndBillGates commented 2 years ago

Been happy to working with you guys

Screenshot_%Nd_2022-07-02_19,27,23__Spectacle_EDITED