IMPORTANT How to run Windia on Linux/Steam Deck

Sumi

New member
Dec 30, 2021
3
1
3
I'm aware that it runs without any workarounds - but one of the steps in the guide is crucial to enable some of the performance patches on Windia, and that is using winecfg to override the d3d8 library. I will figure out a solution for this in the future so that overriding winecfg is not necessary.
Could you provide feedback on performance after applying the winecfg edit?
I tried it a few seconds ago and seems to have improved a bit, but there's still FPS drops with NPCs dialogue.
The NPC "chat box" crash keeps happening, I'm still on the first island in the game, only happens on some areas as far i know.
 

shavit

/dev/null
Staff member
Oct 19, 2019
1,701
827
113
I tried it a few seconds ago and seems to have improved a bit, but there's still FPS drops with NPCs dialogue.
The NPC "chat box" crash keeps happening, I'm still on the first island in the game, only happens on some areas as far i know.
What's your PC specs? Distro? GPU driver?
Can you provide a video demonstrating the gameplay until the crash?
If you can provide a WINE SEH log of the crash that'd help me figure it out.
 

Sumi

New member
Dec 30, 2021
3
1
3
What's your PC specs? Distro? GPU driver?
Can you provide a video demonstrating the gameplay until the crash?
If you can provide a WINE SEH log of the crash that'd help me figure it out.
WINE SEH? I don't know where I can get that
My specs are: CPU: Intel Core i3-2100
GPU: NVIDIA GT218 [GeForce 210]
GPU Driver: Nouveau, NVA8 v: 3.3 Mesa 21.3.2 (unable to use proprietary driver)
Distro: Solus 4.3 (I doubt this is relevant because rolling release distros generally use latest staging versions).

I could record a gameplay of the crash, but now it's 1 a.m at my location.
 

shavit

/dev/null
Staff member
Oct 19, 2019
1,701
827
113
WINE SEH? I don't know where I can get that
My specs are: CPU: Intel Core i3-2100
GPU: NVIDIA GT218 [GeForce 210]
GPU Driver: Nouveau, NVA8 v: 3.3 Mesa 21.3.2 (unable to use proprietary driver)
Distro: Solus 4.3 (I doubt this is relevant because rolling release distros generally use latest staging versions).

I could record a gameplay of the crash, but now it's 1 a.m at my location.
Try editing windia.ini in the game folder. Disable vsync and limit the FPS to 100
 

Tiny

Member
Feb 26, 2022
30
7
8
Hi, I'm getting a Steam Deck and thought I'd get a head-start and get Windia working under steams proton on my local computer ahead of time.

Using the guide here and some minor fiddling on my end, I can start and play windia using wine, but when I try to set it up for steam it starts, but gives me a black screen. I don't (yet) know if it's the steam overlay (probably not, I disabled it without any change) or some proton default setting interfering (there's a lot of those) - but I thought I'd ask here while I keep going:

Has anyone gotten the game running via steam yet?

The process to get to hearing the intro music and black screen was surprisingly simply, just add the WindiaPatcher.exe as a non-steam game and then set it to use the compatibility layer in the game specific settings. The patcher shows up with the steam overlay in it, can download and install the game and when you choose to start, starts it up with a black screen.

I tried to install dotnet20sp2 and the d3d* via wine/protontricks but that didn't seems to do anything on my end.
 

Tiny

Member
Feb 26, 2022
30
7
8
Just sharing some notes:

- After you add a non-steam game, it is assigned a new steam app id, in my case the wine prefix ends up in:

# ls ~/.steam/steam/steamapps/compatdata/4223765907/pfx/

- Unfortunately, you can't use steams custom startup options for non-steam games (and this wasted a ton of my time):

While the launch parameters, found in Steam upon right-clicking a game and selecting Properties, works perfectly for Steam games, it doesn't for non-Steam games;

- The above made it less obvious how to enable debug mode, but you can work with `user_settings.py` from the proton directory to enable debug logs, and try things like disabling DXVK.

# cd ~/.steam/steam/steamapps/common/Proton\ -\ Experimental/
# cp user_settings.sample.py user_settings.py

- I get different errors with OpenGL and Vulkan respectively:

9731.879:0100:0104:err:wgl:X11DRV_WineGL_InitOpenglInfo couldn't initialize OpenGL, expect problems
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 152 (GLX)
Minor opcode of failed request: 3 (X_GLXCreateContext)
Value in failed request: 0x0
Serial number of failed request: 258
Current serial number in output stream: 259

11136.961:01b0:01bc:fixme:d3d:swapchain_blit_gdi Using GDI present.
11136.961:01b0:01bc:err:d3d:swapchain_blit_gdi Failed to get destination DC.
11136.961:01b0:01bc:err:d3d:swapchain_blit_gdi Failed to blit.
11136.961:01b0:01bc:err:d3d:swapchain_blit_gdi Failed to get destination DC.
11136.961:01b0:01bc:err:d3d:swapchain_blit_gdi Failed to blit.
(over and over again)
 

shavit

/dev/null
Staff member
Oct 19, 2019
1,701
827
113
Hi, I'm getting a Steam Deck and thought I'd get a head-start and get Windia working under steams proton on my local computer ahead of time.

Using the guide here and some minor fiddling on my end, I can start and play windia using wine, but when I try to set it up for steam it starts, but gives me a black screen. I don't (yet) know if it's the steam overlay (probably not, I disabled it without any change) or some proton default setting interfering (there's a lot of those) - but I thought I'd ask here while I keep going:

Has anyone gotten the game running via steam yet?

The process to get to hearing the intro music and black screen was surprisingly simply, just add the WindiaPatcher.exe as a non-steam game and then set it to use the compatibility layer in the game specific settings. The patcher shows up with the steam overlay in it, can download and install the game and when you choose to start, starts it up with a black screen.

I tried to install dotnet20sp2 and the d3d* via wine/protontricks but that didn't seems to do anything on my end.
I'm not sure if the game is directly possible to run through Steam as a non-Steam app, as Windia.exe and the patcher eventually just start up MapleStory.exe with specific arguments. I'll have to research on how games with launchers cause Steam to still detect the sub-process as the same game rather than a completely different process. I believe that when that happens, it might solve your issues.

I posted on a Steam Linux discussions board asking if anyone knows a solution for that issue so that I can apply it.
 

Tiny

Member
Feb 26, 2022
30
7
8
> eventually just start up MapleStory.exe with specific arguments.

Would it be sensible to then add that to steam alongside the patcher? Do you have more information on what those arguments are?
 

shavit

/dev/null
Staff member
Oct 19, 2019
1,701
827
113
> eventually just start up MapleStory.exe with specific arguments.

Would it be sensible to then add that to steam alongside the patcher? Do you have more information on what those arguments are?
Yes. MapleStory.exe with the following arguments:
Code:
GameLaunching <server_ip> 8484

The server IP will be changed in a few weeks, but at this moment it's 149.202.87.49.
 

shavit

/dev/null
Staff member
Oct 19, 2019
1,701
827
113
Update: Managed to get Windia working on the Steam Deck (kinda)! I'll update the client in the upcoming days with better support for Steam Deck and Linux/OSX as a whole.
 

shavit

/dev/null
Staff member
Oct 19, 2019
1,701
827
113
Update: Managed to get Windia working on the Steam Deck (kinda)! I'll update the client in the upcoming days with better support for Steam Deck and Linux/OSX as a whole.
It's in the client now. Make sure to patch!
I've also fixed other loading issues related to WINE installations when Lutris isn't used.

@Tiny Please let me know if you're still having issues running the game.
 

p4stry

New member
Feb 26, 2022
2
0
1
Hey, been trying to get this to work for 2 weeks now, completely stumped.

PC Info:
- Ryzen 5 3600
- XFX R9 280X; Radeon HD 7900 TAHITI (with experimental amdgpu driver working)
- Arch Linux
- awesomewm (don't think this should matter)

I have done the following things:
- Downloaded mono, wine and other required packages
- Ran the patcher
- Installed all recommended windows dlls/components, barring d3dxof
- created a custom 32 bit wineprefix (with all of the installed components earlier)
- used lutris's wine verisons 5, 5.5 and 6

The game seems to not work, the best I got was a black box that flashes the login screen towards the end when it crashes, and this is when I run the game with DVXK (I know the guide said not to, but I literally wanted to try everything).

I'm speculating that this might be a graphics issue, I've managed to get the game to work with an intel igpu in the past, but I no longer use that PC.

Here are some logs:
let me know if you need more information, I added everything I thought might be important.
I don't want to play on Maplelegends anymore :^(
 

shavit

/dev/null
Staff member
Oct 19, 2019
1,701
827
113
Hey, been trying to get this to work for 2 weeks now, completely stumped.

PC Info:
- Ryzen 5 3600
- XFX R9 280X; Radeon HD 7900 TAHITI (with experimental amdgpu driver working)
- Arch Linux
- awesomewm (don't think this should matter)

I have done the following things:
- Downloaded mono, wine and other required packages
- Ran the patcher
- Installed all recommended windows dlls/components, barring d3dxof
- created a custom 32 bit wineprefix (with all of the installed components earlier)
- used lutris's wine verisons 5, 5.5 and 6

The game seems to not work, the best I got was a black box that flashes the login screen towards the end when it crashes, and this is when I run the game with DVXK (I know the guide said not to, but I literally wanted to try everything).

I'm speculating that this might be a graphics issue, I've managed to get the game to work with an intel igpu in the past, but I no longer use that PC.

Here are some logs:
let me know if you need more information, I added everything I thought might be important.
I don't want to play on Maplelegends anymore :^(
Can you try running the client with:
Code:
WINEDEBUG=-all wine Windia.exe
 

p4stry

New member
Feb 26, 2022
2
0
1
[[email protected] Windia]$ env WINEARCH=win32 WINEPREFIX="/home/john/windiaprefix/" WINEDEBUG=-all wine Windia.exe
WARNING: radv is not a conformant Vulkan implementation, testing use only.
[[email protected] Windia]$ libGL error: MESA-LOADER: failed to open radeonsi: libicudata.so.70: failed to map segment from shared object (search paths /usr/lib32/dri, suffix _dri)
libGL error: failed to load driver: radeonsi
libGL error: MESA-LOADER: failed to open radeonsi: libicudata.so.70: failed to map segment from shared object (search paths /usr/lib32/dri, suffix _dri)
libGL error: failed to load driver: radeonsi
libGL error: MESA-LOADER: failed to open swrast: libicudata.so.70: failed to map segment from shared object (search paths /usr/lib32/dri, suffix _dri)
libGL error: failed to load driver: swrast

Same results if I do not try using the wineprefix (i.e. just running WINEDEBUG=-all wine Windia.exe)

If you want I could record a video of myself repeating all of the installation steps from the start, but you'll probably have to wait a few days
 

Tiny

Member
Feb 26, 2022
30
7
8
It's in the client now. Make sure to patch!
I've also fixed other loading issues related to WINE installations when Lutris isn't used.

@Tiny Please let me know if you're still having issues running the game.
I'm happy to say that it works, and steam overlay shows up in-game so I can use my gamepads. Awesome.

Just to be sure, I removed the game from steam, then re-added it by pointing to the Windia.exe file, set it to use steam experimental, then set "PROTON_USE_WINED3D=1 %command%" in the launch options (the bug that it didn't listen to launch options seems to be fixed now).

No need to use winetricks, install mono or other deps manually. I will retry this on a different PC where I haven't messed around a lot as well, and see if it's equally easy to get it working via steam as a non-steam app there.
 
  • Like
Reactions: shavit

Tiny

Member
Feb 26, 2022
30
7
8
I'm happy to say that it works, and steam overlay shows up in-game so I can use my gamepads. Awesome.

Just to be sure, I removed the game from steam, then re-added it by pointing to the Windia.exe file, set it to use steam experimental, then set "PROTON_USE_WINED3D=1 %command%" in the launch options (the bug that it didn't listen to launch options seems to be fixed now).

No need to use winetricks, install mono or other deps manually. I will retry this on a different PC where I haven't messed around a lot as well, and see if it's equally easy to get it working via steam as a non-steam app there.
I tried this on a separate computer. The launch options didn't take on regular steam, nor on the steam beta, and I had to go to the proton config files and force it globally. After that, it worked just fine, so once steam updates to fix the launch options it'll be really easy to get this setup on new machines.

Alternatively, if we can figure out why it doesn't work with DXVK, it could become even easier. Anyway, thank you for all the work, I'll be happily ~~mapling~~ Windiaing once I get my steam deck :)
 

shavit

/dev/null
Staff member
Oct 19, 2019
1,701
827
113
I tried this on a separate computer. The launch options didn't take on regular steam, nor on the steam beta, and I had to go to the proton config files and force it globally. After that, it worked just fine, so once steam updates to fix the launch options it'll be really easy to get this setup on new machines.

Alternatively, if we can figure out why it doesn't work with DXVK, it could become even easier. Anyway, thank you for all the work, I'll be happily ~~mapling~~ Windiaing once I get my steam deck :)
DXVK won't work because MapleStory clients prior to v92 (Windia is based on v84) use DirectX 8. I do some hacky black magic behind the scenes to make the game use DirectX 9 instead - it allows the game to run much more efficiently, use features like vertical sync, integrate with external overlays (such as the Steam overlay, as well as pretty much any overlay on Windows). There's a good chance you'll face incompatibilities because of the DX9 conversion that happens behind the scenes. If you figure out a solution that'd be cool but you shouldn't have your hopes up!
I don't have a Linux machine at the moment. Not really in the mood to dual-boot to Linux and I just use it in a VM without GPU passthrough, so I can't really get Vulkan working on my Linux VMs easily.

Edit: DXVK will work now.
 
Last edited:

Tiny

Member
Feb 26, 2022
30
7
8
DXVK won't work because MapleStory clients prior to v92 (Windia is based on v84) use DirectX 8. I do some hacky black magic behind the scenes to make the game use DirectX 9 instead - it allows the game to run much more efficiently, use features like vertical sync, integrate with external overlays (such as the Steam overlay, as well as pretty much any overlay on Windows). There's a good chance you'll face incompatibilities because of the DX9 conversion that happens behind the scenes. If you figure out a solution that'd be cool but you shouldn't have your hopes up!
I don't have a Linux machine at the moment. Not really in the mood to dual-boot to Linux and I just use it in a VM without GPU passthrough, so I can't really get Vulkan working on my Linux VMs easily.
I see. I might tinker around with this at some point, but for now I'm just happy it's working and setting up is relatively easy. :)
 
  • Like
Reactions: p4stry and shavit

hazzytje

New member
Apr 24, 2022
8
1
3
Got it to launch on my Steam Deck, so thanks for putting in the work for compatability!
For other steam deck owners: I seem to require to put it on compatability 'Proton 7.0-2' manually. When I didn't it just started and closed without much information.