Comments (5)
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.
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.
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 to418530
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.
It works if you use the latest wine staging.
from overlunky.
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)
- Game crashes during spinning animation after completing Cosmic Ocean. HOT 6
- set_pre_statemachine entity callbacks do not clear from clear_entity_callback.
- Scripts still wont load
- Entity:get_texture() crashes when called on liquid entities
- Add a callback when grid entities are updated
- How to load scripts? HOT 1
- Cannot destroy entity ID 0 with mouse_destroy input HOT 2
- Transition tiles do not connect properly HOT 2
- massive visual glitch HOT 3
- PRNG:random_chance not working as expected HOT 3
- Freeze after level transitions HOT 2
- Can't inject on Proton (7.0-4) any more HOT 2
- Overlunky WHIP and 1.27 HOT 5
- I cannot start overlunky without the game crashing HOT 2
- set_post_entity_spawn executed with wrong LuaBackend HOT 1
- Colors appear very dark on Overlunky WINE. HOT 7
- Entity clear_virtual does not work as a method HOT 3
- Entity virtual callback leaks HOT 3
- PRNG random functions use wrong index HOT 4
- Entity destructor callbacks never execute HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from overlunky.