Page 1 of 4

Linux / MacOSX - FFXI-Boot how to

Posted: Mon Mar 17, 2014 9:38 am
by foowater
A guide on playing on an FFXI private server in Linux or Mac using Wine and FFXI-Boot
Note: I have only tried this on Linux, but it should also work for OSX.

First of all, if you don't already; I recommend using PlayOnLinux (Or PlayOnMac for OSX users).

You can install multiple wine versions and create multiple wineprefixes.

My Specs:

Arch Linux x64

Xfce4 Xmonad (probably not relevant)

Radeon HD 5850 && Free software drivers

Wine: 1.3.37 (32bit)

Setup:

Install wine 1.3.37 in PlayOnLinux/Mac.
Create a new Virtual Drive and select 32bit. If you choose 64bit it won't work.
Then install FFXI with expansions on the created Virtual Drive. If the install doesn't work try using the latest wine version for installation.

Once FFXI is installed, using PlayOnLinux/Mac install the following windows packages:
(PlayOnLinux might not have every package displayed here but you can just ignore those)
(In PlayOnLinux/Mac, press Configure, select the virtual drive you created, then press the "Install components" tab)

Code: Select all

d3dx10 d3dx11_42 d3dx_11_43 d3dx9 d3dx9_26 d3dx9_28 d3dx9_31 d3dx9_35 d3dx9_36 d3dx9_39 d3dx9_42 d3dx9_43 d3dxof devenum dinput8 dirac directmusic directplay directx9 dmsynth dotnet20 ffdshow gdiplus icodecs l3codecx mfc42 quartz vcrun2005 vcrun2008 vcrun2010 vcrun6 vcrun6sp6 xact xact_jun2010 xinput xvid
I also have these configurations under the Display tab.
These setting might have to be different for you depending on your hardware.

GLSL Support: Enabled
Direct Draw Rrenderer: openGL

Next, patch your FFXI client by following the instructions here.
Use the FFXI-Boot client.
(Your wine installation is located at $HOME/.PlayOnLinux/wineprefix/[yourVirtualDriveName]/)
$HOME being your home directory.

Once you've patched and updated everything, go back to the configure screen and change the wine version to 1.3.37 if you haven't already.
You can also make a new shortcut for ffxi-boot.exe by pressing "Make a new shortcut from this virtual drive"


Once you've done all of that you should be able to get to the creation / select screen without problems. However when you try to select your character your screen will go black and the "Loading data" on the bottom right never shows up.

Download this patch: imm32.dll.so
NOTE: if you're on mac, you CAN NOT use this patch, instead you have to compile it yourself >>> link <<<

Move this file to $HOME/.PlayOnLinux/wine/linux-x86/1.3.37/lib/wine/
A file with the same name should be there already, replace it.

Once you've done this, the black screen should not occur anymore.

A few extra notes:

The game runs perfectly, so far haven't had any problems and it feels like I'm playing natively. Only problem is when I log off it crashes and I have to manually kill the process. I don't know how to fix it but in my opinion it's such a minor bug that I don't feel like spending time on it.

If your private server uses a namespace such as "servername.no-ip.org", DON'T use that in FFXI-Boot. Instead find out what the actual IP is by pinging it. e.g. open a terminal and type: ping servername.no-ip.org
If you don't do this you won't be able to query the server for things such as /sea all or access the auction house.

Ashita simply doesn't work /sadface. It has the same issue as Windower. Basically it reads memory of the running process to modify / read what's happening. We simply can't do this because wine is it's own process and it doesn't separate FFXI from Wine.

Lastly I recommend putting FFXI to fullscreen, set your resolution and in the misc tab enable hardware cursor.
Then go back to the Virtual Drive config, go to Wine tab, en press "Configure Wine". Go to graphics tab, mark Emulate a virtual Desktop, and then in Desktop size set your resolution. This way you're playing FFXI fullscreen but emulating it in windowed mode.

Finally, enjoy the game! If you have any questions feel free to ask them here.

Playing on a private server:
Image

Re: Linux / MacOSX - FFXI-Boot how to

Posted: Thu Jun 19, 2014 5:20 am
by bluekirby0
The benefit of using separate wineprefixes for individual programs is that you only need to override stuff that doesn't work for that program. You have an awful long list of packages there to run FFXI...try to trim it down as much as possible.

If it is possible to get it to run in wine without installing the directx9 package then that will always run better (wined3d can do its job better without the m$ dx9 dlls in the way). You also probably don't need the d3dx9 d3dx10 or d3dx11 packages for a dx8 game. dirac and xact are probably unnecessary too. xvid may or may not be...it installs a YV12 filter that can fix a lot of random video playback problems that are not directly related to MPEG4-ASP video...but its a bit redundant to install ffdshow and every codec in the book.

I would try with this list (devenum included because wine version is known to have a lot of problems, ffdshow because wine-gstreamer seems to still be broken, quartz because of a known problem with FFXI):
devenum ffdshow quartz

add these packages as needed only (because wine provides the functions they provide already so you should only override them if required):
gdiplus mfc42 directx9 dinput8 directmusic directplay dmsynth xinput

add these packages if you run into an actual legitimate dependency on any of them (unlikely):
dotnet20 dirac icodecs l3codecx vcrun6 vcrun6sp6 vcrun2005 vcrun2008 vcrun2010 xact xact_jun2010 xvid

Re: Linux / MacOSX - FFXI-Boot how to

Posted: Fri Nov 21, 2014 1:00 pm
by Gratis
ffxi-boot doesn't connect to new versions of the server, any other way to connect? Also is there controller support through Linux?

*Edit*
Connected. FFXI ver unknown. Quick update fixed that. Controller? Yay? Nay?

Thank you for the great walk thru!

Re: Linux / MacOSX - FFXI-Boot how to

Posted: Sun Jan 18, 2015 7:25 am
by foowater
Gratis wrote:ffxi-boot doesn't connect to new versions of the server, any other way to connect? Also is there controller support through Linux?

*Edit*
Connected. FFXI ver unknown. Quick update fixed that. Controller? Yay? Nay?

Thank you for the great walk thru!
Hey,

You posted this a while ago so I hope I can still help.

I was able to use a controller, I was using the Final Fantasy XIV controller:
http://i0.wp.com/tctechcrunch2011.files ... =680%2C680

I believe by installing xinput in wine it should be enough, you might also need some joystick drivers for linux (Which I think have different package names depending on your distribution).
Anyway I haven't played in a while but I was able to get it to work without much configuration, just installed the drivers and adjusted it in the FFXI configuration tool.

Re: Linux / MacOSX - FFXI-Boot how to

Posted: Thu Jun 04, 2015 1:50 pm
by OmegaPhil
Thankyou for this guide, this gives me hope that I can play FFXI again even when xiloader and windower both segfault under WINE. Of course, as soon as I start to get close, more segfaults:

Code: Select all

[06/04/15 19:38:11] Successfully logged in as OmegaPhil

#:warn:winsock:wsaErrno errno 115, (Operation now in progress).
err:ole:CoGetClassObject class {e5966fb3-c97b-42eb-84bf-37f95ee54a9f} not registered
err:ole:CoGetClassObject class {e5966fb3-c97b-42eb-84bf-37f95ee54a9f} not registered
warn:file:CreateFileW Unable to create file L"\\\\.\\pipe\\{E5966FB3-C97B-42EB-84BF-37F95EE54A9F}" (status c0000034)
err:ole:create_server class {e5966fb3-c97b-42eb-84bf-37f95ee54a9f} not registered
fixme:ole:CoGetClassObject CLSCTX_REMOTE_SERVER not supported
err:ole:CoGetClassObject no class object {e5966fb3-c97b-42eb-84bf-37f95ee54a9f} could be created for context 0x17
wine: Unhandled page fault on read access to 0x00000000 at address 0x40327d (thread 0009), starting debugger...
This is with WINE in Debian Testing, v1.6.2-20 - I'm currently waiting for wine-staging to be installable in Testing prior to having a go with that (Debian have broken it due to some perl package not supporting multiarch I think).


Is anyone else still able to run ffxi-boot?

Thanks

Re: Linux / MacOSX - FFXI-Boot how to

Posted: Fri Jun 05, 2015 4:17 pm
by Cloudef
You may want to use this modified xiloader instead http://cloudef.pw/armpit/xiloader.tar.xz
I can put source up too if you want.

Re: Linux / MacOSX - FFXI-Boot how to

Posted: Sun Jun 07, 2015 12:14 am
by TeoTwawki
Cloudef wrote:You may want to use this modified xiloader instead http://cloudef.pw/armpit/xiloader.tar.xz
I can put source up too if you want.
What modifications were made, specifically?

Re: Linux / MacOSX - FFXI-Boot how to

Posted: Sun Jun 07, 2015 4:35 am
by OmegaPhil
With Cloudef's xiloader (the binary at the same link has been updated since his post), wine-staging git (~v1.7.44) plus the change to imm32/imm.c mentioned here (patch from Cloudef), I can confirm that I have spent some hours on his private server testing stuff successfully :)

The large number of proposed winetricks dependencies in the original guide definitely damages stuff now - audio associated with positional effects was heavily broken (small initial fragment played and repeated without stopping), I solved it by reversing any dll overrides that sounded to be to do with sound. Cloudef reckons nowadays you don't need any winetricks stuff to get running.

Much thanks to Cloudef for making this experiment possible! 10 years later and I've been escorted to Jeuno at Level 1 by a GM on foot ;)

Re: Linux / MacOSX - FFXI-Boot how to

Posted: Mon Jun 08, 2015 3:11 pm
by Cloudef
teotwawki wrote:
Cloudef wrote:You may want to use this modified xiloader instead http://cloudef.pw/armpit/xiloader.tar.xz
I can put source up too if you want.
What modifications were made, specifically?
Replaced detours with manual function mangling to make it compile on mingw and not crash on wine. Also added some hacks like swear filter disable at startup, drawdistance, mobdistance and fps limit removal.

Re: Linux / MacOSX - FFXI-Boot how to

Posted: Thu Jun 18, 2015 2:09 am
by fencer
Can anyone help? I'm stuck at the FFXI boot part, is it the same as xiloader? if not where do I get it? Also where do I put it? in playonlineVeiwer folder? I'm using PlayOnLinux BTW. I keep getting failed to connect to server.

Thanks