lutris / lutris

Lutris desktop client
https://lutris.net
GNU General Public License v3.0
7.86k stars 690 forks source link

Pre-launch script not running for leagueoflegends app #4285

Closed mortenfc closed 1 year ago

mortenfc commented 2 years ago

Bug description

Atleast for my setup, using app leagueoflegends , the pre-launch script created in ~/Games/league-of-legends/syscall_check.sh does not execute.

What I tried:

The script works when running it manually. The game works flawlessly (I'm impressed), as long as pkexec sh -c 'echo "abi.vsyscall32 = 0" >> /etc/sysctl.conf && sysctl -p' has been executed manually.

How to Reproduce

Steps to reproduce the behavior:

  1. Install https://lutris.net/games/league-of-legends/ on a clean Ubuntu 22.04 with the latest Lutris (0.5.10~ubuntu22.04.1)
  2. Start the LoL app from lutris.
  3. Notice that no zenity pop up boxes appear, even though running cat /proc/sys/abi/vsyscall32 does not return 0.
  4. See that LoL game will crash when trying to start a game from the lobby, because the syscall was not set to 0.

Expected behavior

The pre-launch script should run...

Log output

INFO     2022-05-16 20:56:41,665 [startup.init_lutris:173]:Starting Lutris 0.5.10
WARNING  2022-05-16 20:56:41,683 [libretro.get_libretro_cores:24]:No folder at /home/mfc/.local/share/lutris/runners/retroarch/
INFO     2022-05-16 20:56:41,704 [startup.check_driver:57]:Using NVIDIA drivers 510.60.02 for x86_64
INFO     2022-05-16 20:56:41,704 [startup.check_driver:61]:GPU: NVIDIA GeForce RTX 3060
INFO     2022-05-16 20:56:41,705 [startup.check_driver:77]:GPU: 10DE:2504 1462:397E (nvidia drivers)
INFO     2022-05-16 20:56:41,748 [startup.update_runtime:213]:Startup complete
DEBUG    2022-05-16 20:56:41,796 [lutriswindow.update_store:437]:Showing 1 games
INFO     2022-05-16 20:57:16,683 [game.start_prelaunch_command:381]:Prelauch command: /home/mfc/Games/league-of-legends/syscall_check.sh, waiting for completion
DEBUG    2022-05-16 20:57:16,683 [system.execute:56]:Executing /home/mfc/Games/league-of-legends/syscall_check.sh
DEBUG    2022-05-16 20:57:16,683 [system.execute:62]:DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1 __GL_SHADER_DISK_CACHE=1 __GL_SHADER_DISK_CACHE_PATH=/home/mfc/Games/league-of-legends VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json LD_LIBRARY_PATH=/home/mfc/.local/share/lutris/runners/wine/lutris-ge-lol-7.0-2-x86_64/lib:/home/mfc/.local/share/lutris/runners/wine/lutris-ge-lol-7.0-2-x86_64/lib64:/lib/x86_64-linux-gnu:/lib/i386-linux-gnu:/lib:/lib/i386-linux-gnu/sse2:/usr/lib/x86_64-linux-gnu/libfakeroot:/lib64:/lib32:/lib64:/usr/lib:/usr/lib64:/usr/lib32:/usr/lib64:/usr/lib/i386-linux-gnu:/usr/lib/x86_64-linux-gnu:/home/mfc/.local/share/lutris/runtime/Ubuntu-18.04-i686:/home/mfc/.local/share/lutris/runtime/steam/i386/lib/i386-linux-gnu:/home/mfc/.local/share/lutris/runtime/steam/i386/lib:/home/mfc/.local/share/lutris/runtime/steam/i386/usr/lib/i386-linux-gnu:/home/mfc/.local/share/lutris/runtime/steam/i386/usr/lib:/home/mfc/.local/share/lutris/runtime/Ubuntu-18.04-x86_64:/home/mfc/.local/share/lutris/runtime/steam/amd64/lib/x86_64-linux-gnu:/home/mfc/.local/share/lutris/runtime/steam/amd64/lib:/home/mfc/.local/share/lutris/runtime/steam/amd64/usr/lib/x86_64-linux-gnu:/home/mfc/.local/share/lutris/runtime/steam/amd64/usr/lib DXVK_LOG_LEVEL=none DXVK_STATE_CACHE_PATH=/home/mfc/Games/league-of-legends MANGOHUD=1 STAGING_SHARED_MEMORY=1 WINE_LARGE_ADDRESS_AWARE=1 WINEDEBUG=-all WINEARCH=win64 WINE=/home/mfc/.local/share/lutris/runners/wine/lutris-ge-lol-7.0-2-x86_64/bin/wine WINE_MONO_CACHE_DIR=/home/mfc/.local/share/lutris/runners/wine/lutris-ge-lol-7.0-2-x86_64/mono WINE_GECKO_CACHE_DIR=/home/mfc/.local/share/lutris/runners/wine/lutris-ge-lol-7.0-2-x86_64/gecko GST_PLUGIN_SYSTEM_PATH_1_0=/home/mfc/.local/share/lutris/runners/wine/lutris-ge-lol-7.0-2-x86_64/lib64/gstreamer-1.0/:/home/mfc/.local/share/lutris/runners/wine/lutris-ge-lol-7.0-2-x86_64/lib/gstreamer-1.0/ WINEPREFIX=/home/mfc/Games/league-of-legends WINEESYNC=1 WINEFSYNC=1 WINE_FULLSCREEN_FSR=1 DXVK_NVAPIHACK=0 DXVK_ENABLE_NVAPI=1 PROTON_BATTLEYE_RUNTIME=/home/mfc/.local/share/lutris/runtime/battleye_runtime PROTON_EAC_RUNTIME=/home/mfc/.local/share/lutris/runtime/eac_runtime WINEDLLOVERRIDES=d3d10core,d3d11,d3d12,d3d9,d3dcompiler_33,d3dcompiler_34,d3dcompiler_35,d3dcompiler_36,d3dcompiler_37,d3dcompiler_38,d3dcompiler_39,d3dcompiler_40,d3dcompiler_41,d3dcompiler_42,d3dcompiler_43,d3dcompiler_46,d3dcompiler_47,d3dx10,d3dx10_33,d3dx10_34,d3dx10_35,d3dx10_36,d3dx10_37,d3dx10_38,d3dx10_39,d3dx10_40,d3dx10_41,d3dx10_42,d3dx10_43,d3dx11_42,d3dx11_43,d3dx9_24,d3dx9_25,d3dx9_26,d3dx9_27,d3dx9_28,d3dx9_29,d3dx9_30,d3dx9_31,d3dx9_32,d3dx9_33,d3dx9_34,d3dx9_35,d3dx9_36,d3dx9_37,d3dx9_38,d3dx9_39,d3dx9_40,d3dx9_41,d3dx9_42,d3dx9_43,dxgi,nvapi,nvapi64,nvml=n;winemenubuilder= game_name=League of Legends
DEBUG    2022-05-16 20:57:16,686 [command.start:141]:DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1="1"
DEBUG    2022-05-16 20:57:16,686 [command.start:141]:__GL_SHADER_DISK_CACHE="1"
DEBUG    2022-05-16 20:57:16,686 [command.start:141]:__GL_SHADER_DISK_CACHE_PATH="/home/mfc/Games/league-of-legends"
DEBUG    2022-05-16 20:57:16,686 [command.start:141]:VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/nvidia_icd.json"
DEBUG    2022-05-16 20:57:16,686 [command.start:141]:LD_LIBRARY_PATH="/home/mfc/.local/share/lutris/runners/wine/lutris-ge-lol-7.0-2-x86_64/lib:/home/mfc/.local/share/lutris/runners/wine/lutris-ge-lol-7.0-2-x86_64/lib64:/lib/x86_64-linux-gnu:/lib/i386-linux-gnu:/lib:/lib/i386-linux-gnu/sse2:/usr/lib/x86_64-linux-gnu/libfakeroot:/lib64:/lib32:/lib64:/usr/lib:/usr/lib64:/usr/lib32:/usr/lib64:/usr/lib/i386-linux-gnu:/usr/lib/x86_64-linux-gnu:/home/mfc/.local/share/lutris/runtime/Ubuntu-18.04-i686:/home/mfc/.local/share/lutris/runtime/steam/i386/lib/i386-linux-gnu:/home/mfc/.local/share/lutris/runtime/steam/i386/lib:/home/mfc/.local/share/lutris/runtime/steam/i386/usr/lib/i386-linux-gnu:/home/mfc/.local/share/lutris/runtime/steam/i386/usr/lib:/home/mfc/.local/share/lutris/runtime/Ubuntu-18.04-x86_64:/home/mfc/.local/share/lutris/runtime/steam/amd64/lib/x86_64-linux-gnu:/home/mfc/.local/share/lutris/runtime/steam/amd64/lib:/home/mfc/.local/share/lutris/runtime/steam/amd64/usr/lib/x86_64-linux-gnu:/home/mfc/.local/share/lutris/runtime/steam/amd64/usr/lib"
DEBUG    2022-05-16 20:57:16,686 [command.start:141]:DXVK_LOG_LEVEL="none"
DEBUG    2022-05-16 20:57:16,686 [command.start:141]:DXVK_STATE_CACHE_PATH="/home/mfc/Games/league-of-legends"
DEBUG    2022-05-16 20:57:16,686 [command.start:141]:MANGOHUD="1"
DEBUG    2022-05-16 20:57:16,686 [command.start:141]:STAGING_SHARED_MEMORY="1"
DEBUG    2022-05-16 20:57:16,686 [command.start:141]:WINE_LARGE_ADDRESS_AWARE="1"
DEBUG    2022-05-16 20:57:16,686 [command.start:141]:WINEDEBUG="-all"
DEBUG    2022-05-16 20:57:16,686 [command.start:141]:WINEARCH="win64"
DEBUG    2022-05-16 20:57:16,686 [command.start:141]:WINE="/home/mfc/.local/share/lutris/runners/wine/lutris-ge-lol-7.0-2-x86_64/bin/wine"
DEBUG    2022-05-16 20:57:16,686 [command.start:141]:WINE_MONO_CACHE_DIR="/home/mfc/.local/share/lutris/runners/wine/lutris-ge-lol-7.0-2-x86_64/mono"
DEBUG    2022-05-16 20:57:16,686 [command.start:141]:WINE_GECKO_CACHE_DIR="/home/mfc/.local/share/lutris/runners/wine/lutris-ge-lol-7.0-2-x86_64/gecko"
DEBUG    2022-05-16 20:57:16,686 [command.start:141]:GST_PLUGIN_SYSTEM_PATH_1_0="/home/mfc/.local/share/lutris/runners/wine/lutris-ge-lol-7.0-2-x86_64/lib64/gstreamer-1.0/:/home/mfc/.local/share/lutris/runners/wine/lutris-ge-lol-7.0-2-x86_64/lib/gstreamer-1.0/"
DEBUG    2022-05-16 20:57:16,686 [command.start:141]:WINEPREFIX="/home/mfc/Games/league-of-legends"
DEBUG    2022-05-16 20:57:16,686 [command.start:141]:WINEESYNC="1"
DEBUG    2022-05-16 20:57:16,686 [command.start:141]:WINEFSYNC="1"
DEBUG    2022-05-16 20:57:16,686 [command.start:141]:WINE_FULLSCREEN_FSR="1"
DEBUG    2022-05-16 20:57:16,686 [command.start:141]:DXVK_NVAPIHACK="0"
DEBUG    2022-05-16 20:57:16,686 [command.start:141]:DXVK_ENABLE_NVAPI="1"
DEBUG    2022-05-16 20:57:16,686 [command.start:141]:PROTON_BATTLEYE_RUNTIME="/home/mfc/.local/share/lutris/runtime/battleye_runtime"
DEBUG    2022-05-16 20:57:16,686 [command.start:141]:PROTON_EAC_RUNTIME="/home/mfc/.local/share/lutris/runtime/eac_runtime"
DEBUG    2022-05-16 20:57:16,686 [command.start:141]:WINEDLLOVERRIDES="d3d10core,d3d11,d3d12,d3d9,d3dcompiler_33,d3dcompiler_34,d3dcompiler_35,d3dcompiler_36,d3dcompiler_37,d3dcompiler_38,d3dcompiler_39,d3dcompiler_40,d3dcompiler_41,d3dcompiler_42,d3dcompiler_43,d3dcompiler_46,d3dcompiler_47,d3dx10,d3dx10_33,d3dx10_34,d3dx10_35,d3dx10_36,d3dx10_37,d3dx10_38,d3dx10_39,d3dx10_40,d3dx10_41,d3dx10_42,d3dx10_43,d3dx11_42,d3dx11_43,d3dx9_24,d3dx9_25,d3dx9_26,d3dx9_27,d3dx9_28,d3dx9_29,d3dx9_30,d3dx9_31,d3dx9_32,d3dx9_33,d3dx9_34,d3dx9_35,d3dx9_36,d3dx9_37,d3dx9_38,d3dx9_39,d3dx9_40,d3dx9_41,d3dx9_42,d3dx9_43,dxgi,nvapi,nvapi64,nvml=n;winemenubuilder="
DEBUG    2022-05-16 20:57:16,686 [command.start:141]:game_name="League of Legends"
DEBUG    2022-05-16 20:57:16,687 [command.start:141]:PYTHONPATH="/usr/lib/lutris:/usr/games:/usr/lib/python310.zip:/usr/lib/python3.10:/usr/lib/python3.10/lib-dynload:/home/mfc/.local/lib/python3.10/site-packages:/usr/local/lib/python3.10/dist-packages:/usr/lib/python3/dist-packages"
DEBUG    2022-05-16 20:57:16,687 [command.start:141]:LUTRIS_GAME_UUID="430a612e-4bc5-4fdb-a957-2593897f4e98"
Started initial process 21957 from gamemoderun /home/mfc/.local/share/lutris/runners/wine/lutris-ge-lol-7.0-2-x86_64/bin/wine /home/mfc/Games/league-of-legends/drive_c/Riot Games/Riot Client/RiotClientServices.exe --locale=en_US
Start monitoring process.
ERROR: ld.so: object 'libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object 'libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
esync: up and running.
skipping config: /home/mfc/.config/MangoHud/wine-explorer.conf [ not found ]
skipping config: /home/mfc/.local/share/lutris/runners/wine/lutris-ge-lol-7.0-2-x86_64/bin/MangoHud.conf [ not found ]
skipping config: /home/mfc/.config/MangoHud/wine64-preloader.conf [ not found ]
parsing config: /home/mfc/.config/MangoHud/MangoHud.conf [ ok ]
ERROR: ld.so: object 'libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object 'libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object 'libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object 'libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object 'libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object 'libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object 'libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.

System Information

[System]
OS:              Ubuntu 22.04 Jammy Jellyfish
Arch:            x86_64
Kernel:          5.15.0-30-generic
Desktop:         ubuntu:GNOME
Display Server:  x11

[CPU]
Vendor:          GenuineIntel
Model:           11th Gen Intel(R) Core(TM) i5-11400F @ 2.60GHz
Physical cores:  6
Logical cores:   12

[Memory]
RAM:             15.5 GB
Swap:            2.0 GB

[Graphics]
Vendor:          NVIDIA Corporation
OpenGL Renderer: NVIDIA GeForce RTX 3060/PCIe/SSE2
OpenGL Version:  4.6.0 NVIDIA 510.60.02
OpenGL Core:     4.6.0 NVIDIA 510.60.02
OpenGL ES:       OpenGL ES 3.2 NVIDIA 510.60.02
Vulkan:          Supported

Media (optional)

No response

Checklist:

GloriousEggroll commented 2 years ago

works fine here, tested on both fedora and popos

mortenfc commented 2 years ago

I have same problem on pop os 22.04 Perhaps a 22.04 ubuntu thing.

strycore commented 2 years ago

There is a problem with the latest wine build and zenity on Ubuntu/Pop 22.04. See: https://github.com/lutris/lutris/issues/4231#issuecomment-1110375795

ReyLeonardAmorato commented 2 years ago

Can confirm this on my system as well, running Ubuntu 22.04. I have to manually run syscall_check.sh

xorinzor commented 2 years ago

Make sure to check your path. In my case after some debugging it turned out my script was called, but the file I was attempting to delete resided in "Games" and my path was "games". In linux pathnames are case-sensitive, whereas windows isn't (at least, by default it isnt).

GloriousEggroll commented 2 years ago

Have this issue on ubuntu 22.04 as well.

You can't be having the same issue because the prelaunch script was completely removed from the installer several months ago due to the fix for the issue being patched directly in wine. I'd recommend performing a clean install if you haven't. As noted there is -no longer- a prelaunch script, it was removed several months ago:

files:
- lol_installer: https://lol.secure.dyn.riotcdn.net/channels/public/x/installer/current/live.na.exe
game:
  args: --locale=$INPUT_LOCALE --launch-product=league_of_legends --launch-patchline=live
  exe: $GAMEDIR/drive_c/Riot Games/Riot Client/RiotClientServices.exe
  prefix: $GAMEDIR
installer:
- input_menu:
    description: 'Choose your preferred game''s language:'
    id: LOCALE
    options:
    - cs_CZ: "\u010Ce\u0161tina"
    - en_AU: English AUS
    - en_GB: English U.K.
    - en_US: English U.S.
    - fr_FR: "Fran\xE7ais"
    - de_DE: Deutsch
    - es_ES: "Espa\xF1ol"
    - es_MX: "Espa\xF1ol Mexicano"
    - it_IT: Italiano
    - ja_JP: "\u65E5\u672C\u8A9E"
    - hu_HU: Magyar
    - pl_PL: Polski
    - pt_BR: "Portugu\xEAs do Brasil"
    - ro_RO: Romanian
    - ru_RU: "\u0440\u0443\u0441\u0441\u043A\u0438\u0439"
    - tr_TR: "T\xFCrk\xE7e"
    preselect: en_US
- task:
    description: Creating Wine prefix
    name: create_prefix
    prefix: $GAMEDIR
- task:
    args: $lol_installer
    description: Do not log in during installation, just close the installation client
      once it finishes downloading.
    executable: $GAMEDIR/drive_c/windows/explorer.exe
    include_processes: explorer.exe
    name: wineexec
- task:
    name: winekill
    prefix: $GAMEDIR
- task:
    key: GrabFullScreen
    name: set_regedit
    path: HKEY_CURRENT_USER\Software\Wine\X11 Driver
    prefix: $GAMEDIR
    value: Y
- task:
    key: background
    name: set_regedit
    path: HKEY_CURRENT_USER\Control Panel\Colors\
    prefix: $GAMEDIR
    type: REG_SZ
    value: 40 40 40
system:
  env:
    DXVK_LOG_LEVEL: none
    DXVK_STATE_CACHE_PATH: $GAMEDIR
    STAGING_SHARED_MEMORY: 1
    WINE_LARGE_ADDRESS_AWARE: 1
    __GL_SHADER_DISK_CACHE: 1
    __GL_SHADER_DISK_CACHE_PATH: $GAMEDIR
wine:
  MouseWarpOverride: enable
  version: lutris-ge-lol-7.0-5-x86_64
xorinzor commented 2 years ago

Just because the application doesn't set a prelaunch script by default anymore doesn't say it's not possible to configure a prelaunch script.

League is having some issues lately where the cache files are causing client freezes / black screens when loading into the rift. Thus I added a prelaunch script that removes the cache files every time I launch league.

However, I updated my comment as after some debugging I found what was causing my problem.

EDIT: I also didn't know it used to have a prelaunch script, I only recently started playing league again. Guess that didn't help with the confusion here.

mortenfc commented 2 years ago

@xorinzor This is a problem with the library versions in PoP-OS / Ubuntu 22.04, and was posted back when LoL was dependant on a pre-launch script to set a syscall value. AFAIK it has still not been fixed.

nickheyer commented 1 year ago

Nope, still not fixed. Confirmed on Pop-OS.

strycore commented 1 year ago

The prelaunch script should no longer be needed on current version of wine