Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Final Fantasy 14 (39210) #580

Open
nstgc opened this issue Aug 25, 2018 · 397 comments

Comments

Projects
None yet
@nstgc
Copy link

commented Aug 25, 2018

Final Fantasy 14's installer (after Steam does it's own installing) doesn't have any fonts its seems, favoring [] over actual characters. Even the numbers, so its not that its trying to display Japanese characters and my system is missing them (which is not the case since I occasionally use them myself). Potential UTF-8 problem?

@kisak-valve kisak-valve changed the title Final Fantasy 14 missing fonts? Final Fantasy 14 missing fonts? (39210) Aug 25, 2018

@HereInPlainSight

This comment has been minimized.

Copy link

commented Aug 25, 2018

I'm not sure if this is the same issue directly. I've gotten XIV working via Proton, but I had to follow well-known wine answers to get it playable. Namely, I have to edit two files in the steamapps/compatdata/39210/pfx/drive_c/users/steamuser/My Documents/My Games/FINAL FANTASY XIV - A Realm Reborn/ directory.

In FFXIV_BOOT.cfg, I had to edit BrowserType to 2, and in FFXIV.cfg I have to edit CutsceneMovieOpening to 1.

The first change allows me to get to the launcher at this point -- if it's left to its default value I get 'A system error has occured: 404. HTTPS System Error'. Afraid I did the install mid-week, so I'm not sure if this is how I got past nstgc's issue during installation.
Obviously the latter change means I don't get to see the opening cutscene the first time I play the game, but if I leave it at default value, the game launches but hangs up after selecting a Data Center.

As these edit game configuration files I'm not sure if this is something Valve wants to consider for Proton, but at the least it's information.

@kisak-valve

This comment has been minimized.

Copy link
Member

commented Aug 26, 2018

FFXIV Freezes when Real Time Reflections are enabled

Issue transferred from #627.
@ulzeraj posted on 2018-08-26T05:58:03:

Final Fantasy 14 (ID: 39210) works on DX11 mode after some manual workarounds which are editing the INI files to set browser type to 2, disable the opening cutscene and use winetricks xact into its prefix.

However… graphics stop working immediately after I enable “Real Time Reflections”. Enabling any level of this particular option freezes the game and X11. I can still log into through SSH and there are these messages:

[ 384.698959] [drm:amdgpu_job_timedout [amdgpu]] ERROR ring gfx timeout, last signaled seq=202749, last emitted seq=202751
[ 384.698964] [drm] GPU recovery disabled.

GPU is Saphire R9 390. System is OpenSUSE Tubleweed with kernel 4.18.0-1, using amdgpu and Mesa 18.1.6 LLVM6. Same hardware and game works fine on Windows 10 with Real Time Reflections on.

Thanks for the hard work.


@doitsujin commented on 2018-08-26T10:47:10

Please test with LLVM 7 and Mesa 18.2, as suggested in PREREQS.md.


@HereInPlainSight commented on 2018-08-26T15:37:13

System info: Gentoo x86_64 | 4.14.65-gentoo | i5-6500 | NVIDIA GeForce GTX 1070 | NVIDIA 396.51

I had previously done the config file edits, just emerged llvm7 and added the xact winetricks to the prefix, switched to DX11 and can confirm I'm able to run with Real Time Reflections at any setting I want.


@doitsujin commented on 2018-08-26T16:12:39

@HereInPlainSight The LLVM version is only relevant for AMD drivers because they use LLVM to compile shaders. Mesa needs to be built against LLVM 7 in order to work correctly.


@HereInPlainSight commented on 2018-08-26T16:50:18

@doitsujin I wasn't 100% on that because the DirectX11 info seems to indicate that LLVM7 is recommended to avoid GPU hangs, which is mentioned after the drivers section. My gaming on Linux before the new SteamPlay info was fairly casual, so I opted to go safe over sorry.

@kisak-valve kisak-valve changed the title Final Fantasy 14 missing fonts? (39210) Final Fantasy 14 (39210) Aug 26, 2018

@ulzeraj

This comment has been minimized.

Copy link

commented Aug 27, 2018

Using the recommended libs fixed the issue for me but now I have the missing fonts issue described by @nstgc. I should mention that the fonts issue didn’t occurred in OpenSUSE Tumbleweed.

I’ve switched to Ubuntu Bionic in order to fill the requierements described on PREREQS.md. Installing from those repos gave me Mesa 18.3 compiled against LLVM 8.0. I also installed LLVM and CLANG 8 since the document does not make it clear if libllvm8 is enough. I’m still using amdgpu from kernel 4.18.5-041805 which I installed from UKKUU.

By the way the wine and winetricks from Ubuntu default repos are too old and applying xact through them will cause the game to fail on launch.

@EternalMana

This comment has been minimized.

Copy link

commented Aug 29, 2018

somehow I manage to add those fonts using "winetricks allfonts"
But I seem to be unable to actually input Japanese characters using iBus anthy on Ubuntu 18.04
Can anyone else confirm? (Or is able to write Japanese in FFXIV chat really)

@csos95

This comment has been minimized.

Copy link

commented Sep 7, 2018

Neither my steam controller or xbox 360 controller works.
They are they both show up in the gamepads list in the setting menu so they are detected, but button presses don't work.

@ulzeraj

This comment has been minimized.

Copy link

commented Sep 8, 2018

Here the controllers do not work through steam as they should but I've managed to use them through the SDL native system.

For DS4 this works by adding the following variable to your profile (.bashrc or /etc/environment) and disabling the steam controller system.

export SDL_GAMECONTROLLERCONFIG='030000004c050000cc09000011810000,PS4 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2,platform:Linux,050000004c050000cc09000000810000,PS4 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2,platform:Linux,'

Thing is... I should be able to disable the controller just for that game but Steam somewhat renames the device node paths so to make it work I need to disable everything. The device renaming thing do not happen in OpenSuSE.

@legluondunet

This comment has been minimized.

Copy link

commented Oct 6, 2018

The cinematics do not play, could be related to issue #1464.

@csos95

This comment has been minimized.

Copy link

commented Dec 4, 2018

I found the solution to my issue here: https://www.reddit.com/r/archlinux/comments/9bl3l7/steam_controller_not_working_with_protonsteam/

The issue was that two inputs were being created for one controller.
running sudo rmmod hid_steam and restarting steam fixed the issue.

@kisak-valve

This comment has been minimized.

Copy link
Member

commented Jan 3, 2019

Failure to load embedded web page in game launcher (appid: 39210)

Issue transferred from #2183.
@TenaarFeiri posted on 2019-01-02T23:58:28:

Compatibility Report

  • Name of the game with compatibility issues: Final Fantaxy XIV Online
  • Steam AppID of the game: 39210

System Information

I confirm:

  • that I haven't found an existing compatibility report for this game.
  • that I have checked whether there are updates for my system available.

https://gist.github.com/TenaarFeiri/9e560a89346b17cc2de0ac9b508259e8

Symptoms

The issue is Proton doesn't seem able to help ffxivlauncher.exe use the correct web browser to embed its login page with. I've had reports that the game itself is functional once you get past the launcher, but I'm unable to test it as this is a crucial step for downloading the game.

The launcher itself reports a HTTPS 404 error, as it can't find a browser to use for the launcher's landing page.

Reproduction

  • Download and install Final Fantasy XIV Online.
  • Launch the game. ffxivboot.exe will launch, and will give you no useful information as the font is broken.
  • ffxivboot.exe will eventually finish its download, and then it will open ffxivlauncher.exe
  • Inform the launcher that you already have an account with the game.
  • Proceed through its prompts until it's done guiding you through it.
  • Observe the launcher attempt to open a webpage necessary to initiate the running of the game and fail.
  • Close and restart the game as many times as desired.
@TenaarFeiri

This comment has been minimized.

Copy link

commented Jan 3, 2019

EDIT: Got the game to run :D
Currently I'm having an issue that there's no audio in DX11, but there is audio in DX9. I much prefer to play in DX11 as the performance is better. Any ideas?
I'm using Proton 3.16-6 (Beta) now.


I just found this and applied some of the tweaks mentioned above and I got the launcher working =)

It remains to see if I can get the game itself to run when it's finished downloading but we'll see!

I notice prefixes being mentioned above. I'm not terribly tech savvy; how would I go about applying them if I need them?

@TenaarFeiri

This comment has been minimized.

Copy link

commented Jan 6, 2019

Any idea how to get sound going in DirectX 11? DX9 has sound but it's virtually unplayable.

@legluondunet

This comment has been minimized.

Copy link

commented Jan 7, 2019

@TenaarFeiri With Wine I had to install xact and then override xaudio2_7

@TenaarFeiri

This comment has been minimized.

Copy link

commented Jan 7, 2019

@TenaarFeiri

This comment has been minimized.

Copy link

commented Jan 12, 2019

@TenaarFeiri With Wine I had to install xact and then override xaudio2_7

I figured it out! Thank you so much for pointing me in the right direction.
I installed a proper version of Wine as instructed at winehq.org, and then did: WINEPREFIX=game_folder_in_steam winecfg and set xaudio2_0 and xaudio2_7 in the override.
That did the trick! I now have audio and great performance!

@TenaarFeiri

This comment has been minimized.

Copy link

commented Jan 15, 2019

EDIT: Turns out the issue was my desktop environment. I uninstalled Ubuntu 18.10 and replaced it with Kubuntu 18.10 and now Windowed Mode is working great!

Okay!
New problem!
So the game works perfectly in Windowed Fullscreen with no issues whatsoever (that I can see). But I actually prefer to play the game in Windowed mode, and that's where problems emerge: I have skills bound to num pad keys, that activate when I press my mouse buttons. In Windowed Fullscreen they work great with no errors, but when I use them in Windowed more, there is a noticeable FPS plummet/freeze that makes it hard to play like that.

I recorded a video: https://youtu.be/iqLxMQLCLe4 (the low framerate of the game is a result of the recording, but thankfully it also makes it super obvious when I hit the mouse buttons so you can observe).

Any ideas on how I could fix this?

@flibitijibibo

This comment has been minimized.

Copy link
Collaborator

commented Jan 25, 2019

The latest FAudio revision fixes audio for the DX11 version:

FNA-XNA/FAudio@83f8734

EDIT: As long as you turn reverb off... add return buffer; after this line if you really try this out:

https://github.com/FNA-XNA/FAudio/blob/master/src/FAudio_internal.c#L628

@flibitijibibo

This comment has been minimized.

Copy link
Collaborator

commented Jan 26, 2019

Latest FAudio revision fixes effects too! The game sounds fine on my own setup now without modifications (minus some attenuation, but that shouldn't be ear-wrenching).

@TenaarFeiri

This comment has been minimized.

Copy link

commented Feb 6, 2019

Together with all of the above, and with xact, xaudio2_0-9, I think official support shouldn't be that far away?
It works perfectly with those fixes in Proton 3.16-6 Beta, and really the biggest hurdle is just changing the BrowserType to 2, and CutsceneMovieOpening to 1 as described by @HereInPlainSight.
But that's something I'd wager the Steam client should be able to do on its own when the game is installed, surely?

@flibitijibibo

This comment has been minimized.

Copy link
Collaborator

commented Feb 16, 2019

Proton 3.16-7 includes the latest FAudio changes, so audio should work properly with the DX11 version.

@Equivocal90

This comment has been minimized.

Copy link

commented Feb 21, 2019

With the 3.16-7 beta, I recreated the compatdata for this game to completely undo any manual modifications. I did still have to change BrowserType to 2, and CutsceneMovieOpening to 1. Audio now works without xaudio dll overrides but, the audio gets progressively more delayed with playtime. After ~20-30 minutes of playtime all audio gets delayed by 1-2 seconds.

Is anyone else experiencing something similar?

@flibitijibibo

This comment has been minimized.

Copy link
Collaborator

commented Feb 21, 2019

Took a quick look and I believe you've stumbled upon a design issue with SDL_AudioStreams. I've swapped out the resampler, so if I did everything right the lag should be gone (and hopefully the sound quality is still okay):

FNA-XNA/FAudio@fe31f1b

@sandsong

This comment has been minimized.

Copy link

commented Mar 2, 2019

I'm still having issues with an HTTPS error in the launcher despite BrowserType having been set to 2. Tested under GNOME with Wayland, GNOME on Xorg, and Plasma to no avail.

@Equivocal90

This comment has been minimized.

Copy link

commented Mar 2, 2019

I'm still having issues with an HTTPS error in the launcher despite BrowserType having been set to 2. Tested under GNOME with Wayland, GNOME on Xorg, and Plasma to no avail.

Try deleting the "web" folder in ~/.local/share/Steam/steamapps/compatdata/39210/pfx/drive_c/users/steamuser/My Documents/My Games/FINAL FANTASY XIV - A Realm Reborn/

I have 2 Fedora 29 machines where on one I have to constantly delete that folder for the launcher to load while on the other does not require it. Although, I'm not sure what is different between the two machines

@TenaarFeiri

This comment has been minimized.

Copy link

commented Mar 2, 2019

@ashkitten

This comment has been minimized.

Copy link

commented Apr 26, 2019

yes, but i don't have any familiarity with what tools wine_gecko provides for debugging

@Sophira

This comment has been minimized.

Copy link

commented Apr 26, 2019

@feffes Is it okay if I link that build in the Reddit post? If so, can you give some instructions on how to use it? I don't use Lutris myself.

@feffes

This comment has been minimized.

Copy link

commented Apr 26, 2019

@feffes Is it okay if I link that build in the Reddit post? If so, can you give some instructions on how to use it? I don't use Lutris myself.

sure. The short gist of it is that it works as any other wine runner, so you extract tkg-ffxiv-feffe-4.6-1.8-x86_64 from the tar into ~/.local/share/lutris/runners/wine and switch to it under FFXIV > Configure > Runner options

@Undeadhunter

This comment has been minimized.

Copy link

commented Apr 26, 2019

Would be nice in case anyone hasn't done it, to update their experience in Proton DB, would be great to get FF14 into Gold, instead of downwards Silver

@sschroe

This comment has been minimized.

Copy link

commented Apr 27, 2019

In order to further poke at the black screen issue i setup a local webserver and copied the launcher site to it, this allows me to modify the html/javascript that the patcher loads.

Adding an additional script tag with fromAppResumeInfo(); at the bottom of index.html will make the launcher appear in a regular browser (to some extend) - and also does so in ffxivlauncher! So this is clearly not a rendering issue and indeed hints at some script not being called the way it should.

Using WINEDEBUG=mshtml we will also find the these:

002d:trace:mshtml:WindowDispEx_GetDispID (0x17c5390)->(L"fromAppResumeInfo" 10000001 0x33e8d4)
002d:trace:mshtml:DispatchEx_GetDispID (0x17c53cc)->(L"fromAppResumeInfo" 10000001 0x33e8d4)
002d:trace:mshtml:HTMLDocument3_getElementById (0x181eb48)->(L"fromAppResumeInfo" 0x33e7c8)

Along with a bunch of DispatchEx_InvokeEx calls later on. I suspect this might be what the launcher uses to interface with the javascript on the page, although i'm not entirely sure on what these functions really do.

What particularly caught my interest in this regard is this warning:

002d:fixme:jscript:JScriptProperty_SetProperty Unimplemented property 70000002
002d:warn:mshtml:set_script_prop SetProperty(70000002) failed: 80004001

70000002 maps to SCRIPTPROP_ABBREVIATE_GLOBALNAME_RESOLUTION according to https://docs.microsoft.com/en-us/scripting/winscript/reference/iactivescriptproperty-setproperty

The documentation on this is a bit thin but the name does suggest that it somehow modifies how the javascript engine to handle global name space resolution differently. The previously mentioned interface seems to use global variables mapped to functions so this might be an possible culprit here as the function clearly isn't implemented at all and could lead to the launcher not being able to use these global variables.

Though we'd need more information on what SCRIPTPROP_ABBREVIATE_GLOBALNAME_RESOLUTION actually does to know more. Simply changing the function in wine to return S_OK regardless changed nothing in the launcher.

@ashkitten

This comment has been minimized.

Copy link

commented Apr 27, 2019

@sschroe do any other errors pop up related to jscript/mshtml? i would expect another error if some operation depended on this property being set, yes?

edit: talked to someone in #winehackers and they said this property is always set

@sschroe

This comment has been minimized.

Copy link

commented Apr 28, 2019

Does always set mean that this function is always being called or that in wine the requested functionality is the default state already? I hadn't spotted anything that seemed noteworthy besides.

My last attempts were to use the code from https://github.com/dns/WinAPI-Embed-Browser/blob/master/embed-browser.c as a base to build an example where the issue can be reproduced. Changing that code to load the launcher URL is simple enough but i didn't manage to interface with the Javascript yet. The shitty windows API and lack of documentation make me want to die.

@ashkitten

This comment has been minimized.

Copy link

commented Apr 28, 2019

they said that the reason that property is unimplemented is because that's the default state

@sschroe

This comment has been minimized.

Copy link

commented May 1, 2019

A tiny bit of "progress":

The first thing the launcher seems to do after loading the page is to Navigate the browser to a javascript url:
002e:trace:ieframe:WebBrowser_Navigate2 (0xe935d0)->(0x32bb5c {VT_BSTR: L"javascript:fromAppConfig( {lang:\"en\",region:3,eula:1,startup:1,issteam:0,query:\"none\",ver:\"2019.04.19.0000.0001(4143105)\",skip_confirm_expansion_install_dialog:\"0\", inst 0x32bb6c {VT_EMPTY} 0x32bb6c {VT_EMPTY} 0x32bb6c {VT_EMPTY} 0x32bb6c {VT_EMPTY})
This pretty much just executes the given javascript string within the current page, in this case calling the function fromAppConfig with a bunch of arguments. And this part works fine so far and among other things will run App.message.send(App.protocol.Send.REQUEST_RESUME_INFO);.

App.message.send looks like this:

send: function(type, opt) {
    // オプションがあるなら処理する
    if (!utils.isUndefined(opt)) {
        type = utils.string.build(type, "=", opt);
    }
    try {
        window.external.user(type);
    } catch(e) {}
}

window.external is normally used to pass data back into another program. So in this case this should be the communication back to the launcher. I suspect that this is the part where things might fail as not much else seems to happen after this. Adding an alert() there on my locally hosted copy shows that the code is being executed with proper values in wine. Additionally commenting out window.external.user(type); results in the launcher coming up with just a black screen in Windows, showing the same behaviour as we see on wine.

So what might be happening is that the launcher doesn't receive the REQUEST_RESUME_INFO and thus does not continue.

@lesderid

This comment has been minimized.

Copy link

commented May 1, 2019

I don't think that's the issue.

Using the mshtml patch from https://bugs.winehq.org/show_bug.cgi?id=47069#c2 allows you to run the launcher with BrowserType 0 up to the login form. Clicking the log in button will show an error (https://pomf.soupwhale.com/ltibnw.png).

This is a deeper mshtml issue (or rather a series of issues) that most likely doesn't have an easy solution, not to mention the fact that even that patch is a hack.

Edit: I haven't checked this in a few days, so I might be wrong, but I believe that error was coming from JSProtocolFactory_CreateInstance not being implemented.

@sschroe

This comment has been minimized.

Copy link

commented May 1, 2019

Indeed if the browser renders with the patches from there then the previously mentioned parts shouldn't matter as it does already progress beyond that point then.

@sovietnorm

This comment has been minimized.

Copy link

commented May 3, 2019

@lesderid Does that error still come up if you push enter instead of clicking on the button in the password field?

Curiously, with the hack to make it use BrowserType 2 has the same behavior; clicking the button produces that error, pushing enter on the one-time-password field logs in successfully. (The same should work without a OTP)

@sschroe

This comment has been minimized.

Copy link

commented May 5, 2019

Pressing enter instead of clicking the play button did start the game for me. So using the url fix + browser busy hack from https://bugs.winehq.org/show_bug.cgi?id=47069#c2 we can login and run the game.

This way i'm also able to use the 64bit launcher, this one however also requires the wine version to be hidden as it otherwise says that my account isn't registered. With the wine version hidden it works as expected and i can login.

@nmalacarne

This comment has been minimized.

Copy link

commented May 8, 2019

@sschroe I am running into the same problem as you (account not registered). What do you mean by hiding the wine version?

@HereInPlainSight

This comment has been minimized.

Copy link

commented May 8, 2019

@nmalacarne Currently, XIV seems to believe that running Wine means we're on Macs, so it's specifically -attempting- to tell you you don't have a Mac license. To avoid this, we have to hide that we're using Wine. Either do something along the lines of WINEPREFIX=<path-to-prefix> winetricks hidewineexports=enable (or protontricks instead of winetricks if you have it), or WINEPREFIX=<path-to-prefix> winecfg and change the setting in the Staging tab.

@ArulinTheUnicorn

This comment was marked as off-topic.

Copy link

commented May 8, 2019

It seems my snooping may have helped after all. I been watching this. Please do not say they did not intentionally do this act, they know exactly what they are doing. Open your eyes to see Microsoft, Apple and Sony are all data mining. Proton hinders that since it allows for a bypass of their platforms, so to keep it under the table this little screw ball tactic was used to wall garden Linux out yet have a weasle hole to run back to. Square supports the data collecting tactics of the rest.

Let just say if Microsoft shiles were slaves, then Microsoft is a jugalo. Sony and Apple are both in on it too. Well have fun playing rats vs cats with Square, unless Val gets off the dime like they should have with Half-Life 3 then a hacker's life we sail. Like it or not.

@nmalacarne

This comment has been minimized.

Copy link

commented May 8, 2019

Thanks @HereInPlainSight , that makes sense. Everything is working alright now with DX11 after setting hidewineexports via winetricks.

@jbal91

This comment has been minimized.

Copy link

commented May 12, 2019

So this is going to be a long shot, but I have no idea where else to ask. I've been having issues where randomly, the game will not "update" for 5 seconds (as in, from the network) then everything will update all at once, repeat. This goes on for periods of hours and then mysteriously disappears for a few days and comes back for a few days. Restarting the computer does nothing, restarting the router/modem does nothing, mudfish makes the problem worse, mtr reports no packet loss and reasonable ping, and I have no idea where to go from here. It seems to affect nothing but the game and the launcher when trying to update the game. Ethernet driver bug? Linux TCP stack bug that only affects games for some reason? Wine TCP stack bug? I have no idea where to even start to debug this.

@TenaarFeiri

This comment has been minimized.

Copy link

commented May 12, 2019

@jbal91

This comment has been minimized.

Copy link

commented May 12, 2019

This happens on Windows too. Methinks the code doth protest too much? It's a bad launcher and an equally bad updater. søn. 12. mai 2019, 23:03 skrev jbal91 notifications@github.com:

It's not just the launcher, it makes the game unplayable when it happens. It feels like bad packet loss but MTR disagrees.

@witcheslive

This comment has been minimized.

Copy link

commented May 14, 2019

Does anyone know how to install and run ffxiv using proton without using Steam or running the Steam version? I want to ensure I can get out all my data while I still can, and I have a non-steam account and have been logging in through the trial which is supposed to stop working in the future. However for the life of me I cannot find any information about running your own proton build for arbitrary applications and not through the Steam launcher

@nstgc

This comment has been minimized.

Copy link
Author

commented May 14, 2019

Does anyone know how to install and run ffxiv using proton without using Steam or running the Steam version? I want to ensure I can get out all my data while I still can, and I have a non-steam account and have been logging in through the trial which is supposed to stop working in the future. However for the life of me I cannot find any information about running your own proton build for arbitrary applications and not through the Steam launcher

Proton is just another binary that you can run. If you want, you can make a bash alias for it and then run it like you would Wine.

@sangoku116

This comment has been minimized.

Copy link

commented May 14, 2019

Was working fine after updating this morning now I get an unable to complete version check

@sangoku116

This comment has been minimized.

Copy link

commented May 14, 2019

Was working fine after updating this morning now I get an unable to complete version check

I had to reenter the "WINEPREFIX=[pfx location] winetricks hidewineexports=enable"

@TenaarFeiri

This comment has been minimized.

Copy link

commented May 15, 2019

@Sophira

This comment has been minimized.

Copy link

commented May 15, 2019

My guess would be for programs with special support for Wine, such as those compiled with winelib. Having these exports would allow a program to easily use special workarounds for bugs in Wine.

As we've seen, of course, it can also be used to deny Wine users the right to run their Windows programs. :/ But that's why the option to hide them exists.

@jbal91

This comment has been minimized.

Copy link

commented May 15, 2019

Does anyone know how to install and run ffxiv using proton without using Steam or running the Steam version? I want to ensure I can get out all my data while I still can, and I have a non-steam account and have been logging in through the trial which is supposed to stop working in the future. However for the life of me I cannot find any information about running your own proton build for arbitrary applications and not through the Steam launcher

Proton is essentially a patched Wine with a launcher script. So to do this you can:

  1. You can run the wine binary in your Proton build directly as if you were using a normal version of Wine
  2. Examine how Steam calls Proton and set the appropriate environment variables before calling the proton script with the appropriate command line parameters. You can find this information by writing a shell script that dumps this information, then setting it in Launch Options in Steam, or you can examine the proton script to see what variables and parameters it uses.

To get the data from Steam, though, you don't need to run anything, just copy it from your ~/.local/share/Steam/steamapps/compatdata/312060/pfx/drive_c/users/steamuser/My Documents/My Games/FINAL\ FANTASY\ XIV\ -\ A\ Realm\ Reborn. Alternatively, if you can run the game, use it's cloud backup to save all your settings.

Then, import them into your non-Steam installation of FFXIV, whether it be via Lutris, Windows, or a manually patched Wine.

@jbal91

This comment has been minimized.

Copy link

commented May 15, 2019

My guess would be for programs with special support for Wine, such as those compiled with winelib. Having these exports would allow a program to easily use special workarounds for bugs in Wine.

As we've seen, of course, it can also be used to deny Wine users the right to run their Windows programs. :/ But that's why the option to hide them exists.

That's basically it, hiding itself from Windows programs has never been in the scope of the Wine project, so I guess the idea is, providing a straightforward way to identify Wine and Wine version information is preferable to the Wine crew than devs trying to detect Wine by relying on it's behavior. Some anti-cheat and DRM software does the latter regardless though.

I still don't think SE is going out of their way to fuck over Linux users - I doubt we're even on their radar - but they're moving the Mac version to the DirectX 11 client (as the DirectX 9 client is being removed) with a new wrapper, and this is how they're detecting it.

@Sophira

This comment has been minimized.

Copy link

commented May 16, 2019

To be clear, I don't think that's what SE are doing either. (I did think that the hidewineexports trick might start to not work in 4.58, but that was only because of the potential impact to their Mac license revenue.)

SE have been very cordial regarding this, actually - the reply they gave me to my support request (see the original post in my Reddit thread) suggests that they're taking us seriously and not simply dismissing the configuration as not being supported (which they'd absolutely have the right to do), which is encouraging.

When I said "it can also be used to deny Wine users the right to run their Windows programs", I wasn't referring to Linux. I was referring to how the Mac version of the game is mostly an (old) Wine wrapper, and that the way they decided to detect Mac versions was by checking for the presence of Wine at all.

(Actually I suspect that the launcher is created by a different team, considering that it uses IsTransgaming and not get_wine_version like the game itself does. That said, I'm glad they're separate considering that IsTransgaming is currently what's letting us even use the launcher right now.)

@jbal91

This comment has been minimized.

Copy link

commented May 16, 2019

If they used get_wine_version for both it'd still be relatively easy to work around (just mod the symbol lookup out in the client) with the added bonus of working out of the box if you did, indeed, have a Mac license.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.