New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Linux compatibility #2
Comments
Any progress on this @Bakkes ? |
Bump, Mac OS support also will be so awesome |
Since Rocket League can only be used with Proton without restrictions, you can theoretically start BakkesMod with protontricks. UsageStep 1Installs winetricks and protontricks Step 2Install Visual C++ Redistributable Packages by executing:
This installs the VCRedist Packages 2015 - 2019 Step 3 (maybe optional)This step depends on wether you use Proton 5 (or higher) or not. Setting Runtime Configuration Options for Rocket League to use D9VK.
Step 4Start Rocket League and wait till it's loadded then run BakkesMod using protontricks
Maybe use WINEFSYNC or WINEESYNC according to your configuration.
HoweverWhen I press F2 the game gets totally black and I can't use it. |
I got BakkesMod fully working after @Bakkes mentioned that Proton is using a diffrent Thanks for that by the way Additional StepAfter following my above steps, you have to set a launch option for Rocket League to use the OpenGL-based wined3d.
How to use this is described in step 3 HoweverIt's very laggy when you enable this |
Hi, I encounter same assertion failed even with the additional step. I just get a frozen screen instead of black screen. Any clue? How can I check the RL launch option is well taken into account? How can I check that it uses the right |
@BishopT |
I can confirm that, even with the additional step, I still encounter the assertion failure described in bakkesmodorg/BakkesModInjectorCpp#8 I can also say that while running on Gnome using X, and trying to run rocket league with the OpenGL-based wined3d, I don't get the very laggy behavior that @DatL4g talk about. But when using Gnome with Wayland I get the laggy behavior and I can only start rocket league with the OpenGL-based wined3d (if not the game won't start, probably related to dx11 with xwayland, haven't tried Also while using no launch option in X, after injecting the mod, the game always crash and will only work if I use Linux: 5.6.10-arch1-1 |
@BishopT I'll send my protontricks configuration later. |
My bad, I wanted to say |
@BishopT @Justkant SetupRun Installed DLLs
Installed Fonts
Linux 5.4.0-7626-generic |
I created a post on Reddit in which everything is explained again and how to work around the performance problem |
Works like a charm with GloriousEggroll's proton! And many thanks to all the people who contributed to that version :) |
Ever since EGS support was introduced, suddenly, I get this dialog on injection (for the Steam version!): Here's a version info screenshot, in case something's off there Here's the injector log, if that is of any use.
|
@kescherCode |
Didn't have this issue, i only can't use the autouploader Feature, because of a "FIX" which they released... Would be nice if they would develop against the wine sdk. |
Do you happen to know which date/release this first started not working anymore? |
@eren-kemer This should be this commit: |
Any progress @Mistra @kescherCode? I'm running into the same error and I've tried everything I can think of. I also ran into this issue on the way, though I'd be surprised if it's relevant to this one. Also I recently enabled AMD SVM, though, again, I doubt it's related. |
@kentslaney No, still no progress. None of the things you mentioned should make a difference (vcrun2015 is not an issue here, and I use an Intel CPU) |
@kescherCode Sorry, with AMD SVM I just meant that I have hardware emulation enabled, which changes how instruction addressing happens in (particularly 64 bit) virtual environments. I know Wine Is Not an Emulator and it does on the fly conversion, but I wasn't sure if it might quietly enable some optimization that BakkesMod isn't expecting. Edit: turned it off and the bug still happens |
I'd really like this to work too. I investigated this last error a bit about the injection failing because of vcredist. It looks like for some reason the injection from bakkesmod.exe always fails. I have written my own injector (by copy-pasting pieces from bakkesmod) and used that instead. I can confirm that the injection is indeed successful from wine logs. Also, starting bakkesmod.exe after this injection makes it say that everything is alright and you need to press f2. Now the issue is that I get a black screen in the game as soon as inject the dll. The game is still running, making sounds and responding to inputs, but the screen is black. Btw, I'm using the epic version of the game on Proton 5.13. You can find my dll injector here: https://gist.github.com/blastrock/6958033f03a0bdffa52c6dfa2ce0e60a in case someone wants to take this further. If someone has a hint or two to debug this blackscreen, please do tell :) |
@blastrock the blackscreen issue has always been the case, and you need to use a custom Proton version for this not to happen (proton-ge-custom, wine-tkg-git proton, ...) |
can confirm, @blastrock 's method worked for me with proton-tkg 6.5, had to update a few commands (was getting winpthread dll error, so had to add -static flag) https://gist.github.com/sadn1ck/d68cfdc28067b329bc82e7f80ab0b71e |
Thanks @kescherCode . I didn't know these forks of proton, I haven't got time to test one yet, but I will definitely do. @sadn1ck thanks for testing! So this injector does work for other people than me. Now I'm not sure what to conclude from that. I really wrote that by copy pasting code from bakkesmod, so it should do pretty much the same thing. The only difference I noticed is that bakkesmod uses a Windows path with a mix of |
@blastrock on the recommendation of @sadn1ck i have tried the same injector of yours by changing the rocket league path (i'm using the epic launcher through lutris due to steam issues) with wine-tkg, and can confirm it works. I don't believe it's a problem caused by the injector. However, I do believe you should try the staging build of wine if you're unsure about a fork. |
Ok, I just tested again with proton ge, it does work! Thanks! I also tested replacing the path with a Windows path as I said just before, but the injector still works. I can't explain why the official injector doesn't work. |
Thanks @blastrock! I got it working on Ubuntu 20.04, Proton GE 6.5 r2, command sequence looked roughly like: sudo apt install mingw-w64
mkdir -p ~/Games/bakkes
cd ~/Games/bakkes
curl -LO https://gist.githubusercontent.com/blastrock/6958033f03a0bdffa52c6dfa2ce0e60a/raw/1e9f4208eac9f8392e670f9465b3fae3b8503645/inject.cpp
curl -LO https://github.com/bakkesmodorg/BakkesModInjectorCpp/releases/download/1.9.5/BakkesModSetup.exe
curl -LO https://github.com/bakkesmodorg/BakkesModInjectorCpp/releases/download/1.9.5/BakkesModInjectorWin7.zip
unzip BakkesModInjectorWin7.zip
# run setup if not already done to create the dll
WINEESYNC=1 protontricks -c '~/.steam/steam/compatibilitytools.d/Proton-6.5-GE-2/dist/bin/wine64 /home/$USER/Games/bakkes/BakkesModSetup.exe' 252950
# update the ws variable in wmain on line 115 of inject.cpp using the output from this:
find ~/.steam/steam/ -name bakkesmod.dll
x86_64-w64-mingw32-c++ -I/usr/x86_64-w64-mingw32/include\;/usr/x86_64-w64-mingw32/lib inject.cpp -municode -std=c++17 -static-libgcc -static-libstdc++ -static -o inject.exe
# actual command
WINEESYNC=1 WINEPREFIX=/home/$USER/.steam/steam/steamapps/compatdata/252950/pfx/ WINEPATH=/usr/x86_64-w64-mingw32/include\;/usr/x86_64-w64-mingw32/lib ~/.steam/steam/compatibilitytools.d/Proton-6.5-GE-2/dist/bin/wine64 inject.exe
WINEESYNC=1 protontricks -c '~/.steam/steam/compatibilitytools.d/Proton-6.5-GE-2/dist/bin/wine64 /home/$USER/Games/bakkes/BakkesMod.exe' 252950 (This is a guide not a script, doesn't really copy/paste) |
Thanks @kentslaney . Where does the dll end up during the
but it's just exiting with no output and a return code of 0. Can't find the dll in any of these places:
Also, what path are you hard-coding in |
Thanks a lot for this, but I only got this to work up to the "select windows 10 like this:" step, as I am not sure how to find the prefix RL has assigned and setup the appropriate directories in the right places. Moreover, as I am running this on a Mac, I am not sure what command to use to launch bakkesmod with the same wine executable as RL, as I believe the one you gave is for the Unix shell. Thank you very much! |
Hi all! Sorry for the necro-post, but I just wanted to share my bakkesmod setup through steam. It requires no other programs like steamtinkerlaunch or protontricks. For most systems, the script will not even have to be changed to be used - it just needs to be added to the launch options as stated in the script.
What this script does:
I'd like to thank @kentslaney for the original script, which I modified to suit my needs! P.S. The wiki page definitely needs an update |
Thanks looks a lot more "automated" then "my" script which i showed in the bakkesmod wiki. I had to change a couple of things for me to get it running.
One Note: |
I have also got this running through bottles on the steam deck. I just installed epic games, installed rocket league, then ran the bakkesmod installer and bound one of the back pads to f2. If you add bottles to steam and then launch bakkesmod before rocket league it works like a charm. |
Thanks all for the tips! I was able to get it working with steam and Proton Experimental by slightly modifying the paths referenced above for my debian/ubuntu/pop os installation and my script looks like this: #!/usr/bin/env bash
# Set RL launch options to `"/path/to/this/script.sh" & %command%`
# Put any other launch options before `%command%` like normal
# Set Wineprefix for Rocket League
COMPATDATA="/home/shad0w/.steam/debian-installation/steamapps/compatdata/252950/pfx"
# Hardcode Proton Path
PROTON="/home/shad0w/.steam/debian-installation/steamapps/common/Proton - Experimental/files"
# Start BakkesMod when RL Starts
while ! killall -0 RocketLeague.ex 2> /dev/null; do
sleep 1
done
# Open BakkesMod with above wineprefix and proton
## IMPORTANT! MAKE SURE YOU ENABLE WINE E/F SYNC HERE, DEPENDING ON YOUR NEEDS!
WINEFSYNC=1 WINEPREFIX="$COMPATDATA" "$PROTON"/bin/wine64 "$COMPATDATA/drive_c/Program Files/BakkesMod/BakkesMod.exe" &
# Kill BakkesMod process when RL is closed
while killall -0 RocketLeague.ex 2> /dev/null; do
sleep 1
done
killall BakkesMod.exe Thanks everyone for making this easy 😃 |
Could you walk through your bottles process? I’ve been going through hell getting this to work correctly. |
|
Hi! I've written a guide on installing BakkesMod. It mainly focuses on Steam as that is what I'm using. I'm thinking about publishing it to the wiki. But before that I want to expand (or at least have someone verify that it works) on installing on other platforms (e.g. Lutris, Heroic, Bottles, ...) and catch anything misleading or incorrect advice. I would really appreciate some feedback. Thanks! |
Hello! Sorry for the necro, but i am really struggling to understand how i could possibly install Bakkes for Lutris (Epic Games Launcher). I have seen @CrumblyLiquid 's Guide and read this entire issue, but i am generally not sure where i should even begin to try installing BakkesMod (as in with Lutris or just the Terminal…). So a new and updated Guide for Lutris would be very appreciated. |
Hello @DarkCalamity !! IIRC, Lutris has options to run EXEs inside their wine prefixes. You can install bakkesmod that way. I'm also pretty sure that Lutris may have options for wrapper scripts. Check the game settings inside Lutris and update us if you find anything. |
The first section irrelevant now, as it now starts but i am keeping it because of the Protocol: @Fxzzi yes i have tried running BakkesMod on Lutris before, unfortunatley i get the Error "This Programm does not support the version of Windows your computer is running". According to the Wine-Configuration, it is on Windows 10. This is the Protocol of BakkesMod:
. Opening RL while BakkesMod is running, doesnt do anything. I am unable to open any menus or anything. Pressing Help and Check Injection will say "Rocket League is not running`" Also, the new Protocol that i got:
Summing it up: BakkesMod reinstall itself every time i open it and does nothing than waiting for an Update. It also does not see RL running nor does it see that Epic Games is on my system. It also cannot find BakkesMod.exe? |
@DarkCalamity ... The reason bakkesmod is not detecting Rocket League is because they are running on two different wine prefixes. They cannot see each other running. If you got bakkesmod working on a different wineprefix, try installing rocket league on that same prefix and try again. |
@Fxzzi It now detects RL and EPL, but i get an Error again. |
Try reinstalling bakkesmod?
|
Okay, i installed it again, because on every startup i have to install it again. This time i updated it and it successfully updated Thank you very much! Honestly this was very simple, for the amount of time i spent on this ¯_(ツ)_/¯ |
I was able to get it working with @CrumblyLiquid's guide. Thanks for it! |
I was able to get BakkesMod working on my Steam Deck. Some things to note about steam deck in particular:
|
Do this still work for you? |
Hey @JokerGermany , Everything is still working as intended for me :) |
Hmmm,
This is nearly your script:
Don't know where to search the culprit... |
Try disabling all launch options, including the script. Launch up rocket league and run the script manually from a terminal window. |
@Fxzzi Now i have to use FSync like you use. I am really sure that FSync didn't worked a year ago oO (After that i was irritated that it wasn't still working, bakkesmod and rocket league crashed, when i put it in the launch option again it worked, thanks) |
Maybe your distro upgraded to a new kernel with fsync support? |
I updated the kernel a few days ago (wanted to use 8BitDo) but it was still working right after the upgrade 🤔 |
@JokerGermany Hello, I hope you can help me. I tried your script and everything runs fine but bakkesmod does not detect rocketleague. Do you know why ? Edit: It wasn't working because of steam running with flatpak |
While I know this isn't the place for discussion per-se, I'd like to add a request to this for a formally maintained guide for running with Proton (Steam or Epic versions), as many of us are switching over to Linux full-time. |
@Fmstrat I think a good first pass for doing that would be an AUR package since it would support Steam Deck. I've been meaning to put one together myself, but I've been busy with other projects lately. |
@kentslaney I ended up making a pretty formal guide here: https://github.com/Fmstrat/linux-gaming/blob/main/rocketleague/BAKKESMOD.md |
Hi, now that steam is fully and properly supported on Linux, any plans on bringing this awesome mod on it ?? I m dying to get better at RL and I m sure your mod is the perfect tool for it
Thx in advance
The text was updated successfully, but these errors were encountered: