Giter VIP home page Giter VIP logo

Comments (5)

gmjosack avatar gmjosack commented on September 9, 2024

Overlunky uses windows APIs for dll injection so it doesn't make sense to have a native linux build. We've definitely had people get it running with wine. Are you using proton or running steam via wine? I've heard of more success with the latter.

from overlunky.

Retkid avatar Retkid commented on September 9, 2024

Overlunky uses windows APIs for dll injection so it doesn't make sense to have a native linux build. We've definitely had people get it running with wine. Are you using proton or running steam via wine? I've heard of more success with the latter.

I've copied my spelunky 2 dir to a separate drive, and put it on SteamEmu. Running it separately using
wine spel 2> /dev/null &.... wine Overlunky

from overlunky.

Malabarba avatar Malabarba commented on September 9, 2024

For what it's worth (for anyone else who lands here) I managed to get this working on Steam for Linux.

The instructions on the readme didn't quite work for me, Overlunky didn't even start.
But they were on the right track, it just took... a lot more effort.

After a lot of trial and error, here's what worked:

  • Add Overlunky.exe to steam via the "Add a Game" button.
  • In the game properties, select to run it with the same compatibility tool used by Spelunky (I'm using Proton Experimental for both).
  • Run Overlunky via steam. You'll notice that this time it actually starts (you see the console with the message saying it's searching for Spel.exe process). However, even if you start Spelunky, overlunky will never find it because each game runs on a different wine server. Still, this means that Steam knows how to start Overlunky, so we just have to immitate it.
  • Using a process manager, get the PID for the process runing Overlunky.exe.
  • Extract the environment variables for the process with cat /proc/$PID/environ | tr -d '\n' | tr '\0' '\n' | grep -v 'PWD\|LD_PRELOAD' | sed 's/^/export /' | sed "s/^\([^=]*\)=\(.*\)$/\1='\2'/g" > ~/.spelunky-envvars
  • Inside the file, there'll be a lot of references to a directory like this: .steam/steam/steamapps/compatdata/9999999, where the actual number at the end will vary and represents the ID that steam assigned to Overlunky in the library. Change that number to 418530 everywhere you see it (that's Spelunky's ID).
  • Now terminate overlunky (if you still have it running via steam), we don't need it anymore.

This is the whole one-time-setup process. To actually run it, you'll have to do the following steps everytime:

  • Start Spelunky normally via Steam (for some reason, it only works if you start spelunky first, not the other way around).
  • Apply those environment variables with source ~/.spelunky-envvars.
  • And run the command from the readme (withou the envvars stuff, since we already configured every possible envvar above) python3 ~/.steam/steam/steamapps/common/Proton\ -\ Experimental/proton run ~/.steam/steam/steamapps/common/Spelunky\ 2/Overlunky/Overlunky.exe

This is what made it all work for me. Hope it helps someone else.

from overlunky.

Mizosu97 avatar Mizosu97 commented on September 9, 2024

It works if you use the latest wine staging.

from overlunky.

Dregu avatar Dregu commented on September 9, 2024

It took a while, but the injection method was changed in #283 when using the --launch_game parameter, mainly to fix a lot of linux and proton problems. Playlunky should be getting some better Overlunky support shortly. I'm interested to hear if I fixed anything, lol.

from overlunky.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.