kyechou / leagueoflegends

League of Legends install and launch wrapper for Linux
https://www.leagueoflegends.com
GNU General Public License v3.0
288 stars 22 forks source link

League Client crashes after fresh install #85

Closed rizakar closed 1 year ago

rizakar commented 1 year ago

System information

Describe the issue

League Client does not launch. After Riot Client opens RiotClientUxRender.exe crashes (even while downloading the game, but the installation completes anyway).

Steps to reproduce

  1. Install leagueoflegends-git package from AUR.
  2. Install League of Legends via leagueoflegends install script.
  3. Close Riot Client.
  4. Run leagueoflegends start

Here's the log

EDIT: added the full log after running leagueoflegends -v start

Screenshots

Screenshot from 2023-04-05 10-04-04

Laci0503 commented 1 year ago

This happens to me too. The wine backtrace shows I'm using a 32 bit system, I'm not sure if this could be the problem.

System information:
    Wine build: wine-8.4 (Staging)
    Platform: i386 (WOW64)
    Version: Windows 10
    Host system: Linux
    Host version: 6.2.8-100.fc36.x86_64

However the install script logs say I'm on a 64-bit Wineprefix:

------------------------------------------------------
warning: You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.
------------------------------------------------------
Using winetricks 20230212 - sha256sum: e882a17654b1138109ed0211ae9726839683c91cf13dff24a012f6712375ebf2 with wine-8.4 (Staging) and WINEARCH=win64
Executing w_do_call vcrun2019
004c:err:ole:start_rpcss Failed to start RpcSs service
------------------------------------------------------
warning: You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.
------------------------------------------------------
kyechou commented 1 year ago

Hi @Laci0503, from your log it seems you're not using wine-lol. LoL won't work with the mainline wine.

@rizakar, please make sure that you're running wine-lol instead of regular wine? How did you install wine-lol and where is the installation path? Please share the output of leagueoflegends run which wine.

Laci0503 commented 1 year ago

You were right, I forgot to update the script to use wine-lol (it's not in the default location for me). Now i get through the install fine, but i seem to get the same crash when entering a game as with the lutris install. I've tried with both the wine-lol runner installed with lutris, and downloading manually. It shows the same error reporting window as seen the other issue describing crash after champion select. I will post further news in there. Last few lines of the log:

LAYER | DEBUG: Unloading layer library libVkLayer_MESA_device_select.so
LAYER | DEBUG: Unloading layer library libVkLayer_MESA_device_select.so
0a04:err:module:open_builtin_so_file failed to load .so lib "/home/laci0503/lutris-ge-lol-7.0-5-x86_64/lib/wine/i386-unix/d3d12.dll.so"
0518:err:seh:dispatch_exception unknown exception (code=c0000420) raised

EDIT: If i use the lutris runner, there is no error saying 'Failed to load d3d12', just the unknown exception.

kyechou commented 1 year ago

Hi @Laci0503, that's good to know! So it's the same problem as #83. The SEH unknown exception is the problem. The line err:module:open_builtin_so_file failed to load .so lib "/home/laci0503/lutris-ge-lol-7.0-5-x86_64/lib/wine/i386-unix/d3d12.dll.so" should be a minor issue caused by build/install-time errors and can be fixed relatively easily by having a proper installation. noah1510 created a script for setting up wine-lol in non-Arch distros. Maybe that'd help. In the future I may work on having packages for each popular distribution too, if I have time.

Closing now. Duplicate #83.

magdhelena commented 1 year ago

Hi @Laci0503, from your log it seems you're not using wine-lol. LoL won't work with the mainline wine.

@rizakar, please make sure that you're running wine-lol instead of regular wine? How did you install wine-lol and where is the installation path? Please share the output of leagueoflegends run which wine.

Hi. I'm having the same problem as @rizakar. leagueoflegends run which wine outputs /opt/wine-lol/bin/wine. The game installs fine and the Riot client works. But I can't enter into the League client after log in.

kyechou commented 1 year ago

@rizakar Sorry for closing the issue (I thought Laci0503 was the OP). From your log it says that vulkan didn't find a graphics driver. That means you probably missed some dependencies related to your GPU. Please review README and install graphics drivers for your specific GPU. Also, please provide the output of pacman -Qi leagueoflegends-git.

@helena-dev That seems to be a different issue/behavior. Please open up a new issue and provide log outputs for installation and starting the game. Thanks!

rizakar commented 1 year ago

@kyechou thanks a lot for replying, I do have wine-lol installed (wine-lol-bin precisely), in fact, I used it with vulkan through lutris until this patch.

Here's the output of both commands + one extra command about wine-lol:

$  leagueoflegends run which wine
/opt/wine-lol/bin/wine
$ pacman -Qi leagueoflegends-git
Name            : leagueoflegends-git
Version         : 13.7.1.r0.gfb60c87-1
Description     : League of Legends helper script
Architecture    : any
URL             : https://github.com/kyechou/leagueoflegends
Licenses        : GPL3
Groups          : None
Provides        : leagueoflegends
Depends On      : wine-lol  winetricks  bash  curl  openssl  samba  mesa-utils
                  gnutls  lib32-gnutls  libldap  lib32-libldap  openal
                  lib32-openal  libpulse  lib32-libpulse  alsa-lib
                  lib32-alsa-lib  mpg123  lib32-mpg123  unixodbc
                  lib32-unixodbc  vkd3d  lib32-vkd3d  vulkan-icd-loader
                  lib32-vulkan-icd-loader  vulkan-driver  lib32-vulkan-driver
Optional Deps   : amdvlk: AMD Vulkan driver
                  nvidia-utils: NVIDIA Vulkan driver [installed]
                  vulkan-intel: Intel's Vulkan mesa driver
                  vulkan-radeon: Radeon's Vulkan mesa driver
                  lib32-amdvlk: AMD Vulkan driver (32-bit)
                  lib32-nvidia-utils: NVIDIA Vulkan driver (32-bit) [installed]
                  lib32-vulkan-intel: Intel's Vulkan mesa driver (32-bit)
                  lib32-vulkan-radeon: Radeon's Vulkan mesa driver (32-bit)
Required By     : None
Optional For    : None
Conflicts With  : leagueoflegends
Replaces        : None
Installed Size  : 132.35 KiB
Packager        : Unknown Packager
Build Date      : 2023-04-05T09:19:42 -03
Install Date    : 2023-04-05T09:19:45 -03
Install Reason  : Explicitly installed
Install Script  : No
Validated By    : None
$ pacman -Qi wine-lol                                                                                                                                                                1
Name            : wine-lol-bin
Version         : 1:7.0_5-1
Description     : A compatibility layer for running Windows programs - GloriousEggroll custom wine build for running League of Legends
Architecture    : x86_64
URL             : https://github.com/GloriousEggroll/wine-ge-custom
Licenses        : LGPL
Groups          : None
Provides        : wine-lol
Depends On      : attr  lib32-attr  fontconfig  lib32-fontconfig  lcms2  lib32-lcms2  libxml2  lib32-libxml2  libxcursor  lib32-libxcursor  libxrandr  lib32-libxrandr  libxdamage
                  lib32-libxdamage  libxi  lib32-libxi  gettext  lib32-gettext  freetype2  lib32-freetype2  glu  lib32-glu  libsm  lib32-libsm  gcc-libs  lib32-gcc-libs  libpcap
                  lib32-libpcap  faudio  lib32-faudio  desktop-file-utils
Optional Deps   : giflib [installed]
                  lib32-giflib [installed]
                  libpng [installed]
                  lib32-libpng [installed]
                  libldap [installed]
                  lib32-libldap [installed]
                  gnutls [installed]
                  lib32-gnutls [installed]
                  mpg123 [installed]
                  lib32-mpg123 [installed]
                  openal [installed]
                  lib32-openal [installed]
                  v4l-utils [installed]
                  lib32-v4l-utils [installed]
                  libpulse [installed]
                  lib32-libpulse [installed]
                  alsa-plugins [installed]
                  lib32-alsa-plugins [installed]
                  alsa-lib [installed]
                  lib32-alsa-lib [installed]
                  libjpeg-turbo [installed]
                  lib32-libjpeg-turbo [installed]
                  libxcomposite [installed]
                  lib32-libxcomposite [installed]
                  libxinerama [installed]
                  lib32-libxinerama [installed]
                  opencl-icd-loader [installed]
                  lib32-opencl-icd-loader [installed]
                  libxslt [installed]
                  lib32-libxslt [installed]
                  libva [installed]
                  lib32-libva [installed]
                  gtk3 [installed]
                  lib32-gtk3 [installed]
                  gst-plugins-base-libs [installed]
                  lib32-gst-plugins-base-libs [installed]
                  vulkan-icd-loader [installed]
                  lib32-vulkan-icd-loader [installed]
                  sdl2 [installed]
                  lib32-sdl2 [installed]
                  vkd3d [installed]
                  lib32-vkd3d [installed]
                  sane
                  libgphoto2 [installed]
                  gsm [installed]
                  ffmpeg [installed]
                  cups [installed]
                  samba [installed]
                  dosbox [installed]
Required By     : leagueoflegends-git
Optional For    : None
Conflicts With  : wine-lol
Replaces        : None
Installed Size  : 560.54 MiB
Packager        : Unknown Packager
Build Date      : 2022-11-06T20:18:49 -03
Install Date    : 2022-11-06T20:22:38 -03
Install Reason  : Explicitly installed
Install Script  : Yes
Validated By    : None
kylfp commented 1 year ago

Identical issue for me on Endeavour with a 3060 Mobile. My outputs are exactly the same.

rizakar commented 1 year ago

Hey @fattyre, @helena-dev I have resolved this!

The issue is that for some reason our default GPU is the integrated GPU instead of the NVIDIA card. I found this by running glxinfo -B, and it outputs my integrated AMD GPU info, but nothing about the NVIDIA card.

So I tried installing the Vulkan drivers for Radeon and it worked! So then I investigated further, and installed NVIDIA Prime and by running the League script with it, it actually detects my NVIDIA card!

Here's what you need to do:

  1. Install nvidia-prime package.
  2. Run League with Prime: prime-run leagueoflegends start

Now, I still can't run get into a game, because of the critical error that is affecting everyone. But at least is some progress for us :stuck_out_tongue:

kyechou commented 1 year ago

Cool, sounds like it's resolved then! Unfortunately there doesn't seem to be much I can do for the matter in the launch script since the users should be able to decide for themselves which GPU/driver to use.