0neGal / viper

Launcher+Updater for TF|2 Northstar
https://0negal.github.io/viper
GNU General Public License v3.0
151 stars 21 forks source link

feat: Linux launch support v2 #229

Closed 0neGal closed 2 months ago

0neGal commented 3 months ago

This supersedes #116 and still closes #38

The intention is to finally add support for launching the game on Linux, supporting both regular Steam, Flatpak Steam, the Steam Browser Protocol, and alternatively a user set custom launch command.

From my testing everything works as intended, and there doesn't seem to any issues, however, I could of course have easily missed something!

TODO

LOCALIZATIONS

Since the last time that localizations have been needed there has been some changes to the way things are done, instead of having to fork or open a PR and manually editing the language files, we now have a script for it scripts/langs.js, and you can simply run npm run langs:localize and it'll open a TUI where you can navigate between which languages to edit, and it'll prompt for the various missing strings. And then simply make a PR with the changes one way or another.

Feel free to ask questions about this process, or give feedback, as it's yet to actually be tested, I just personally have assumed that the old way was annoying for everyone :p

TESTING BUILDS

When signed in on GitHub you'll be able to get the builds for this PR here: Windows and Linux

DxsSucuk commented 3 months ago

I could do the functionality test on Windows if there is any prebuilt binaries provided

0neGal commented 3 months ago

I could do the functionality test on Windows if there is any prebuilt binaries provided

Lovely, they're linked at the bottom of the initial comment :)

Also talked to Gecko who said he'd get around to do some testing whenever possible, which is great since he has a SteamDeck to test on...

DxsSucuk commented 3 months ago

Good to hear! I can ask a mate of mine aswell if he liked to test it on his streamdeck.

0neGal commented 3 months ago

I can ask a mate of mine aswell if he liked to test it on his streamdeck.

Wont say no to more testing, assuming you meant SteamDeck and not Stream Deck :p

Though, assuming they've any intention of using it beyond just testing, it would be a good idea to inform them that it's a testing build, and it wont auto update and what not.

DxsSucuk commented 3 months ago

My apologize, I did mean SteamDeck and not Stream. I just asked my friend and did tell him its a test build, haven't gotten a response yet so!

GeckoEidechse commented 3 months ago

From the SteamDeck side of things, it did pick the launch arg up correctly and Steam popped up asking if I would like to launch with the passed args.

What did end up launching was Titanfall2 without Northstar stuff but I think the reason is it not using a Proton that allows Northstar to intercept the launch args.

So might be worth checking installed/in-use Proton version but apart from that it worked as expected ^^

0neGal commented 3 months ago

Lovely, was that just checking the default Steam launch method? Or did you also check all the other ones? And confirm which are working, and which, if any aren't.

GeckoEidechse commented 3 months ago

Lovely, was that just checking the default Steam launch method? Or did you also check all the other ones? And confirm which are working, and which, if any aren't.

There are other launch methods on Linux? I just opened the AppImage from the CI on my SteamDeck and hit Play. Didn't test Windows ^^"

0neGal commented 3 months ago

There are other launch methods on Linux?

There are yes, Linux has 5 options:

Flatpak attempts to talk to Steam through Flatpak, Protocol will attempt to do it through the Steam Browser Protocol, Executable attempts to do it with a normal executable present inside $PATH, Auto attempts to do executable if found, otherwise if the Flatpak is found it'll use that, and at last it'll fall back to the protocol.

Custom command should be mostly self explanatory

0neGal commented 2 months ago

I managed to get the time to get some spare, albeit bad drives out to format and install Linux onto, to test and verify that its not just my current setup that works, and it did seem like everything worked fine, took a while tho, due my current situation with my internet, hence why I'd been hoping for someone else to have the ability to test it.

Either way, I'd still prefer if someone else also had the ability to confirm functionality of all the launch methods on Linux, but if @DxsSucuk (or someone else) is able to confirm nothing is broken on Windows, launching vanilla and with Northstar, then I think it'd be best to simply merge and make a release, and then subsequently fix any issues, if they arise...

DxsSucuk commented 2 months ago

My apologies, I completely forgot to test it on my PC, I will try to test it once I am home again!

0neGal commented 2 months ago

Could I ask for an ETA on this btw? .w.

DxsSucuk commented 2 months ago

I got lost on my way home. But I am now installing Titanfall 2 and Viper again. I am currently not home but have access to a Windows VM so, I will testing it out now.

DxsSucuk commented 2 months ago

My Remote Tool doesnt have enough permission to install it, that sucks. But when I am home I shouldn't forget it because there will be a gigantic monitor with a big request for admin perms. So I should be able to test everything in about 10h. Sorry again for the delay.

0neGal commented 2 months ago

Don't worry, that's totally fine! Just hadn't heard from you for a while is all! :3

DxsSucuk commented 2 months ago

Got home and tested it! Launching normal Titanfall 2 works, it openes steam to allow custom launch arguments. And updating + launching Northstar also worked!