StarGazer1258 / BeatDrop

The ultimate content-manager for Beat Saber. Download mods, songs, and more!
Other
327 stars 92 forks source link

Linux Support #24

Open geefr opened 5 years ago

geefr commented 5 years ago

So beat saber runs out of the box on Linux now (thanks to some proton updates from valve/etc), but the modding tools are somewhat lacking.

As beatdrop is electron based it should be portable, and with a quick tweak to package.json I've got a version that builds and runs (Still testing whether it installs mods correctly and such, expect there to be a few issues to deal with).

My question is whether you're planning to provide a Linux release officially?

If you are, I'm happy to help out If not, or it's a case of not yet I'm happy to maintain a fork for the time being

(Thanks for supporting the community and writing beatdrop <3)

StarGazer1258 commented 5 years ago

Absolutely! I've actually been looking into this myself, having done a good amount of recent development on a Linux machine. If you want to get it working on Linux yourself, go right ahead and feel free to create a PR.

geefr commented 5 years ago

Sweet, watch this space I guess.

Think there might be issues patching the game as mods download correctly but don't activate in game yet

Just getting things building is easy, just change --win to --linux in package.json and it all 'just works' :)

geefr commented 5 years ago

25 raised, happy to make things cleaner/more functional but it's just about functional for me now

StarGazer1258 commented 5 years ago

I think I’ll wait to merge until full support is there. That is, there is a way to patch the game to load mods.

Good work so far, keep it up!

Zamundaaa commented 5 years ago

Any progress on this?

geefr commented 5 years ago

@Zamundaaa I have actually made some progress on this very recently, and in theory have at least a shell script that can reliably set things up, completely untested right now however.

Assuming things work well in my tests I'll put together a test build over on my fork, and drop a link here. If you're willing to potentially hose your beat saber install then I'd appreciate feedback once it's ready.

(As always please be patient, lots of other stuff to juggle right now)

Zamundaaa commented 5 years ago

I'll be happy to test. For not destroying my Beat Saber install there's always backup :) Take all the time you need. No stress.

robobenklein commented 5 years ago

I can also help test since I've run BeatDrop successfully via proton. I'm also familiar with Electron dev and Linux packaging if more test subjects are needed.

geefr commented 5 years ago

Alright folks I've got something to share. So far it's worked on my system (Linux Mint 19.1) but as with all software there will be bugs and corner cases.

It's not integrated into BeatDrop yet but assuming the script works it shouldn't be difficult to pull things in. Right now we'd need to add another dialog/something to BeatDrop to specify which Proton installation to use as a base (See https://github.com/beat-saber-modding-group/BeatSaber-IPA-Reloaded/issues/18)

So if you want to test head on over to https://github.com/geefr/beatsaber-linux-goodies and let me know how it goes.

Zamundaaa commented 5 years ago

The BeatDrop client works wonderfully, but the script doesn't. It seems like I can't install dotnet461, and apparently any dotnet at all. I have tried renaming the .wine folder, and installing wine-staging. I have tried uninstalling the "installed" dotnet40 that doesn't even show in winetricks and I tried deleting every dotnet folder in .wine. Still no luck. It showed me a warning that I'm on a 64-bit prefix, maybe creating a 32-bit one will help. I'll try tomorrow.

geefr commented 5 years ago

Yeah I realised there's going to be some issues around there, and I was testing on a dirty wine prefix. Wanted to use steam's version of wine but couldn't exploit the runtime shipped with BS.

I'll be tracking progress on this here to keep from spamming beatdrop, winetricks being difficult is a blocker overall but not so much beatdrop's problem: https://github.com/geefr/beatsaber-linux-goodies/issues/5