Coder Social home page Coder Social logo

goatcorp / xivlauncher.core Goto Github PK

View Code? Open in Web Editor NEW
82.0 8.0 35.0 18.32 MB

Cross-platform version of XIVLauncher, optimized for Steam Deck

License: GNU General Public License v3.0

C# 99.29% GLSL 0.32% HLSL 0.17% Metal 0.19% Batchfile 0.03%
dalamud ffxiv launcher steamdeck

xivlauncher.core's Introduction

xlcore_sized

XIVLauncher.Core Discord Shield

Cross-platform version of XIVLauncher, optimized for Steam Deck. Comes with a version of WINE tuned for FFXIV.

Using on Steam Deck

If you want to use XIVLauncher on your Steam Deck, feel free to follow our guide in our FAQ. If you're having trouble, you can join our Discord server - please don't use the GitHub issues for troubleshooting unless you're sure that your problem is an actual issue with XIVLauncher.

Building & Contributing

  1. Clone this repository with submodules
  2. Make sure you have a recent(.NET 6.0.400+) version of the .NET SDK installed
  3. Run dotnet build or dotnet publish

Common components that are shared with the Windows version of XIVLauncher are linked as a submodule in the "lib" folder. XIVLauncher Core can run on Windows, but is by far not as polished as the original Windows version. Windows users should not use this application unless for troubleshooting purposes or development work.

Distribution

XIVLauncher Core has community packages for various Linux distributions. Please be aware that only the Flathub version is official, but the others are packaged by trusted community members. The community packages may not always be up-to-date, or may have versions that are broken or contain features under testing (especially if labeled as unstable or git). We can't take any responsibility for their safety or reliability.

Repo Status
Flathub (official) Flathub
AUR AUR version
AUR (git) AUR version
Copr (Fedora+openSuse+EL9) COPR version
GURU (Gentoo) GURU version
MPR (Debian+Ubuntu) MPR package
MPR (git) (Debian+Ubuntu) MPR package
nixpkgs stable nixpkgs stable version
nixpkgs unstable nixpkgs unstable version
PPA (Ubuntu) PPA version

xivlauncher.core's People

Contributors

blooym avatar codeandgin avatar goaaats avatar kazwolfe avatar marzent avatar navi-desu avatar notnite avatar rankynbass avatar reiichi001 avatar sersorrel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

xivlauncher.core's Issues

Provide XLCore as a Steam Play compatibility layer

Steam allows developing custom, non-Proton based compatibility layers (most notable example being Luxtorpeda, which runs games using already available Linux compatible engine replacements, instead of Wine). This kind of layer functions essentially the same as Proton, in the sense that Steam 'hooks' it before the actual game being launched, allowing it to do whatever it wants to launch the game.

This could be used as an alternative way of launching XLCore on Steam (Deck), in the form of that makes it a little less complicated to setup, since everything would be contained within the FFXIV appid (no custom Steam shortcut required). Example mockup of how it would look like in Steam:

image

Game still shown as launched in steam after quiting

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

Disable Auto-Login

Hello. I'm trying to disable auto-login, so I can check the launcher's settings, because the game is detecting my CPU's integrated GPU and not my discrete GPU. I am using the app on an Arch distro and holding the Shift button, as instructed in the FAQ, doesn't prevent the game from launching (I have repeatedly tried holding it down from before clicking on the launcher until the game's title menu appears). My OS detects the GPU, as do all other games I have run thus far. I tried uninstalling and reinstalling the flatpak launcher, but that doesn't remove the game and the problem persists upon reinstalling it. Any assistance that could be provided would be greatly appreciated.

add /usr/lib64 as gamemode location

on gentoo, gamemode only exists in /usr/lib64 unless compiled with 32bit as well, so this line fails https://github.com/goatcorp/XIVLauncher.Core/blob/main/src/XIVLauncher.Core/Components/SettingsPage/Tabs/SettingsTabWine.cs#L32 and no gamemode is detected, which is weird since if installed as flatpak, it detects normally.

even preloading the lib as by gamemode wiki didn't really work

LD_PRELOAD="$LD_PRELOAD:/usr/\$LIB/libgamemodeauto.so.0" XL_SECRET_PROVIDER=FILE xivlauncher

Won't launch again with Dalamud enabled

Running xivlauncher on Linux Mint 21.1 with an existing windows based xiv install on a separate drive. Also installed Reshade via reshade-steam-proton but was also able to repro when uninstalled.

Was able to launch with Dalamud once and open the plugin list. After closing out any subsequent launch with Dalamud enabled with any amount of delay would seemingly fail silently when running flatpak run dev.goats.xivlauncher, although once Dalamud threw a missing c++ redistributable error(EDIT: this might have been because I did not specify a d3dcompiler_47 override after uninstalling reshade, I readded that after and the error went away, though still with nothing).

Wasn't sure where else to look but tailing ~/.xlcore/dalamud/Hooks/7.10.1.0/dalamud.injector.log gives this as the latest log:

2023-08-14 22:58:12.907 +10:00 [INF] Dalamud.Injector, (c) 2023 XIVLauncher Contributors
2023-08-14 22:58:12.918 +10:00 [WRN] "--dalamud-dev-plugin-directory=Z:\home\axoletl\.xlcore\devPlugins" is not a valid command line argument, ignoring.
2023-08-14 22:58:13.976 +10:00 [INF] Using start info: {"WorkingDirectory":"Z:\\home\\axoletl\\.xlcore\\dalamud\\Hooks\\7.10.1.0","ConfigurationPath":"Z:\\home\\axoletl\\.xlcore\\dalamudConfig.json","LogPath":"C:\\users\\axoletl\\AppData\\Roaming\\XIVLauncher","LogName":null,"PluginDirectory":"Z:\\home\\axoletl\\.xlcore\\installedPlugins","AssetDirectory":"Z:\\home\\axoletl\\.xlcore\\dalamudAssets\\215","Language":1,"GameVersion":"2023.07.26.0000.0000","TroubleshootingPackData":"{\"When\":\"2023-08-14T22:58:10.0670651+10:00\",\"IsDx11\":true,\"IsAutoLogin\":false,\"IsUidCache\":false,\"DalamudEnabled\":true,\"DalamudLoadMethod\":1,\"DalamudInjectionDelay\":1000.0,\"SteamIntegration\":false,\"EncryptArguments\":true,\"LauncherVersion\":\"1.0.4.0\",\"LauncherHash\":\"f9a40ed\",\"Official\":false,\"DpiAwareness\":0,\"Platform\":2,\"ObservedGameVersion\":\"2023.07.26.0000.0000\",\"ObservedEx1Version\":\"2023.07.26.0000.0000\",\"ObservedEx2Version\":\"2023.06.29.0000.0000\",\"ObservedEx3Version\":\"2023.07.26.0000.0000\",\"ObservedEx4Version\":\"2023.07.26.0000.0000\",\"BckMatch\":true,\"IndexIntegrity\":5}","DelayInitializeMs":1000,"NoLoadPlugins":false,"NoLoadThirdPartyPlugins":false,"BootLogPath":"C:\\users\\axoletl\\AppData\\Roaming\\XIVLauncher\\dalamud.boot.log","BootShowConsole":false,"BootDisableFallbackConsole":false,"BootWaitMessageBox":0,"BootWaitDebugger":false,"BootVehEnabled":true,"BootVehFull":false,"BootEnableEtw":false,"BootDotnetOpenProcessHookMode":0,"BootEnabledGameFixes":["prevent_devicechange_crashes","disable_game_openprocess_access_check","redirect_openprocess","backup_userdata_save","prevent_icmphandle_crashes"],"BootUnhookDlls":null,"CrashHandlerShow":false}

[Feature] Auto-Launch Wine Application With FFXIV In Prefix

I currently use the Wine Explorer to launch an application every time I start FFXIV. I could probably find exactly how to set up a script to run what I need (https://github.com/0e4ef622/wine-discord-ipc-bridge/ specifically, for the Discord Rich Presence plugin to work on Linux), but it would be really nice to be able to set certain applications to run in Wine whenever I run FFXIV via the launcher, and I'm sure there's all sorts of other power user gremlins who'd also love this.

Definitely not some high priority need, of course.

Add toggle for disabling compositing or not

As far as I can tell, launching the launcher disables compositing on the entire system. While this might be the best option for the Steam Deck and most desktop systems, it would still be nice to have the option to leave it enabled, or even to only disable compositing once the game starts.

Flatpak XIVLauncher can't detect Flatpak Steam

Related issue: flathub/dev.goats.xivlauncher#26

SteamAPI_Init() fails because Flatpak XIVLauncher (dev.goats.xivlauncher) can't detect Flatpak Steam (com.valvesoftware.Steam).

[empjustine@huixtocihuatl ~]$ flatpak run 'dev.goats.xivlauncher' 
[S_API] SteamAPI_Init(): SteamAPI_IsSteamRunning() did not locate a running instance of Steam.
dlopen failed trying to load:
/var/home/empjustine/.steam/sdk64/steamclient.so
with error:
/var/home/empjustine/.steam/sdk64/steamclient.so: cannot open shared object file: No such file or directory
[S_API] SteamAPI_Init(): Sys_LoadModule failed to load: /var/home/empjustine/.steam/sdk64/steamclient.so
[S_API] SteamAPI_Init(): SteamAPI_IsSteamRunning() did not locate a running instance of Steam.
dlopen failed trying to load:
/var/home/empjustine/.steam/sdk64/steamclient.so
with error:
/var/home/empjustine/.steam/sdk64/steamclient.so: cannot open shared object file: No such file or directory
[S_API] SteamAPI_Init(): Sys_LoadModule failed to load: /var/home/empjustine/.steam/sdk64/steamclient.so

[empjustine@huixtocihuatl ~]$ ls -la /var/home/empjustine/.steam
ls: nรฃo foi possรญvel acessar '/var/home/empjustine/.steam': Arquivo ou diretรณrio inexistente
[empjustine@huixtocihuatl ~]$ LANG=C ls -la /var/home/empjustine/.steam
ls: cannot access '/var/home/empjustine/.steam': No such file or directory
[empjustine@huixtocihuatl ~]$ find ~/.var/app/com.valvesoftware.Steam/ -name 'steamclient.so'
/var/home/empjustine/.var/app/com.valvesoftware.Steam/.local/share/Steam/linux32/steamclient.so
/var/home/empjustine/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/steamclient.so
/var/home/empjustine/.var/app/com.valvesoftware.Steam/.local/share/Steam/linux64/steamclient.so

What I'm using

[empjustine@huixtocihuatl com.valvesoftware.Steam]$ cat /etc/os-release 
NAME="Fedora Linux"
VERSION="37.20230324.0 (Silverblue)"
ID=fedora
VERSION_ID=37
VERSION_CODENAME=""
PLATFORM_ID="platform:f37"
PRETTY_NAME="Fedora Linux 37.20230324.0 (Silverblue)"
ANSI_COLOR="0;38;2;60;110;180"
LOGO=fedora-logo-icon
CPE_NAME="cpe:/o:fedoraproject:fedora:37"
DEFAULT_HOSTNAME="fedora"
HOME_URL="https://silverblue.fedoraproject.org"
DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora-silverblue/"
SUPPORT_URL="https://ask.fedoraproject.org/"
BUG_REPORT_URL="https://github.com/fedora-silverblue/issue-tracker/issues"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=37
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=37
SUPPORT_END=2023-11-14
VARIANT="Silverblue"
VARIANT_ID=silverblue
OSTREE_VERSION='37.20230324.0'

[empjustine@huixtocihuatl com.valvesoftware.Steam]$ uname --all
Linux huixtocihuatl 6.2.7-200.fc37.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Mar 17 16:16:00 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

[empjustine@huixtocihuatl ~]$ flatpak list 
Nome                               ID de aplicativo                                  Versรฃo          Ramo        Origem  Instalaรงรฃo
Vorta                              com.borgbase.Vorta                                v0.8.10         stable      flathub system
Czkawka                            com.github.qarmin.czkawka                         5.1.0           stable      flathub system
Szyszka                            com.github.qarmin.szyszka                         2.0.0           stable      flathub system
Microsoft Edge                     com.microsoft.Edge                                111.0.1661.54-1 stable      flathub system
Transmission                       com.transmissionbt.Transmission                   3.00            stable      flathub system
Steam                              com.valvesoftware.Steam                           1.0.0.75        stable      flathub system
XIVLauncher                        dev.goats.xivlauncher                             1.0.3.0         stable      flathub system
Transmission Remoto                io.github.TransmissionRemoteGtk                   1.5.1           stable      fedora  system
Podman Desktop                     io.podman_desktop.PodmanDesktop                   0.12.0          stable      flathub system
Fedora Media Writer                org.fedoraproject.MediaWriter                     5.0.4           stable      fedora  system
Fedora Platform                    org.fedoraproject.Platform                        37              f37         fedora  system
Freedesktop Platform               org.freedesktop.Platform                          21.08.18        21.08       flathub system
Freedesktop Platform               org.freedesktop.Platform                          22.08.9         22.08       flathub system
i386                               org.freedesktop.Platform.Compat.i386                              22.08       flathub system
Mesa                               org.freedesktop.Platform.GL.default               21.3.9          21.08       flathub system
Mesa                               org.freedesktop.Platform.GL.default               22.3.5          22.08       flathub system
Mesa (Extra)                       org.freedesktop.Platform.GL.default               22.3.5          22.08-extra flathub system
Mesa                               org.freedesktop.Platform.GL32.default             22.3.5          22.08       flathub system
Mesa (Extra)                       org.freedesktop.Platform.GL32.default             22.3.5          22.08-extra flathub system
openh264                           org.freedesktop.Platform.openh264                 2.1.0           2.0         flathub system
openh264                           org.freedesktop.Platform.openh264                 2.1.0           2.2.0       flathub system
Calculadora                        org.gnome.Calculator                              43.0.1          stable      fedora  system
Calendรกrio                         org.gnome.Calendar                                43.1            stable      fedora  system
Caracteres                         org.gnome.Characters                              43.1            stable      fedora  system
Conexรตes                           org.gnome.Connections                             43.0            stable      fedora  system
Contatos                           org.gnome.Contacts                                43.0            stable      fedora  system
Visualizador de documentos         org.gnome.Evince                                  43.1            stable      fedora  system
Extensรตes                          org.gnome.Extensions                              43.beta         stable      fedora  system
Registos                           org.gnome.Logs                                    43.0            stable      fedora  system
Mapas                              org.gnome.Maps                                    43.2            stable      fedora  system
Sushi                              org.gnome.NautilusPreviewer                       43.0            stable      fedora  system
GNOME Application Platform versioโ€ฆ org.gnome.Platform                                                42          flathub system
GNOME Application Platform versioโ€ฆ org.gnome.Platform                                                43          flathub system
Editor de Texto                    org.gnome.TextEditor                              43.1            stable      fedora  system
Meteorologia                       org.gnome.Weather                                 43.0            stable      fedora  system
Analisador de uso de disco         org.gnome.baobab                                  43.0            stable      fedora  system
Relรณgios                           org.gnome.clocks                                  43.0            stable      fedora  system
Visualizador de imagens            org.gnome.eog                                     43.1            stable      fedora  system
Fontes                             org.gnome.font-viewer                             43.0            stable      fedora  system
Adwaita theme                      org.kde.KStyle.Adwaita                                            5.15-22.08  flathub system
KDE Application Platform           org.kde.Platform                                                  5.15-22.08  flathub system
QGnomePlatform                     org.kde.PlatformTheme.QGnomePlatform                              5.15-22.08  flathub system
QGnomePlatform-decoration          โ€ฆ.kde.WaylandDecoration.QGnomePlatform-decoration                 5.15-22.08  flathub system

Launcher is Crashing Severely; Will rarely work as intended

I use Arch Linux and run FFXIV through WINE (using steam service). The launcher used to work so flawlessly, but recently, whenever I try and boot it up, it will go to the login section, where I'll enter my password and then I'll connect. A few seconds pass, the wheel where the game is showing to login spins for a bit and then it just crashes.

Every time it crashes. It crashes, it crashes, it crashes. SOMETIMES it will let me in, but most of the times, it just crashes.

Why has this started happening? I am completely unable to login now and I do not what sort of debugging info I need to bring up here to solve this issue. What is causing this? Is there a log anywhere that you guys need for me to post so you can see what is going on??

Please help me.

bwrap: creation of new user namespaces was not disabled as requested

Hi!

Relevant System Specs:
OS: Ubuntu 22.10
Flatpak Version: 1.15.4

when using XIVLauncher (as Flatpak from Flathub) in combination with Steam (installed as a deb), following the advice from here: https://goatcorp.github.io/faq/steamdeck.html it happens to not work as it should on Ubuntu. (Adding the game as a Non-Steam Game)
it always ends up with the message as stated in the title.
It does however work on nobara, arch, and nixOS (as i already cycled through these distros while playing the game)

is there something i might have missed, and someone is able to give me a pointer to what i can do to "fix" this behaviour?

if there is anything (such as logs) which might help determine the issue, let me know and i will send them your way.

Thanks in advance!

XIVLauncher Will not Launch

I apologize if this is the incorrect format, this is my first time submitting one of these.

I recently began my first foray into Linux a little over a week ago. I had the XIVLauncher working fine for most of that time. There was a day lag when the last patch came out and I couldn't get it, but other than that it was great.

As of yesterday, however, clocking the icon stopped working (meaning that it did not launch anything, at least not visibly). So I attempted flatpak run dev.goats.xivlauncher from the console and that gave me the following error message:

 [S_API] SteamAPI_Init(): SteamAPI_IsSteamRunning() did not locate a running instance of Steam.
[S_API] SteamAPI_Init(): Loaded '/home/rapsynrev/.local/share/Steam/linux64/steamclient.so' OK.
[S_API FAIL] SteamAPI_Init() failed; connect to global user failed.[S_API] SteamAPI_Init(): SteamAPI_IsSteamRunning() did not locate a running instance of Steam.
[S_API] SteamAPI_Init(): Loaded '/home/rapsynrev/.local/share/Steam/linux64/steamclient.so' OK.
Setting breakpad minidump AppID = 312060
SteamInternal_SetMinidumpSteamID:  Caching Steam ID:  76561198050855043 [API loaded no]
Unhandled exception. Veldrid.VeldridException: Unable to create OpenGL Context: "Invalid window". This may indicate that the system does not support the requested OpenGL profile, version, or Swapchain format.
   at Veldrid.StartupUtilities.VeldridStartup.CreateDefaultOpenGLGraphicsDevice(GraphicsDeviceOptions options, Sdl2Window window, GraphicsBackend backend)
   at Veldrid.StartupUtilities.VeldridStartup.CreateGraphicsDevice(Sdl2Window window, GraphicsDeviceOptions options, GraphicsBackend preferredBackend)
   at XIVLauncher.Core.Program.Main(String[] args) in C:/goatsoft/xl/XIVLauncher.Core/Program.cs:line 185

I do not know what that error refers to as I have not been running it through steam before. I am running Ubuntu (22.04 Jammy). Sorry if this is a noob user error! I am still learning the syntax. Also, I realize a patch just came out last night so this may be on the backburner until the overall launcher gets updated for that.

Can't download patch files during maintenance

Note: This is during downtime maintenance pre 6.3, not while game servers are live

This happens both trying to patch without launching the game and just hitting the login button. I'm not sure if it's OTP-related since my only full service account has an OTP but after inputting it the launcher tells me the game is in maintenance. This happens on both the AUR git version of XL.Core as well as the Flatpak version. The launcher downloaded the tiny boot file but returns the maintenance error when, I assume, trying to get the actual patch files. I had this issue during pre-6.2 maintenance as well.

Edit: log posted by rekyuu in #linux-and-deck on Discord

2023-01-10 00:32:28.924 -07:00 [INF] Starting a session(v1.0.2.0 - 599241d)
2023-01-10 00:32:29.274 -07:00 [ERR] Couldn't init Steam with game AppIds, trying FT
System.Exception: SteamApi_Init returned false. Steam isn't running, couldn't find Steam, App ID is ureleased, Don't own App ID.
at Steamworks.SteamClient.Init(UInt32 appid, Boolean asyncCallbacks)
at XIVLauncher.Common.Unix.UnixSteam.Initialize(UInt32 appId) in C:/goatsoft/xl/XIVLauncher.Common.Unix/UnixSteam.cs:line 24
at XIVLauncher.Core.Program.Main(String[] args) in C:/goatsoft/xl/XIVLauncher.Core/Program.cs:line 150
2023-01-10 00:32:29.323 -07:00 [ERR] Steam couldn't load
System.Exception: SteamApi_Init returned false. Steam isn't running, couldn't find Steam, App ID is ureleased, Don't own App ID.
at Steamworks.SteamClient.Init(UInt32 appid, Boolean asyncCallbacks)
at XIVLauncher.Common.Unix.UnixSteam.Initialize(UInt32 appId) in C:/goatsoft/xl/XIVLauncher.Common.Unix/UnixSteam.cs:line 24
at XIVLauncher.Core.Program.Main(String[] args) in C:/goatsoft/xl/XIVLauncher.Core/Program.cs:line 156
2023-01-10 00:32:29.323 -07:00 [INF] [DUPDATE] Starting...
2023-01-10 00:32:30.326 -07:00 [INF] [DUPDATE] Using release version (7.3.4.0)
2023-01-10 00:32:30.471 -07:00 [INF] [DUPDATE] Now starting for .NET Runtime 6.0.6
2023-01-10 00:32:30.953 -07:00 [INF] TROUBLESHXLTING:eyJXaGVuIjoiMjAyMy0wMS0xMFQwMDozMjozMC45MzkzMzA0LTA3OjAwIiwiSXNEeDExIjp0cnVlLCJJc0F1dG9Mb2dpbiI6dHJ1ZSwiSXNVaWRDYWNoZSI6ZmFsc2UsIkRhbGFtdWRFbmFibGVkIjp0cnVlLCJEYWxhbXVkTG9hZE1ldGhvZCI6MSwiRGFsYW11ZEluamVjdGlvbkRlbGF5IjoxMDAwLjAsIlN0ZWFtSW50ZWdyYXRpb24iOmZhbHNlLCJFbmNyeXB0QXJndW1lbnRzIjp0cnVlLCJMYXVuY2hlclZlcnNpb24iOiIxLjAuMi4wIiwiTGF1bmNoZXJIYXNoIjoiNTk5MjQxZCIsIk9mZmljaWFsIjpmYWxzZSwiRHBpQXdhcmVuZXNzIjoxLCJQbGF0Zm9ybSI6MiwiT2JzZXJ2ZWRHYW1lVmVyc2lvbiI6IjIwMjIuMTEuMDkuMDAwMC4wMDAwIiwiT2JzZXJ2ZWRFeDFWZXJzaW9uIjoiMjAyMi4wOS4yOS4wMDAwLjAwMDAiLCJPYnNlcnZlZEV4MlZlcnNpb24iOiIyMDIyLjA4LjE2LjAwMDAuMDAwMCIsIk9ic2VydmVkRXgzVmVyc2lvbiI6IjIwMjIuMDguMTYuMDAwMC4wMDAwIiwiT2JzZXJ2ZWRFeDRWZXJzaW9uIjoiMjAyMi4xMS4wOC4wMDAwLjAwMDAiLCJCY2tNYXRjaCI6dHJ1ZSwiSW5kZXhJbnRlZ3JpdHkiOjB9
2023-01-10 00:32:31.482 -07:00 [INF] [PATCHERIPC] Starting patcher with 'XLPatchere07aa4c6-a5e1-4be5-924b-917549afb48d'
2023-01-10 00:32:31.482 -07:00 [INF] [PATCHER] IPC connected
2023-01-10 00:32:31.483 -07:00 [INF] [PATCHERIPC] GOT HELLO
2023-01-10 00:32:31.483 -07:00 [INF] [PATCHER] sent hello
2023-01-10 00:32:32.427 -07:00 [INF] Downloading patch 2022.12.16.0000.0001 at http://patch-dl.ffxiv.com/boot/2b5cbc63/D2022.12.16.0000.0001.patch to /home/rekyuu/.xlcore/patch/boot/2b5cbc63/D2022.12.16.0000.0001.patch
2023-01-10 00:32:33.163 -07:00 [ERR] ??? Unknown HashType: http://patch-dl.ffxiv.com/boot/2b5cbc63/D2022.12.16.0000.0001.patch for http://patch-dl.ffxiv.com/boot/2b5cbc63/D2022.12.16.0000.0001.patch
2023-01-10 00:32:33.163 -07:00 [INF] Patch at http://patch-dl.ffxiv.com/boot/2b5cbc63/D2022.12.16.0000.0001.patch downloaded completely
2023-01-10 00:32:33.163 -07:00 [INF] CheckIsDone!!
2023-01-10 00:32:33.163 -07:00 [INF] All patches downloaded.
2023-01-10 00:32:33.403 -07:00 [INF] Starting patch install for 2022.12.16.0000.0001 at http://patch-dl.ffxiv.com/boot/2b5cbc63/D2022.12.16.0000.0001.patch(0)
2023-01-10 00:32:33.485 -07:00 [INF] [PATCHER] Installing /home/rekyuu/.xlcore/patch/boot/2b5cbc63/D2022.12.16.0000.0001.patch to /home/rekyuu/.xlcore/ffxiv/boot
2023-01-10 00:32:33.531 -07:00 [INF] [DUPDATE] All set for 2022.11.09.0000.0000
2023-01-10 00:32:34.287 -07:00 [INF] [PATCHER] Patch /home/rekyuu/.xlcore/patch/boot/2b5cbc63/D2022.12.16.0000.0001.patch installed
2023-01-10 00:32:34.288 -07:00 [INF] [PATCHERIPC] INSTALL OK
2023-01-10 00:32:34.288 -07:00 [INF] Patch at 0 installed
2023-01-10 00:32:34.288 -07:00 [INF] PATCHING finish
2023-01-10 00:32:34.888 -07:00 [INF] VerToBck done
2023-01-10 00:32:50.715 -07:00 [ERR] Task failed
System.AggregateException: One or more errors occurred. (Object reference not set to an instance of an object.)
---> System.NullReferenceException: Object reference not set to an instance of an object.
at XIVLauncher.Core.Components.MainPage.MainPage.TryProcessLoginResult(LoginResult loginResult, Boolean isSteam, LoginAction action) in C:/goatsoft/xl/XIVLauncher.Core/Components/MainPage/MainPage.cs:line 270
at XIVLauncher.Core.Components.MainPage.MainPage.Login(String username, String password, Boolean isOtp, Boolean isSteam, Boolean doingAutoLogin, LoginAction action) in C:/goatsoft/xl/XIVLauncher.Core/Components/MainPage/MainPage.cs:line 199
at XIVLauncher.Core.Components.MainPage.MainPage.<>c__DisplayClass17_0.<b__0>d.MoveNext() in C:/goatsoft/xl/XIVLauncher.Core/Components/MainPage/MainPage.cs:line 142
--- End of inner exception stack trace ---
2023-01-10 00:33:30.921 -07:00 [INF] ========================================================
2023-01-10 00:33:30.932 -07:00 [INF] Starting a session(v1.0.2.0 - 599241d)
2023-01-10 00:33:31.146 -07:00 [ERR] Couldn't init Steam with game AppIds, trying FT
System.Exception: SteamApi_Init returned false. Steam isn't running, couldn't find Steam, App ID is ureleased, Don't own App ID.
at Steamworks.SteamClient.Init(UInt32 appid, Boolean asyncCallbacks)
at XIVLauncher.Common.Unix.UnixSteam.Initialize(UInt32 appId) in C:/goatsoft/xl/XIVLauncher.Common.Unix/UnixSteam.cs:line 24
at XIVLauncher.Core.Program.Main(String[] args) in C:/goatsoft/xl/XIVLauncher.Core/Program.cs:line 150
2023-01-10 00:33:31.171 -07:00 [ERR] Steam couldn't load
System.Exception: SteamApi_Init returned false. Steam isn't running, couldn't find Steam, App ID is ureleased, Don't own App ID.
at Steamworks.SteamClient.Init(UInt32 appid, Boolean asyncCallbacks)
at XIVLauncher.Common.Unix.UnixSteam.Initialize(UInt32 appId) in C:/goatsoft/xl/XIVLauncher.Common.Unix/UnixSteam.cs:line 24
at XIVLauncher.Core.Program.Main(String[] args) in C:/goatsoft/xl/XIVLauncher.Core/Program.cs:line 156
2023-01-10 00:33:31.172 -07:00 [INF] [DUPDATE] Starting...
2023-01-10 00:33:31.941 -07:00 [INF] [DUPDATE] Using release version (7.3.4.0)
2023-01-10 00:33:32.036 -07:00 [INF] TROUBLESHXLTING:eyJXaGVuIjoiMjAyMy0wMS0xMFQwMDozMzozMi4wMjQyMzM0LTA3OjAwIiwiSXNEeDExIjp0cnVlLCJJc0F1dG9Mb2dpbiI6dHJ1ZSwiSXNVaWRDYWNoZSI6ZmFsc2UsIkRhbGFtdWRFbmFibGVkIjp0cnVlLCJEYWxhbXVkTG9hZE1ldGhvZCI6MSwiRGFsYW11ZEluamVjdGlvbkRlbGF5IjoxMDAwLjAsIlN0ZWFtSW50ZWdyYXRpb24iOmZhbHNlLCJFbmNyeXB0QXJndW1lbnRzIjp0cnVlLCJMYXVuY2hlclZlcnNpb24iOiIxLjAuMi4wIiwiTGF1bmNoZXJIYXNoIjoiNTk5MjQxZCIsIk9mZmljaWFsIjpmYWxzZSwiRHBpQXdhcmVuZXNzIjoxLCJQbGF0Zm9ybSI6MiwiT2JzZXJ2ZWRHYW1lVmVyc2lvbiI6IjIwMjIuMTEuMDkuMDAwMC4wMDAwIiwiT2JzZXJ2ZWRFeDFWZXJzaW9uIjoiMjAyMi4wOS4yOS4wMDAwLjAwMDAiLCJPYnNlcnZlZEV4MlZlcnNpb24iOiIyMDIyLjA4LjE2LjAwMDAuMDAwMCIsIk9ic2VydmVkRXgzVmVyc2lvbiI6IjIwMjIuMDguMTYuMDAwMC4wMDAwIiwiT2JzZXJ2ZWRFeDRWZXJzaW9uIjoiMjAyMi4xMS4wOC4wMDAwLjAwMDAiLCJCY2tNYXRjaCI6dHJ1ZSwiSW5kZXhJbnRlZ3JpdHkiOjB9
2023-01-10 00:33:32.084 -07:00 [INF] [DUPDATE] Now starting for .NET Runtime 6.0.6
2023-01-10 00:33:33.097 -07:00 [INF] [DUPDATE] All set for 2022.11.09.0000.0000
2023-01-10 00:33:44.609 -07:00 [ERR] Task failed
System.AggregateException: One or more errors occurred. (Object reference not set to an instance of an object.)
---> System.NullReferenceException: Object reference not set to an instance of an object.
at XIVLauncher.Core.Components.MainPage.MainPage.TryProcessLoginResult(LoginResult loginResult, Boolean isSteam, LoginAction action) in C:/goatsoft/xl/XIVLauncher.Core/Components/MainPage/MainPage.cs:line 270
at XIVLauncher.Core.Components.MainPage.MainPage.Login(String username, String password, Boolean isOtp, Boolean isSteam, Boolean doingAutoLogin, LoginAction action) in C:/goatsoft/xl/XIVLauncher.Core/Components/MainPage/MainPage.cs:line 199
at XIVLauncher.Core.Components.MainPage.MainPage.<>c__DisplayClass17_0.<b__0>d.MoveNext() in C:/goatsoft/xl/XIVLauncher.Core/Components/MainPage/MainPage.cs:line 142
--- End of inner exception stack trace ---

Can't restart the game

Everytime I want or need to restart the game, this happens:

[S_API] SteamAPI_Init(): Loaded '/home/criss/.local/share/Steam/linux64/steamclient.so' OK.
Setting breakpad minidump AppID = 39210
SteamInternal_SetMinidumpSteamID:  Caching Steam ID:  .... [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 232
fish: Job 1, 'XIVLauncher.Core' terminated by signal SIGABRT (Abort)

uname is: Linux astolfo 6.1.6-arch1-1 #1 SMP PREEMPT_DYNAMIC Sat, 14 Jan 2023 13:09:35 +0000 x86_64 GNU/Linux
I am using Arch. flatpak vs aur makes no difference.

Option to install in a different hard disk

Is there option to install the game in a different hard disk? My hard disk is mounted at /mnt but for some reason the installer cannot find the directory. Even tried creating a symlink in /home but can't get it to work.

Deleting The ffxiv folder cause a io mount error

Hi deleting the ffxiv folder under .xlcore causes this error:

2024-01-03 17:35:22.041 -08:00 [INF] [DUPDATE] Now starting for .NET Runtime 7.0.0
2024-01-03 17:35:22.962 -08:00 [INF] [DUPDATE] All set for 2023.11.09.0000.0000 with 9.0.0.14(7.0.0, 236)
2024-01-03 17:35:23.575 -08:00 [ERR] Error during patching
System.IO.DriveNotFoundException: Could not find the drive '/home/twilight/.xlcore/ffxiv'. The drive might not be ready or might not be mapped.
   at System.IO.DriveInfo.CheckStatfsResultAndThrowIfNecessary(Int32 result)
   at System.IO.DriveInfo.get_AvailableFreeSpace()
   at XIVLauncher.Common.Util.PlatformHelpers.GetDiskFreeSpace(DirectoryInfo info) in C:/goatsoft/xl/XIVLauncher.Common/Util/PlatformHelpers.cs:line 165
   at XIVLauncher.Common.Game.Patch.PatchManager.PatchAsync(FileInfo aria2LogFile, Boolean external) in C:/goatsoft/xl/XIVLauncher.Common/Game/Patch/PatchManager.cs:line 125
   at XIVLauncher.Core.Components.MainPage.MainPage.TryHandlePatchAsync(Repository repository, PatchListEntry[] pendingPatches, String sid) in C:/goatsoft/xl/XIVLauncher.Core/Components/MainPage/MainPage.cs:line 1039

Manually creating the folder causes the launcher to be able to download the game again.

[Linux] Display Settings blank; Network connection status blank

After moving over to the new Linux launcher, I started encountering some issues with FFXIV:

  • When I go into Display Settings, all options are blank/unchecked. I can check some, but the dropdown menus are all blank
  • On the character select screen, the network connection status is blank - --

This wasn't an issue when I was running via Lutris and the old launcher that's the same as the Windows launcher.

Tested on Gentoo. Both Flatpak and native compiled version 1.0.6.

Edit: This is with an NVidia GPU. I'm using a 4090 in an eGPU. Currently using the open-source kernel modules since the closed-source ones don't work with my current setup.

Screenshot from 2023-11-17 17-32-54
Screenshot from 2023-11-17 17-36-44

Feature Suggestion: Support for automatic ReShade integration

I've been trying to set up ReShade for XIV today, but the process is quite the hassle on Linux, but while looking through what to do I thought that it would be pretty neat to have XIVLauncher be able to set up ReShade, just as it does with Dalamud.
ReShade's official stance seems to be that it doesn't support neither Linux nor it's users (fair enough), but direct support by XLCore could improve the experience quite a lot IMO.

Are there currently any plans to integrate this or is it out-of-scope for this project?

High CPU usage when OTP prompt is displayed

Build: c2e02fd

inxi -v 2

  Host: Win2021SetL Kernel: 6.3.3-arch1-1 arch: x86_64 bits: 64 Desktop: GNOME
    v: 44.1 Distro: Arch Linux
Machine:
  Type: Desktop System: GPD product: G1619-03 v: N/A
    serial: <superuser required>
  Mobo: GPD model: G1619-03 serial: <superuser required> UEFI: American
    Megatrends LLC. v: 1.18 date: 12/02/2021
Battery:
  ID-1: BAT0 charge: 52.8 Wh (100.0%) condition: 52.8/57.0 Wh (92.6%)
CPU:
  Info: quad core 11th Gen Intel Core i7-1195G7 [MT MCP] speed (MHz):
    avg: 2164 min/max: 400/5000:4800
Graphics:
  Device-1: Intel TigerLake-LP GT2 [Iris Xe Graphics] driver: i915 v: kernel
  Display: wayland server: X.org v: 1.21.1.8 with: Xwayland v: 23.1.1
    compositor: gnome-shell driver: X: loaded: intel unloaded: modesetting
    dri: i965 gpu: i915 resolution: 1280x800
  API: OpenGL v: 4.6 Mesa 23.1.0 renderer: Mesa Intel Xe Graphics (TGL GT2)
Network:
  Device-1: Intel Wi-Fi 6 AX210/AX211/AX411 160MHz driver: iwlwifi
  Device-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
    driver: r8169
Drives:
  Local Storage: total: 2.75 TiB used: 2.33 TiB (84.6%)
Info:
  Processes: 347 Uptime: 6d 4h 26m Memory: available: 15.4 GiB
  used: 3.75 GiB (24.3%) Shell: Bash inxi: 3.3.27

When the OTP prompt is displayed, CPU usage hits 100% for a single core
image

This CPU usage does not stop until either the OTP is supplied, or the prompt is cancelled.

Also observed on another system with AMD GPU/CPU and Wayland server using Plasma

Improve flathub automated submission process

Right now every time we tag a release it makes a pull request to the flathub repository - we've been bitten by this more times than it's helped us save time so it's best we change it.

Some options:

  • A manually triggered workflow that makes a pull request with the last tag/release found on the repository
  • Uploading all the required files to the release workflow as artifacts and having a maintainer submit those manually afterwards (could generate a .patch file?)

Open to suggestions on improving this process

Custom Wine prefix location

I couldn't find a way to do this already, so I'm hoping it's ok that I request an option to specify a custom Wine prefix location. Having it in ~/.xlcore is a bit inconvenient, and the home directory isn't on my best harddrive.

Of course, I could just move the prefix and symlink the directory to ~/.xlcore/wineprefix, but for the sake of user friendliness, this would be a really great option.

The great XIVLauncher.Core checklist

The next steps to get XLCore into a nice spot

  • An improved FaQ (+ Maybe a good way to access from launcher)
  • Look into working with flatpak steam (symlinking? #39)
  • DXVK and wine improvements (PR exists for this here #64)
  • Wine sandboxing & flatpak sandboxing improvements
  • Moving to XDG specs (Or not? Needs discussion)
  • General UI cleanup
  • Localization

Font becomes blocky shortly after launch

When the launcher first starts up, everything looks and acts correctly. Shortly after launch, Steam will always pop up a Steam community notification, which seems to cause the text to become blocky and unreadable. All functionality seems to remain, it's just difficult to read anything. I'm not sure when this started happening, but within the last month or two. Once the game starts, everything works as normal.

xivlauncher

System details:
OS: Arch Linux
CPU: Ryzen 5 5600X
GPU: Radeon 6650 XT
DE: KDE Plasma Wayland
Install method: Tried both the AUR xivlauncher and xivlauncher-git packages, both display the same issue.

HandlePatchAsync error when trying to install to a different disk

I am trying to point the launcher to using my secondary disk instead of my main disk due to it's small size. Whenever I try this I get a HandlePatchAsync error, stating: could not find the drive '/run/media/{username}/drive2/.xlcore/ffxiv. The drive might not be ready or might not be mapped.

Will not launch off of windows install files

As the title says, configured the launcher to look for the game files on my windows drive so i dont have to wait a week to redownload, but it does not want to do anything with them.
At first i tried symlinks, but it didnt like that either, then I used the full paths
I have given it access to the folders using flatseal and made sure my windows partition is mounted as exec, genshin impact and honkai star rail and armored core 6 run fine, so there shouldnt be an issue running xiv. Can this work? or hsould i just give up and make a duplicate folder on the linux drive? (really dont want to the game is huge)
I am running mint 21.2, and using the flatpak version of the launcher, installed into steam following the nice guide on the github.io page

XIVLauncher Breaks Steam Menu in Gaming Mode

Hello all.

Whenever I launch XIVLauncher in gaming mode, it won't let me use the Steam button to switch games. I have to press and hold the power button for it to bring up the Steam menu.

It didn't used to do this, it was rather out of the blue that it occurred. I tried resetting my settings, and at first that worked, but it only worked to restore the Steam menu once. It was broken every time I tried after that.

Edit: No matter how many times I reboot and retry, it's always the same. First boot of the game after restarting to Game mode works, every boot after it's broken until restarting to Game mode.

I brought this up in the Discord, and I was told to put up an issue here.

Edit: Further testing reveals that if XIVLauncher is brought up as the first game on booting to Gaming Mode, it won't break the Steam menu, but if it's launched after any other game it will.

Edit 2: Now announcing the resolution of my previous problem.

As I suspected, it was in fact due to the overwhelming number of non-Steam entries generated by Steam Rom Manager.

Should anyone else come across a similar problem to mine, ask them if they use Steam Rom Manager and if they have a butt-ton of non-Steam entries from it.

That massive number of rom entries is a disservice not only to your own ability to scroll your library, but also to your Deck, which is trying to count all those sumbitches every time it loads the Steam menu in Gaming Mode.

Oh, yes, some additional information to clean up the mistake.

Open Steam, click the first item on the menu with Shift+Ctrl+Left Click, then click the last one.

Right click on any non-Steam item you've selected, scroll to Manage, and then "Remove Non-Steam Games".

You'll have to restore your library yourself later, but for the love of gaming, curate your rom set first.

Use EmulationStation for giant romsets like that anyway. Steam Rom Manager doesn't like anything above say 300, or something like that.

Add buttons to open the FFXIV and Dalamud plugin directories

I think it would be very useful to add buttons to open the folders where the configs for FFXIV and the Dalamud plugins are stored inside the launcher. The button to open the Dalamud folder already got implemented in the windows version of the launcher.

Set up CI

Tag =>

  • GitHub release on deploy
  • Flathub update on deploy

Push & PR =>

  • Build & test

Change the Setup Guide splash screen to make "Done" option more obvious

The title says it all. The src/XIVLauncher.Core/Resources/steamdeck_fts.png file is used for Steam Deck users installing for the first time. There are usually several questions a week in the #linux-and-deck channel getting stuck there, because the user doesn't realize they can press "Done! Don't show this message again."

I suggest that someone redo the splash screen so that the "Done!" line looks like a button, or change the words to something like "Done! Press here to close this message."

Can't login due to SSL error

After what seems to be an update of openssl on my distro (Manjaro), trying to login with 2FA fails with following error message:

2023-12-25 23:53:18.954 +01:00 [ERR] Task failed
System.AggregateException: One or more errors occurred. (The SSL connection could not be established, see inner exception.)
 ---> System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception.
 ---> System.Security.Authentication.AuthenticationException: Authentication failed, see inner exception.
 ---> Interop+OpenSsl+SslException: SSL Handshake failed with OpenSSL error - SSL_ERROR_SSL.
 ---> Interop+Crypto+OpenSslCryptographicException: error:0A00018A:SSL routines::dh key too small
   --- End of inner exception stack trace ---
   at Interop.OpenSsl.DoSslHandshake(SafeSslHandle context, ReadOnlySpan`1 input, Byte[]& sendBuf, Int32& sendCount)
   at System.Net.Security.SslStreamPal.HandshakeInternal(SafeFreeCredentials credential, SafeDeleteSslContext& context, ReadOnlySpan`1 inputBuffer, Byte[]& outputBuffer, SslAuthenticationOptions sslAuthenticationOptions)
   --- End of inner exception stack trace ---
   at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](TIOAdapter adapter, Boolean receiveFirst, Byte[] reAuthenticationData, Boolean isApm)
   at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(HttpRequestMessage request)
   at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.GetHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
   at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
   at XIVLauncher.Common.Game.Launcher.RegisterSession(OauthLoginResult loginResult, DirectoryInfo gamePath, Boolean forceBaseVersion) in C:/goatsoft/xl/XIVLauncher.Common/Game/Launcher.cs:line 420
   at XIVLauncher.Common.Game.Launcher.Login(String userName, String password, String otp, Boolean isSteam, Boolean useCache, DirectoryInfo gamePath, Boolean forceBaseVersion, Boolean isFreeTrial) in C:/goatsoft/xl/XIVLauncher.Common/Game/Launcher.cs:line 205
   at XIVLauncher.Core.Components.MainPage.MainPage.TryLoginToGame(String username, String password, String otp, Boolean isSteam, LoginAction action) in C:/goatsoft/xl/XIVLauncher.Core/Components/MainPage/MainPage.cs:line 260
   at XIVLauncher.Core.Components.MainPage.MainPage.Login(String username, String password, Boolean isOtp, Boolean isSteam, Boolean doingAutoLogin, LoginAction action) in C:/goatsoft/xl/XIVLauncher.Core/Components/MainPage/MainPage.cs:line 198
   at XIVLauncher.Core.Components.MainPage.MainPage.<>c__DisplayClass17_0.<<ProcessLogin>b__0>d.MoveNext() in C:/goatsoft/xl/XIVLauncher.Core/Components/MainPage/MainPage.cs:line 143

openssl version is 3.2.0-1

Latest flatpak + appstream update breaks XIVLauncher with --parent-expose-pids --parent-share-pids

From Alicia on Discord:

On arch, I'm suddenly getting a really weird issue where the launcher fails to start when using the recommended launch options for steam.
Launch options: LD_PRELOAD="" XL_SECRET_PROVIDER=FILE %command% run --parent-expose-pids --parent-share-pids --parent-pid=1 --branch=stable --arch=x86_64 --command=xivlauncher dev.goats.xivlauncher
The only response in terminal under these launch options is bwrap: creation of new user namespaces was not disabled as requested
I've selectively removed launch options and found that removing --parent-expose-pids --parent-share-pids fixes the issue, but I have no idea why, and would like to be able to keep these options ofc
[...]
I restored my system with timeshift and I found out what action I did broke it
it looks like the latest flatpak + appstream update caused this break

I can confirm this. After updating (Arch), the game would no longer launch using the recommended options. The workaround above works.
I can post an issue to the Flatpak issue repository, if you think it's upstream. https://github.com/flatpak/flatpak/issues

UX nitpick: UI loop freezes while unfocused

While I can understand the efficiency argument, it leads to interface annoyance when I have the launcher retain the framebuffer pixels inside the window (from the last window I opened). I think we can tick the event loop every 250ms.

Directories are not created upon config path change

When setting up a fresh install of FFXIV, it may be wanted to put the up-to-80GB install to a separate disk, it's what I attempted to do, however when setting a path on the configuration panel, saving, and then attempting to login, I get an error:

If I mkdir the relevant folders manually, I get a functional download screen. I believe XLCore should be the one creating those paths.

Notes:

  • Distro: Void Linux, Architecture: x86_64, libc: glibc
  • Built with .NET SDK 6.0.416

XIVLauncher Core doesn't upscale on a HiDPI monitor

Update disclaimer

  • Yes, I have checked and my issue is not related to FFXIV updating and plugins not working correctly.

What did you do?

To reproduce:

  1. Set global UI scaling to a value other than 100%. (Mine is 200%, as I have a 4K monitor.)
  2. Launch XIVLauncher Core.

Expected result: the window and fonts are scaled in proportion to the scaling factor.

Actual result: the window and fonts stay small, making the text hard to read.

OS: Ubuntu 23.04.

Desktop environment: KDE Plasma 5.

This is how the window looks on my machine. Note the small text size of the window itself compared to the title bar.

image

Platform

Linux (native)

Wine/Proton runner version

N/A โ€” this issue is not related to Wine/Proton

Clipboard Inaccessible

I can't copy and paste into XIVLauncher.core. I am using Sway/Wayland so it might be a Wayland specific problem.

This is a headache if you try to change the game path for example or copy your randomly generated password to the password prompt.

To reproduce try to copy and paste into any text box.

No Secrets Provider is Installed or Configured

When using flatpak version of XIVLauncher on a KDE based desktop, it complains there is no secrets provider installed, so you cannot save your password to login automatically. Is there some way this can be fixed?

image

XIVLauncher.Core is slow to launch (1.0.2 release)

DoVersionCheck() in Program.cs is very slow, adding 4+ seconds to startup.

I was doing a bunch of testing on 10/29 to determine the cause of slow startup, and eventually found the above function. Commenting it out and rebuilding made my test builds launch much faster. But then I read the code a bit more closely and realized that you can disable the function from the launcher.ini file by setting DoVersionCheck to false.

You can test it yourself very quickly. Just launch the flatpak with the variable set to true, and then check the launcher.log file and see the time from the "====" line to the line just above the massive hash dump (this is when the window actually fills in). Then do the same thing with variable set to false, and check the log again. The newest entry will be several seconds faster. In my testing, it was usually 4 to 5 seconds faster, launching in about 2 seconds.

I'm not currently at home, but when I get back I'll attach a couple short log files to show the problem.

Native builds based on commit ad6b701 or later do not have this problem, as the function is skipped.

xivlauncher flatpak reliably exits after about 10 seconds

This is a weird one! Apologies for a complicated issue.

I have a friend who has recently installed Manjaro. They installed the XIVLauncher flatpak and ran the game just fine for about four hours, and then it spontaneously exited without an error. After this point, starting the launcher would always spontaneously quit after ten seconds, with no explanation or error.

We did a bunch of diagnostics to figure out what was going on. In the end, we discovered that flatpak run --command=sh dev.goats.xivlauncher would also spontaneously exit after ten seconds. So the problem is not part of the launcher itself, because the launcher wasn't being run, but rather, part of the flatpak.

Meanwhile, flatpak run --command=sh org.freedesktop.Platform did not exit. Just sorta hung out and kept running. Whatever this problem is, it's not part of the core platform, it's specifically something introduced by dev.goats.xivlauncher.

Running the pre-gamemode version off Flathub's history, as well as Version 1.0.2 off Flathub's history, had the same issue.

We have been unable to find any log or diagnostic to explain what's going on. We've run from the console without any useful error messages being generated (it complains it can't find Steam, which is reasonable because (1) flatpak, (2) steam isn't installed.) We did try to build the flatpak locally so we could narrow it down, but it turned out to be kind of a pain (we may continue this later). Finally we ended up installing it off AUR, which worked fine, but we already knew the problem wasn't the launcher itself, so that wasn't a big surprise.

Our problem is sort-of solved, but it'd be nice to get to the root of this and also be able to switch back to the flatpak.

Do note that when I say "ten seconds", that's not "about ten seconds, plus or minus five seconds"; the actual exit takes, reliably, eleven seconds as timed by the zsh shell, and I'm betting one second of that is startup time. This feels to me like there's some background process that's timing out after ten seconds and aborting, but I'm not sure where to look for it.

Also, strace et al aren't useful because we can't find the process that's actually doing this; running ps in the command shell (before it exits) shows nothing except bwrap, sh, and ps, as one would expect.

Anything you want us to test? Any log we should dig out? Any idea what the problem might be?

Implement Integrity Check button

Implement the Integrity Check button from WPF app onto xlcore.

I had a botched PR for this back when we were monorepo, but the imgui modals weren't working with me, so I couldn't appropriately show the user that the task was in progress. It did generate the file if you waited the 5-10 minutes though. The only actually important part from it would be to handle path separators, but that will be in XIVLauncher.Common.

https://github.com/goatcorp/FFXIVQuickLauncher/pull/1055/files

Plugins randomly loading with errors or disappearing

I've been getting plugins that randomly shows one of the conditions below:

  • Plugin failed to load
  • Plugin is randomly uninstalled

Although some plugins seems to display these behaviors more often than others, I could not find a proper pattern to describe here.

For an example, I logged into the game right now and this is what I got: missing BigPlayerDebuffs, Character Panel Refined and Lemegeton that I had the last time I was playing, and those others had load failure.
image1

I reopened the game and this is what I got: BigPlayerDebuffs back and no load errors. Don't think I'm missing any plugin this time.
image2

Also, on a side note, between each picture, I got like 5 or so crashes attempting to open the game. I've run some tests with the launcher options and the only one that consistently opened the game with no errors was opening without Dalamud at all. I tried the option to open w/o 3rd party plugins, but it also crashes consistently.

Unable to download 6.5 patch

Attempting to log in using XIVLauncher.Core during the 6.5 maintenance window just produces an error "Maintenance is in progress." followed by another error "Object reference is not set to an instance of an object." before kicking back to the login window.

I'm running XIVLauncher.Core 1.0.4.0 (f9a40ed) running on Debian Testing.

This is probably already known, given the issues patching on Windows with XIVLauncher, but I want to file an issue because the announcement in Discord doesn't cover Launcher.Core and the workaround of running the official patcher doesn't work on Linux (there is no button to run the official launcher).

At the very least, it would be helpful to have instructions on what files we can copy from a patched Windows install to Linux in order to manually apply the patch. Is it just the entirety of the sqpack directory?

Game Refusing to Load - Missing File "dalamudAssets\222\UIRes\NotoSansCJKjp-Medium.otf"

Simply as stated above. As of the update to Dalamud 9.0.0.1 earlier, the game now fails to load entirely, with the following error message:

One or more files required by XIVLauncher were not found.
Please restart and report this error if it occurs again.

Z:\home<user>.xlcore\dalamudAssets\222\UIRes\NotoSansCJKjp-Medium.otf

Even after clearing all configuration settings using the launcher's "Clear Everything" option, it still fails to load. Additionally, the directory chain doesn't exist beyond dalamudAssets, with no folders 222 or beyond existing whatsoever.

The game was working perfectly fine earlier today, and as there has been no update to the game since, I can say with reasonable certainty that it is not the game causing the problem.

Enabling Dalamud prevents game from starting

This problem began happening today even though I have never had to disable Dalamud in the past for any reason. I presume this issue is only temporary and is due to live changes happening on the API end as ongoing effort is being done to return plugins to a working state. That said, I wanted to report my issue anyway just so it's noted in case this is a localized issue with my configuration. If you need any more details from the log, I will be happy to provide that. Thanks for all the amazing work and thank you for caring about Linux users.

2023-01-14 08:33:51.734 -07:00 [ERR] StartGameAndError resulted in an exception.
XIVLauncher.Common.Dalamud.DalamudRunnerException: An internal Dalamud error has occured
   at XIVLauncher.Common.Unix.UnixDalamudRunner.Run(FileInfo runner, Boolean fakeLogin, Boolean noPlugins, Boolean noThirdPlugins, FileInfo gameExe, String gameArgs, IDictionary`2 environment, DalamudLoadMethod loadMethod, DalamudStartInfo startInfo) in C:/goatsoft/xl/XIVLauncher.Common.Unix/UnixDalamudRunner.cs:line 80
   at XIVLauncher.Common.Dalamud.DalamudLauncher.Run(FileInfo gameExe, String gameArgs, IDictionary`2 environment) in C:/goatsoft/xl/XIVLauncher.Common/Dalamud/DalamudLauncher.cs:line 130
   at XIVLauncher.Common.Unix.UnixGameRunner.Start(String path, String workingDirectory, String arguments, IDictionary`2 environment, DpiAwareness dpiAwareness) in C:/goatsoft/xl/XIVLauncher.Common.Unix/UnixGameRunner.cs:line 27
   at XIVLauncher.Common.Game.Launcher.LaunchGame(IGameRunner runner, String sessionId, Int32 region, Int32 expansionLevel, Boolean isSteamServiceAccount, String additionalArguments, DirectoryInfo gamePath, Boolean isDx11, ClientLanguage language, Boolean encryptArguments, DpiAwareness dpiAwareness) in C:/goatsoft/xl/XIVLauncher.Common/Game/Launcher.cs:line 268
   at XIVLauncher.Core.Components.MainPage.MainPage.StartGameAndAddon(LoginResult loginResult, Boolean isSteam, Boolean forceNoDalamud, Boolean noThird) in C:/goatsoft/xl/XIVLauncher.Core/Components/MainPage/MainPage.cs:line 766
   at XIVLauncher.Core.Components.MainPage.MainPage.TryProcessLoginResult(LoginResult loginResult, Boolean isSteam, LoginAction action) in C:/goatsoft/xl/XIVLauncher.Core/Components/MainPage/MainPage.cs:line 376

[Feature Request] Option to ignore steam entirely

I accidentally posted this at goatcorp/FFXIVQuickLauncher#1213 and was directed here

Update disclaimer

  • Yes, I have checked and my request is not related to the game updating and plugins not working correctly.

What happened, what did not, what did you want to happen?

At the minute xlcore communicates with steam and tells steam that you are playing "Final Fantasy XIV Online Free Trial" whenever it's running.

An option to completely disable this functionality would be nice. I'm not running the steam version, nor am I on a steamdeck, so I don't need steam to know about XIV and I don't need XIV to know about steam.

(To be honest, this is partially fuelled by the annoying behaviour of steam not knowing when the game is closed if you forget to include the --parent-expose-pids --parent-share-pids --parent-pid=1 args in your .Desktop file or however you're launching xlcore)

Version

Native/Core version (Linux)

Platform

Linux (native)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.