Ephinea PSO BB natively on Android via Winlator

Makusensu

Member
Gender
Male
Guildcard
42058552
Yo,

So I wanted to sum up my experience on how to run the game on Android via Winlator. I also tried Mobox, but honestly it is much more complicated and kinda waste of time for the same end result.

I found out during my expérimentation some people were running it successfully on Samsung Galaxy phones and some Android handhelds without headache, I don't think they are on Qualcomm SOC.
By the way, someone made an automated script for the ones who would like to install and minimal setup it easily:
In my case, using an Xperia 1V with a Snapdragon 8 Gen 2, as well as another old crappy Snapdragon 695 I use for random tests purpose or spare at home.
Impossible to boot psobb process, whatever all combinations of resolution, graphics API, box86/64 settings on both phones.
Which was odd because on the Xperia the same wine container can run Yakuza 0 for instance.

The only error log obtained was:
[05-04-2024, 10:40:28] ERROR : The game has forcefully terminated itself. This can be caused by unauthorized game memory or code modification, debugger attachments, or detected cheat programs running on your machine.
CODE: 00000004
Since nothing was hooking the process, it actually turns out the problem was the versions of box86 and 64 set by default within Winlator settings itself.
Once switched more recent box68 to 0.3.5 et box64 to 0.2.7, PSO magically booted, with any graphics API. :)
Dualsense connected on Bluetooth is also working.

Here is my working settings, I think there is margin to try various ones, as well as PSO ones, to get better performance:
1714825026395.jpeg
In Wine configuration under start menu, you will need to add Ephinea dll into libraries tab as native, or else it won't be loaded into the client.
If you are on an Xperia, I recommand using Game enhencer and enable HS power control to block battery charging while playing on AC.

I would add a side note for login entry, it can be tricky to validate as the virtual enter key on the on screen RTS is sometimes not validating and you are stuck in text edit of your username or password.
At login screen don't do anything and enable RTS as well as "lock cursor" (back button, input controls). Lock cursor will disable mouse pointer control.
Enter your login and pass using native Android keyboard, but don't press the enter key on it, instead close it and use the virtual enter key of the on screen RTS.

Also, I would recommand copying your already updated client from your PC directly on your phone instead of letting it update itself as it not seems to work greatly when psobb process write files and you will end up into the loop of the login that is never saved.
 
Last edited:
Hey! Glad you got it working, and positive to hear that Samsung mobile users also have it working!

I have an issue logging in, keep getting the 916 error no matter what I try. I'm using a Samsung S23+ with the Areno 740 (Qualcomm Snapdragon 8 Gen 2 SoC).

Can you confirm if you have the Winlator setting "Stop services on startup" checked or unchecked? For me, if I uncheck it the 'Welcome to Ephinea' screen will freeze after hitting enter. If I keep it checked it will work as normal but throw up the 916 error.

To note, I can see the Ephinea Server version at the start screen, so doesn't appear to be a dll error. I've also added the Ephinea dll to run as 'native'. I managed to install and get online with Schthack PSOBB without any problems.

Unfortunately I haven't got access to another phone or tablet so can't rule out if it's an issue with my phone or not.

Thanks in advance!
 
Hi
Nope I can no longer connect unfortunatly. :(
So maybe everything I wrote is just pill of crap, sorry.

It worked once I don't know why or how but now I am getting 916 too.

This error means the login server rejected the connection request but only admin may be able to tell us why.
There must be a very specific reason as it is still detecting if you are already connected to a server on another device, so at least the communication is working.

I also set ephinea dll as native in Wine and I have the version displayed at title screen.

It is also freezing at the update screen until services is killed.
 
Last edited:
Haha well I'm kinda glad someone else is getting the same error. I must have been through every combination of settings imaginable. I've trawled through forums and the 916 error appears to be a generic code which could mean a number of issues, like AV blocking the exe, router config problems, was also told that having "stop services on startup" in Winlator checked would also cause it. If I kill services.exe or winedevice.exe (I have 2 winedevice processes running in task manager for some reason) it will unfreeze and try to connect.

But yeah I think we'd need someone from the admin team to confirm if it's an issue our end (which is more than likely).

Just to note, I've tried different versions of Winlator and different versions of Wine (up to 9.5).

Forgot to mention that in the launcher, it shows "??? Hunters Online" instead of the actual number. Would be nice to have this working on the phone but I'll just stick with the laptop for now.
 
Last edited:
Forgot to mention that in the launcher, it shows "??? Hunters Online" instead of the actual number. Would be nice to have this working on the phone but I'll just stick with the laptop for now.
You're right I had not noticed, but many things are not working in the launcher, like all the labels in options menu are missing.

What I saw is when you keep the services active, killing only winedevice.exe unfreeze the launcher when stuck at opening around 280mb~ of ram, as well as the pso patch screen.
But it is weird online.exe itself takes up to 680mb when it is barely 35 on a PC, or it is the way Wine works by loading all the .net framework into exe memory?

Tbh smells like a bug within Wine or box and nothing we can do.
 
You're right I had not noticed, but many things are not working in the launcher, like all the labels in options menu are missing.

What I saw is when you keep the services active, killing only winedevice.exe unfreeze the launcher when stuck at opening around 280mb~ of ram, as well as the pso patch screen.
But it is weird online.exe itself takes up to 680mb when it is barely 35 on a PC, or it is the way Wine works by loading all the .net framework into exe memory?

Tbh smells like a bug within Wine or box and nothing we can do.
Same happens on mine, online.exe hovers around 280mb in Task Manager, then after some time it balloons to 600mb and opens. I read it was built to run on dotnet 4.6.2. If I look in the dotnet folder in Windows, it only goes up to v4.0 but not sure if it is relevant. The info on the Wine website says:

"If you need to use Microsoft's implementation of the .NET Framework, the Microsoft runtimes can partly run on Wine."

Very limited experience of how Wine/Mono works, but feels like something isn't initialising properly. There is mention of installing Winetricks to get different versions of dotnet installed, but don't know how to do it on Winlator. Still hoping some expert will see this and point us in the right direction, although it's probably better asking these questions on the Wine/Winlator forums :)
 
Last edited:
Well the launcher is not much the problem in the end.

But I'm actually wondering if this is not a C++ framework missing/incompatibility affecting the ephinea dll which prevent the game login.
I did installed 2015, but also the latest all in one up to 2022 but it is not helping.

I doubt the dll is in C# ?
 
DLL is MSVC, not C#.

Although we only officially support Windows, I'm just wondering have you tried to update the client on a PC and then copy it over to your phone? (You mention this worked previously.)
 
DLL is MSVC, not C#.

Although we only officially support Windows, I'm just wondering have you tried to update the client on a PC and then copy it over to your phone? (You mention this worked previously.)
Yes, it worked once, with same files.

My wonder about an issue with ephinea dll is that eventually it is used by both the launcher to display the online players count and psobb, would have maybe explained why the count is not loaded.

But there are so much weird things happening or not simply following the box86 container that I don't really think it is a setup issue on the Wine side, because in the end it should how it is.

With which compiler version are you compiling the dll ?
 
I'm stuck in the same boat. Getting the no916 error when trying to log in.

Copied the entire directory over from my PC into the winlator container, same result.

I'm using an s23 as well, so wondering if it's somehow device specific, because other people seem to be able to get it to work on their Android devices:
 
I am pretty sure this is a bug with services.exe, even Internet explorer is stuck loading its startup page until you kill it, and I highly doubt it is normal, and I so probably some protocols are relying on it to work.
 
I've almost gotten this to work on my phone (Snapdragon 8 Gen 2 chipset) with Winlator 7.1

Currently, I can get as far as the connection screen in-game that displays the Ephinea welcome message (After Hitting Start Game with credentials entered), but after the game instructs you to "Press the Enter-Key", the game freezes.

Using Winlator 7.1, I've had some partial success with the following settings:

Base Container Settings:
  • Box86 version: 0.3.7
  • Box64 version: 0.2.6
  • Wine version: Wine 9.2 (custom) (the default version of wine that ships with Winlator 7.1)
  • Graphics Driver: VirGL
  • DX Wrapper: WineD3D
  • Audio Driver: PulseAudio
Win-components:
  • Direct3D: Native (Windows)
  • DirectSound: Native(Windows)
  • DirectMusic: Builtin (Wine)
  • DirectShow: Builtin (Wine)
  • DirectPLay: Builtin (Wine)
  • Visual C++ 2010:Builtin (Windows)
Advanced:
  • Box86 Preset: Compatibility
  • Box64 Preset: Compatibility
  • Startup Selection: Normal
  • Enable Experimental WoW64 mode: Disabled
Any other setting for Windows components or Graphics driver/DX wrapper causes the game to either not launch at all or crash to desktop immediately upon window creation.

The ephinea launcher also partially works, however you will get a notification to install Wine Gecko in order to display HTML elements within the launcher, but it can still change your settings like graphics API, high res hud, etc. Attempting to install wine gecko (even with the prompts) always fails when notified. It also takes a while for it to launch even when installed to local storage.

I've also tried installing other versions of Wine through Winlator 7.1 and haven't had any success (specifically 9.7, 9.11, 9.12)
 
I've almost gotten this to work on my phone (Snapdragon 8 Gen 2 chipset) with Winlator 7.1

Currently, I can get as far as the connection screen in-game that displays the Ephinea welcome message (After Hitting Start Game with credentials entered), but after the game instructs you to "Press the Enter-Key", the game freezes.

Using Winlator 7.1, I've had some partial success with the following settings:


Any other setting for Windows components or Graphics driver/DX wrapper causes the game to either not launch at all or crash to desktop immediately upon window creation.

The ephinea launcher also partially works, however you will get a notification to install Wine Gecko in order to display HTML elements within the launcher, but it can still change your settings like graphics API, high res hud, etc. Attempting to install wine gecko (even with the prompts) always fails when notified. It also takes a while for it to launch even when installed to local storage.

I've also tried installing other versions of Wine through Winlator 7.1 and haven't had any success (specifically 9.7, 9.11, 9.12)
I've been trying this out today since I finally received my new device with Snapdragon G3x Gen2.
Winlator 6.1 seems junk for PSO to work with turnip/dxvk or vk3d....but 7.1 seems promising. I'm able to launch the client successfully using dxvk and vk3d.(you need to change the graphics api in ephinea).

The problem i am having is a DLL error in the client on winlator 7.1, that did not occur on winlator 6.1 with exact same install steps. Not sure what it is just yet, going to compare dll overrides, but it could be something with the registry.
Like you i also see the Gecko install never finishing when opening the launcher. While this isn't ideal, technically we don't really need the launcher unless the game isnt updated.

Going to play more today and if i figure things out i'll update

What dll overrides did you add?
 
I've been trying this out today since I finally received my new device with Snapdragon G3x Gen2.
Winlator 6.1 seems junk for PSO to work with turnip/dxvk or vk3d....but 7.1 seems promising. I'm able to launch the client successfully using dxvk and vk3d.(you need to change the graphics api in ephinea).

The problem i am having is a DLL error in the client on winlator 7.1, that did not occur on winlator 6.1 with exact same install steps. Not sure what it is just yet, going to compare dll overrides, but it could be something with the registry.
Like you i also see the Gecko install never finishing when opening the launcher. While this isn't ideal, technically we don't really need the launcher unless the game isnt updated.

Going to play more today and if i figure things out i'll update

What dll overrides did you add?
I didn't actually attempt to set up any DLL overrides until I ran into the freezing issue i described earlier. Setting up an override for "ephinea.dll" did nothing to fix the freezing issue.

I did the following:
  1. Install Wine mono
  2. Install Wine gecko (Doesn't work. launcher still complains about it not working right. Just did it to be sure i didn't miss anything)
  3. Install "VCredist 2015-2022 x86 & x64"
  4. Install EphineaPSO via the linked "install.bat" PSO Wine github post linked earlier in the thread
  5. Ran "setup_params.bat" from the same post
  6. Replaced all files with an updated version that came from my machine (As in, deleted all the files in C:\EphineaPSO and pasted the ones from my desktop)
  7. Exported my Registry entries for PSOBB from my PC that include my account info and client settings
  8. Imported registry entries for PSOBB on Winlator (This was to bypass the inconsistent keyboard input issues for credentials)
  9. Run the Ephinea launcher, set the settings to default
  10. Within the Ephinea Launcher, Reconfigured resolution (1280x720), graphics API (DirectX9 or DirectX8 work), and fast startup
All of this gets me to the press the Enter-key and subsequent freeze

I also ran this on a Galaxy S9+ (Snapdragon 845) on Winlator 6.1, as recommended in the installation instructions. I repeated the steps I posted above but instead of freezing, I got the Error916 "Server is full" other users also received. Side note: typing an invalid username/password successfully displays an "incorrect login" error.

EDIT: I'd also like to add that I never received any DLL error during my testing.
 
I didn't actually attempt to set up any DLL overrides until I ran into the freezing issue i described earlier. Setting up an override for "ephinea.dll" did nothing to fix the freezing issue.

I did the following:
  1. Install Wine mono
  2. Install Wine gecko (Doesn't work. launcher still complains about it not working right. Just did it to be sure i didn't miss anything)
  3. Install "VCredist 2015-2022 x86 & x64"
  4. Install EphineaPSO via the linked "install.bat" PSO Wine github post linked earlier in the thread
  5. Ran "setup_params.bat" from the same post
  6. Replaced all files with an updated version that came from my machine (As in, deleted all the files in C:\EphineaPSO and pasted the ones from my desktop)
  7. Exported my Registry entries for PSOBB from my PC that include my account info and client settings
  8. Imported registry entries for PSOBB on Winlator (This was to bypass the inconsistent keyboard input issues for credentials)
  9. Run the Ephinea launcher, set the settings to default
  10. Within the Ephinea Launcher, Reconfigured resolution (1280x720), graphics API (DirectX9 or DirectX8 work), and fast startup
All of this gets me to the press the Enter-key and subsequent freeze

I also ran this on a Galaxy S9+ (Snapdragon 845) on Winlator 6.1, as recommended in the installation instructions. I repeated the steps I posted above but instead of freezing, I got the Error916 "Server is full" other users also received. Side note: typing an invalid username/password successfully displays an "incorrect login" error.

EDIT: I'd also like to add that I never received any DLL error during my testing.
Hey I figured some things out, and thanks for posting your steps!
I believe the only dll override necessary is setting d3d9 to native,builtin. Winlator does this for you automatically. The reasoning is there is a couple custom d3d9 files in the ephineapso folder, but they will call the builtin wine installed main d3d9 dlls after loading.

I'm able to launch the EphineaPSO BB client on winlator 7.1 with Turnip/DXVK and DX12 backend(enter 5 in the setup params or edit the registry manually) mode. The speeds seem good in the menu so far. experimental wow64 mode seems to need to be enabled or turnip won't launch the client. It does complain about a dll error but it may be a false flag and things still playable. Disabling wow64 will get rid of the dll error but not allow you to use turnip and be stuck on VIRGL it seems.

The server is full error on 6.1 seems to be bypassed on some SOCs by disabling the stop services at startup, but it appears some snapdragon specific reason that still doesnt work on 6.1 or 7.1 winlator.
I want to tinker around a bit, perhaps theres some specific startup service needed. Maybe a solution could be some launch wrapper script that kills certain startup process before launching game/dunno yet).

Also just in case you are not, you may only want to import the account and password entries from windows install, and not the full registry files, as it has caused issues before in the past for me.

(an aside, cool you're using the github, i made it ;) )
 
Hey I figured some things out, and thanks for posting your steps!
I believe the only dll override necessary is setting d3d9 to native,builtin. Winlator does this for you automatically. The reasoning is there is a couple custom d3d9 files in the ephineapso folder, but they will call the builtin wine installed main d3d9 dlls after loading.

I'm able to launch the EphineaPSO BB client on winlator 7.1 with Turnip/DXVK and DX12 backend(enter 5 in the setup params or edit the registry manually) mode. The speeds seem good in the menu so far. experimental wow64 mode seems to need to be enabled or turnip won't launch the client. It does complain about a dll error but it may be a false flag and things still playable. Disabling wow64 will get rid of the dll error but not allow you to use turnip and be stuck on VIRGL it seems.

The server is full error on 6.1 seems to be bypassed on some SOCs by disabling the stop services at startup, but it appears some snapdragon specific reason that still doesnt work on 6.1 or 7.1 winlator.
I want to tinker around a bit, perhaps theres some specific startup service needed. Maybe a solution could be some launch wrapper script that kills certain startup process before launching game/dunno yet).

Also just in case you are not, you may only want to import the account and password entries from windows install, and not the full registry files, as it has caused issues before in the past for me.

(an aside, cool you're using the github, i made it ;) )

For the record: I'm on a Sony Xperia 1 V 256GB (Sony XQ-DQ62). I think we have the same phone?

I've tried alternating between settings and trying out different combinations to see if I can get the game to launch with another configuration. Here's what I've tried and have learned so far with my install:

  • If Experimental WoW64 mode is enabled, any driver/dx wrapper/pso dxapi will insta-crash psobb
  • When turnip drivers are enabled, the game fails to launch (Turnip+DXVK any version, Turnip+WineD3D, Turnip+VKD3D, Turnip+WineD3D). This happens with or without WoW64 experimental enabled. This also happens when using either the DX9 or DX12 api selected in psobb
  • With my running configuration, setting services to Normal or essential will get me to "freezing" issue I described in my earlier post (pso-api=dx8/dx9/dx12), aka no effect on the freezing, but the game does launch
  • VirGL+CNC Draw also works for launching the game, but still freezes in the same spot.
  • Turnip+CNC Draw will launch the game, but still freezes in the same spot
I've also never gotten a dll error ever. The only outcomes I've ever had from all this experimentation are the freezing issue and instant crashes. but no issue regarding services. Additionally, I'm not even sure where to even configure serviceso_O

What steps did you take to make sure your game runs? When you made a fresh container, what container/winlator 7.1 settings (box86/64 versions, dxvk version, etc) did you use?

Regarding the registry bit, I made sure to only overwrite the account information. On Winlator 7.1, the game freezes while (I assume) it's attempting to authenticate. If I enter username:1 and pass:1, the game appears to freeze in the same place as if I had entered correct credentials.
 
MY device is an ayaneo Pocket S (new android game handheld). tho i have a motorola flip phone coming soon that is also snapdragon.

Steps I'm doing:
1. Make new container w/ following settings on winlator 7.1 (won't mention settings i left on default)
  1. 1600x900 res
  2. Turnip version 24.1.0(default)
  3. DXVK 2.3.1 (vkd3d seems to work too if ephinea is set to vulkan)
  4. ALSA audio (pulse seemed crackly)
  5. Offscreen mode backbuffer(seems to work on FBO with same results)
  6. 4096MB mem
  7. Win components left stock
  8. ENV variables stock, tho i played with disabling esync with no luck
  9. Drives: mounted a persistant extra PSO folder so i can use without running full setup if wanted(this is pc copy from my linux install)
  10. Box Compat/Compat. Though using 0.3.7 and 0.2.9 on settings page
  11. Experimental WOW64 on.
  12. GPU nvidia 1070 or 3070
Once in container i'll do a quick mono install, and gecko.
Then i'll run the install.bat, switch the gfx api to 5(dx12, think 4 dx11 works too). Either startup bat script or i do it manually in the registry HKEY_CURRENT_USER/Software. Been keeping on windowed mode for testing. So WINDOWED=1

Game launches fine, enter my login info, press connect.
It hangs on a black screen forever. The cause of this seems to be related to one of the WINEDEVICE.exe processes running. You can kill the process here, and the game will continue, but then we get the inevitable error 916. So seems to be related to this communication to that process.

I'm able to both launch the game in dxvk and VIRGL, but the login error is the problem here. I believe so far these devices need the WINEDEVICE process running to bypass the error 916, but leaving it running causes a hang black screen for me upon connection to ephinea.
I wrote a wrapper to pipe the stdout and stderror of PsoBB.exe to a file but its not showing anything related.

I wonder what the next move is...

Note: i stopped trying to load the launcher at all recently, It may be the case the current installer has all the updates needed, and if not i have my updated pc version too.

edit: seems the dll error is dxvk failing to respect the custom directx9 stuff in ephinea folder, so no custom resolution. gonna try to fix this in meantime

newer edit:
FIXED my stupid dll error, now DXVK on turnip working fully
use default dxvk version 1.10.3, uncheck wow64 box. install vcredists(not sure if fully necessary), revert back to 0.3.2 and 0.2.8 versions of box. Run the 3d test within container. DX backend DX11.
I am still freezing at the login section as you are. Tried a bunch of stuff that got me nowhere. Gonna think about it for a it.
Seems my settings were fine for the experimental mode mostly, but if dll error and cant change resolution....not worth it.
Works with vk3d as well with vulkan backend
 

Attachments

  • pockets.jpg
    pockets.jpg
    3.4 MB · Views: 13
Last edited:
  • Like
Reactions: Pie
A couple of updates:

I can confirm that if you can get the game to launch, killing services.exe or winedevice.exe will remedy the freezing issue on the connection screen when you encounter it, however you are then met with Error 916. This behavior is present in both Winlator 6.1 on a Snapdragon 845 as well as Winlator 7.1 on a Snapdragon 8 Gen2

As mentioned earlier in this thread, setting the Startup selection in WL7.1 to "Aggressive" (or enabling WL6.1's "Stop services on startup") will remove the need for you to kill the process while the game is running, but you will still be met with Error 916.

I also tried this on different versions of Box86/Box64 as well as different versions of Wine (9.7 and 9.12) and ended up with the same results.

I'd love to know what specifically causes error 916 (obviously the server is not full) to show up and rather than any other error.
 
A couple of updates:

I can confirm that if you can get the game to launch, killing services.exe or winedevice.exe will remedy the freezing issue on the connection screen when you encounter it, however you are then met with Error 916. This behavior is present in both Winlator 6.1 on a Snapdragon 845 as well as Winlator 7.1 on a Snapdragon 8 Gen2

As mentioned earlier in this thread, setting the Startup selection in WL7.1 to "Aggressive" (or enabling WL6.1's "Stop services on startup") will remove the need for you to kill the process while the game is running, but you will still be met with Error 916.

I also tried this on different versions of Box86/Box64 as well as different versions of Wine (9.7 and 9.12) and ended up with the same results.

I'd love to know what specifically causes error 916 (obviously the server is not full) to show up and rather than any other error.
Same results as you for the most part. I also attempted to kill and instantly restart the services.exe during the login process but no luck.
Tried a few other things such as swapping some wine flags and enabling logging/setting cpu priority in case it was somehow a cpu priority hanging or multithreading/interprocess comms issue where pso.exe needed to talk to winedevice.exe or something. No insights found really.
Also tried out using DXWRAPPER to enable hooking the directx environment and while that was fine it didnt provide any differences.

I used winlator-frost for some extra tooling too. I can only confirm so far that this issue doesnt occur on every phone processor, or on linux via WINE in any capacity i've tested.
Catch22, we need services.exe/Winedevice running for a check against for the process for login verification/validation....but it freezes. But if we don't start the process, login fails with "Generic Ephinea failure reason(claiming to be 916)".
 
Last edited:
Back
Top