NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
16.96k stars 13.33k forks source link

Lutris + Wine broken LoL #83629

Closed ghost closed 4 years ago

ghost commented 4 years ago

Describe the bug

ntlm_auth: symbol lookup error: /nix/store/qjxas7v6m2hlvnmpaiy10jz6swdzwa4l-krb5-1.18/lib/libcom_err.so.3: undefined symbol: k5_os_mutex_destroy, version krb5support_0_MIT
terminate called after throwing an instance of 'dxvk::DxvkError'

// with debug on, there's an extra line in there
0042:err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.

To Reproduce

  1. install lutris
  2. install LoL (first option, uncheck the Launch Now checkbox at the end and start from Lutris itself)
  3. sudo sh -c 'sysctl -w abi.vsyscall32=0'
  4. start lutris, start LoL from lutris
  5. crash, look in terminal

(steps taken from here)

Expected behavior Not crashing

Additional context I'm on the unstable channel, here's a normal log from the terminal, with debug off:

2020-03-28 23:59:15,966: Replacing /home/asthma/Games/league-of-legends/drive_c/windows/system32/dxgi with DXVK version
2020-03-28 23:59:15,966: Replacing /home/asthma/Games/league-of-legends/drive_c/windows/system32/d3d11 with DXVK version
2020-03-28 23:59:15,966: Replacing /home/asthma/Games/league-of-legends/drive_c/windows/system32/d3d10core with DXVK version
2020-03-28 23:59:15,967: Replacing /home/asthma/Games/league-of-legends/drive_c/windows/system32/d3d10_1 with DXVK version
2020-03-28 23:59:15,967: Replacing /home/asthma/Games/league-of-legends/drive_c/windows/system32/d3d10 with DXVK version
2020-03-28 23:59:15,967: Replacing /home/asthma/Games/league-of-legends/drive_c/windows/system32/d3d9 with DXVK version
INTEL-MESA: warning: Haswell Vulkan support is incomplete
2020-03-28 23:59:16,167: Running /home/asthma/Games/league-of-legends/syscall_check.sh in the background
Running /home/asthma/Games/league-of-legends/syscall_check.sh
Waiting on children
Exit with returncode 0
Running /home/asthma/.local/share/lutris/runners/wine/lutris-lol-4.20-x86_64/bin/wine /home/asthma/Games/league-of-legends/drive_c/Riot Games/League of Legends/LeagueClient.exe
Fontconfig warning: "/etc/fonts/fonts.conf", line 86: unknown element "blank"
Fontconfig warning: "/etc/fonts/fonts.conf", line 86: unknown element "blank"
Fontconfig warning: "/etc/fonts/fonts.conf", line 86: unknown element "blank"
Fontconfig warning: "/etc/fonts/fonts.conf", line 86: unknown element "blank"
ntlm_auth: symbol lookup error: /nix/store/qjxas7v6m2hlvnmpaiy10jz6swdzwa4l-krb5-1.18/lib/libcom_err.so.3: undefined symbol: k5_os_mutex_destroy, version krb5support_0_MIT
terminate called after throwing an instance of 'dxvk::DxvkError'
LeagueClient.exe(00000009): ALWAYS| Application Version:9.20.292.351 - CL:2920351 - Build Date:Oct 04 2019 - Build Time:13:46:43
LeagueClient.exe(00000009): ALWAYS| Direct Launch not configured for league_of_legends.live in environment '' for app path 'C:\Riot Games\League of Legends\LeagueClient.exe' and install dir 'C:\Riot Games\League of Legends'
LeagueClient.exe(0000002E): ALWAYS| Tracing worker thread running.
LeagueClient.exe(00000009): ALWAYS| Running LeagueClient version 9.20.292.351
LeagueClient.exe(0000002E): ALWAYS| Keeping up to 10 tracing logs.
LeagueClient.exe(0000002E): ALWAYS| Tracing CompactJsonWriter at C:/Riot Games/League of Legends/Logs/LeagueClient Logs/2020-03-28T23-59-17_8_LeagueClient-tracing.json
LeagueClient.exe(00000009): ALWAYS| Phase Begin - Init
LeagueClient.exe(00000009): ALWAYS|             Plugin Manager| Loaded plugin manifest file plugin-manifest.json.
LeagueClient.exe(00000009): ALWAYS| Begin Launch Ux Process
LeagueClient.exe(00000009): ALWAYS| End Launch Ux Process
LeagueClient.exe(00000009): ALWAYS|             Plugin Manager| Mounted all WadFiles in 5.260 milliseconds.
LeagueClient.exe(00000009): ALWAYS|             Plugin Manager| Loaded all plugins in 58.584 milliseconds. All warming in 0.000 milliseconds. All loading in 32.941 milliseconds.
LeagueClient.exe(00000009): ALWAYS| Phase Begin - Initializing plugins
LeagueClient.exe(00000009): ALWAYS|             Plugin Manager| Initializing plugin rcp-be-client-config: 1.6.1
LeagueClient.exe(00000009): ALWAYS|             Plugin Manager| Initializing plugin rcp-be-lol-rso-auth: 1.8.24
LeagueClient.exe(0000003C): ALWAYS|        rcp-be-lol-rso-auth| RSOClient::SetRSOConfig url: https://auth.riotgames.com/token, clientId: lol, scopes: openid offline_access lol ban profile email phone
LeagueClient.exe(00000009): ALWAYS|             Plugin Manager| Initializing plugin rcp-be-lol-patch: 1.5.96
LeagueClient.exe(00000009): ALWAYS|             Plugin Manager| Initializing plugin rcp-be-patcher: 1.20.35
LeagueClient.exe(00000009): ALWAYS| The following message is prepared to be sent to dradis:
Event Name: riot__rclient__rads__patcher_operation
common.os_platform: Windows
common.application_name: LeagueClient
common.application_version: 9.20.292.351
common.cef_version: 3.2623.1397.gaf139d7
common.installation_id: E7Fr7w==
common.locale: en_US
common.machine_id: iTGmJSCNOkqiGEDNaIkWqA==
common.os_version_major: 7
common.os_edition: Ultimate N, x86
common.os_version_minor: Service Pack 1
common.region: EUNE
common.session_id: f6136f60-9182-bd4a-83ad-845a097ffe8c
initial_check: true
cdn: cloudflare
last_host_ip: 104.17.174.5
success: success
operation_type: check
patchline: live-eune-win
patcher: chunking
published_at: 2020-03-25T01:01:41.685000
version: 95
url: https://lol.secure.dyn.riotcdn.net/channels/public/live-eune-win.json
LeagueClient.exe(00000009): ALWAYS| Queued Dradis event to be sent.
LeagueClient.exe(0000003B): ALWAYS|       rcp-be-client-config| Updated public config for LeagueClient with 124 entries
LeagueClient.exe(00000009): ALWAYS|             Plugin Manager| Initializing plugin rcp-be-riot-messaging-service: 1.3.10
LeagueClient.exe(0000003C): ALWAYS|        rcp-be-lol-rso-auth| rso-auth: OpenID configuration fetch succeeded after 1 tries
LeagueClient.exe(00000009): ALWAYS|             Plugin Manager| Initializing plugin rcp-be-entitlements: 0.0.28
LeagueClient.exe(00000009): ALWAYS|             Plugin Manager| Initializing plugin rcp-be-lol-bootstrap: 1.0.20
LeagueClient.exe(00000009): ALWAYS| Phase End - Initializing plugins - duration was 520.23ms
LeagueClient.exe(0000003F): ALWAYS|        rcp-be-lol-rso-auth| Client is configured. RSO Proxy: true
LeagueClient.exe(00000009): ALWAYS| Foundation is now running.
LeagueClient.exe(00000009): ALWAYS| Phase End - Init - duration was 755.38ms
LeagueClient.exe(00000009): ALWAYS| Phase Begin - MainLoop
Waiting on children
All children gone
Exit with returncode 3
2020-03-28 23:59:20,204: Game still running (state: running)
2020-03-28 23:59:20,205: Stopping League of Legends (wine)
TypeError: refresh() takes 1 positional argument but 3 were given

Metadata

these paths will be fetched (0.05 MiB download, 0.28 MiB unpacked):
  /nix/store/m8czkhz4abcz367scm8a429agyyp1f06-bash-interactive-4.4-p23-dev
copying path '/nix/store/m8czkhz4abcz367scm8a429agyyp1f06-bash-interactive-4.4-p23-dev' from 'https://cache.nixos.org'...
 - system: `"x86_64-linux"`
 - host os: `Linux 5.4.28, NixOS, 20.09pre218482.3320a06049f (Nightingale)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.3.3`
 - channels(root): `"nixos-20.09pre218482.3320a06049f, home-manager"`
 - channels(asthma): `""`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

Maintainer information:

# a list of nixpkgs attributes affected by the problem
attribute: [ lutris, wine ]
# a list of nixos modules affected by the problem
module: [ config.krb5, ]
ghost commented 4 years ago

@abbradar ping

ghost commented 4 years ago

I've updated the runner for the game to use 5.0 instead of 4.2 and I get a different variation on the same error:

ntlm_auth: /home/asthma/.local/share/lutris/runtime/lib64/libp11-kit.so.0: no version information available (required by /usr/lib/libgnutls.so.30)
ntlm_auth: symbol lookup error: /nix/store/qjxas7v6m2hlvnmpaiy10jz6swdzwa4l-krb5-1.18/lib/libcom_err.so.3: undefined symbol: k5_os_mutex_destroy, version krb5support_0_MIT
2020-03-29 14:40:10,073: Game still running (state: running)
2020-03-29 14:40:10,074: Stopping League of Legends (wine)
TypeError: refresh() takes 1 positional argument but 3 were given

PS. After updating the runner I get a couple of different ones about missing symbols as well:

/usr/bin/zenity: symbol lookup error: /nix/store/d9aj148cbmh2fkzqhi0ifz1b77nr6hfz-pango-1.44.7/lib/libpango-1.0.so.0: undefined symbol: fribidi_get_par_embedding_levels_ex
/usr/bin/zenity: symbol lookup error: /nix/store/d9aj148cbmh2fkzqhi0ifz1b77nr6hfz-pango-1.44.7/lib/libpango-1.0.so.0: undefined symbol: fribidi_get_par_embedding_levels_ex
Emantor commented 4 years ago

should be fixed by #83645.

ghost commented 4 years ago

Thanks, I'll give it a shot and report back.

ghost commented 4 years ago

@Emantor I'm getting errors from gtk. But the game seems to work fine.

/usr/bin/zenity: symbol lookup error: /lib64/libgtk-3.so.0: undefined symbol: pango_font_description_set_variations
/usr/bin/zenity: symbol lookup error: /lib64/libgtk-3.so.0: undefined symbol: pango_font_description_set_variations
kolbycrouch commented 4 years ago

Just a warning. AFAIK the game will soon start using a windows kernel module as a form of anti-cheat. At which point it will stop working on wine.