goatcorp / XIVLauncher.Core

Cross-platform version of XIVLauncher, optimized for Steam Deck
GNU General Public License v3.0
84 stars 35 forks source link

Game still shown as launched in steam after quiting #108

Closed ZwS closed 2 months ago

ZwS commented 3 months ago

After quiting the game it remain showed as launched in steam. This seems to prevent any further game launches until steam will be restarted.

Logs of the failing launch:

$ flatpak run dev.goats.xivlauncher
gamemodeauto: 
[S_API] SteamAPI_Init(): SteamAPI_IsSteamRunning() did not locate a running instance of Steam.
[S_API] SteamAPI_Init(): Loaded '/home/asudak/.steam/debian-installation/linux64/steamclient.so' OK.
Setting breakpad minidump AppID = 39210
SteamInternal_SetMinidumpSteamID:  Caching Steam ID:  76561198025081283 [API loaded no]
Unhandled exception. System.NullReferenceException: Object reference not set to an instance of an object.
   at Steamworks.SteamUtils.get_DoesOverlayNeedPresent()
   at XIVLauncher.Common.Unix.UnixSteam.get_BOverlayNeedsPresent() in C:/goatsoft/xl/XIVLauncher.Common.Unix/UnixSteam.cs:line 31
   at XIVLauncher.Core.Program.Main(String[] args) in C:/goatsoft/xl/XIVLauncher.Core/Program.cs:line 275

Ubuntu 23.10 XIVLauncher installed from flatpak Steam installed via deb Use steam service enabled

Blooym commented 3 months ago

This is a known issue

From our FaQ for Steamdeck & Linux (available here):

Q: Final Fantasy XIV doesn’t close properly / Steam constantly thinks Final Fantasy XIV is playing

Make sure you set the Launch Options in the “Add a Non-Steam Game” step. Specifically the --parent-expose-pids --parent-share-pids --parent-pid=1 arguments allow XIVLauncher to communicate with Steam to report the game closing.

If your issue persists after following the steps in the FaQ, let us know

ZwS commented 3 months ago

Oh, I see. I used XIVLauncher as a standalone app, without adding it to the steam library. By adding XIVLauncher to the steam library I unfortunatelly got another issue. Launcher starts normaly and logins but then fails to launch the game. Here are the logs:

/bin/sh\0-c\0XL_SECRET_PROVIDER=FILE  /home/zws/.steam/debian-installation/ubuntu12_32/reaper SteamLaunch AppId=3508807148 -- /home/zws/.steam/debian-installation/ubuntu12_32/steam-launch-wrapper -- "/usr/bin/flatpak"  run --parent-expose-pids --parent-share-pids --parent-pid=1 --branch=stable --arch=x86_64 --command=xivlauncher dev.goats.xivlauncher\0
chdir "/usr/bin/"
ERROR: ld.so: object '/home/zws/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/zws/.steam/debian-installation/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/home/zws/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/zws/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
WARNING: discarding _NET_WM_PID 2 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 2 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 2 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
ERROR: ld.so: object '/home/zws/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/zws/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/zws/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
[S_API] SteamAPI_Init(): Loaded '/home/zws/.steam/debian-installation/linux64/steamclient.so' OK.
Setting breakpad minidump AppID = 39210
SteamInternal_SetMinidumpSteamID:  Caching Steam ID:  76561198025081283 [API loaded no]
BuildCompleteAppOverviewChange: 456 apps
ERROR: ld.so: object '/home/zws/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/zws/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
gamemodeauto: 
ERROR: ld.so: object '/home/zws/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
esync: up and running.
ERROR: ld.so: object '/home/zws/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/zws/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/zws/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/zws/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/zws/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/zws/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/zws/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/zws/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/zws/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/zws/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/zws/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/zws/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/zws/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/zws/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
gamemodeauto: 
gamemodeauto: 
ERROR: ld.so: object '/home/zws/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/zws/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/zws/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/zws/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/zws/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/zws/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
gamemodeauto: 
wine: could not open working directory L"Z:\\mnt\\SHARE\\P\0018P3Q\\", starting in the Windows directory.
ERROR: ld.so: object '/home/zws/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Application could not be started, or no application associated with the specified file.
ShellExecuteEx failed: Invalid name.

No changes in launcher settings were made and it still works fine in case if I start it out of steam.

Z:\\mnt\\SHARE\\P\0018P3Q\\ looks bit suspicious to me, the path in system is /mnt/SHARE/Игры/SteamLibrary/steamapps/common/FINAL FANTASY XIV\ Online/

ZwS commented 2 months ago

Seems my second issue was related to https://github.com/goatcorp/wine-xiv-git/issues/16 Adding variables solved the issues. It also solves issue with non-latin inputs in-game btw.