Sirius902 / LuaBackend

A standalone script interpreter for PC games. Compatible with LuaEngine.
GNU General Public License v3.0
40 stars 5 forks source link

Linux Support #8

Closed DuIslingr closed 1 year ago

DuIslingr commented 2 years ago

Hi I’d like to be able to use this on my steam deck for kh1 and 2 but I can’t seem to get it to work. If I rename dbghelp to dinput8 it just crashes outright but it doesn’t seem to get loaded at all as dbghelp. Is there any dependencies this would need for it to possibly work. The error it gave as dinput was generic.

Sirius902 commented 2 years ago

I think it would be great to have Linux support, but I'm not sure what would need to change for that to happen. In theory Proton or whichever translation layer you use should work with the modified DLL I think. It would be great if somebody who uses Proton could try and figure out what's wrong and make a pull request with whatever fix needs to happen.

janghel commented 1 year ago

Bad news and good news:

You cannot use the DBGHELP.dll variant of this package for Linux since Wine overrides those DLL libraries and when I tried disabling the override and using these it crashed.

But you can get it working on SteamDeck using the 1.21 version (last one using DINPUT8.dll variant). Note that you'll need to disable wines override for DINPUT8 using winecfg or the WINEDLLOVERIDES environment variable somehow.

Specific steps I did to get this to work on Steam Deck.

  1. Installed Kingdome Hearts 1.2&2.5 ReMIX through Heroic Games Launcher
  2. Download 1.21 and follow instructions (https://github.com/Sirius902/LuaBackend/blob/v1.2.1-hook/INSTALL.md)
  3. Click on game settings (gear).
  4. On the Wine tab scroll down and click on WINECFG
  5. In popup window click Libraries
  6. Then type 'dinput8' into the text box and click 'add'.
  7. That's it! Now it works.

I'm assuming dinput8 was swapped out for dbghelp to avoid possible conflicts with controller libraries? But at least in my case I didn't see any adverse affects using dinput8 on SteamDeck.

@Sirius902 - Would it be possible to build both the dinput8 and dbghelp variants to enable Linux/SteamDeck users to get advantage of newer versions of this package? Otherwise you could refer people to this comment and tell them to use 1.21 for now.

Sirius902 commented 1 year ago

Addressed by b40737205c614d496359d653c87ab5d296618536 and is now part of release v1.7.1-hook. Now you can rename the DLL to DINPUT8.dll and it'll work just like in previous releases.