goatcorp / FFXIVQuickLauncher

Custom launcher for FFXIV
https://goatcorp.github.io/
GNU General Public License v3.0
2.85k stars 333 forks source link

[Linux] XIVLauncher calculates free space on the wrong partition #601

Open Maia-Everett opened 2 years ago

Maia-Everett commented 2 years ago

Describe the bug here:

I have two partitions on my Linux system: / and /home. FFXIV is installed into a directory in /home. The /home partition has 74 GB free, while the / partition has 11 GB free.

When I try to patch FFXIV to 6.0, XIVLauncher complains that I have only 11 GB free, and refuses to patch.

Steps to reproduce the bug: Example:

1. Put FFXIV on a root partition that has enough space to install the patch.
2. Make sure the root partition doesn't have enough space to install the patch.
3. Launch XIVLauncher.
4. Try to patch the game.

Expected behavior XIVLauncher reads remaining free space on the partition the game is actually on, and the game is patched.

Other information (please complete the following information): Operating System: Ubuntu 21.10 XIVLauncher version: 6.1.0.0 Launching as admin?: No Using Steam?: Yes Addons/Plugins enabled: N/A

Additional information Add any other context about the problem here.

goaaats commented 2 years ago

I'd guess this is a wine bug. We can't really do much about that on our end, since we don't even know about Linux FS. I may add a command line switch to turn these checks off.

reiichi001 commented 2 years ago

This is probably a wine bug. It would be based on whatever wine reports as "free space" on the fake C:\ drive. You might be able to get around it by added a new drive in your wine config that points to your /home partition.

Maia-Everett commented 2 years ago

That might be it, actually. My fake C: drive is on the /home partition, but the game isn't installed under the C: drive directory ($WINEPREFIX/drive_c); rather, it's under /home/games/steam, which Wine places on the Z: drive, which it maps to the root filesystem.

I'm downloading the patch using the official launcher now, but if it fails, I'll try reiichi001's workaround.

Maybe you could try using WinAPI GetDiskFreeSpaceEx, which accepts a directory path? I'll check if that does the trick under Wine. Never mind, I see you're already using it. Seems like a Wine bug, then.