viper icon indicating copy to clipboard operation
viper copied to clipboard

feat: Linux launch support v2

Open 0neGal opened this issue 9 months ago • 9 comments

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

  • [x] Localizations
    • [x] German (de.json) @DxsSucuk
    • [x] French (fr.json) @Alystrasz
    • [x] Spanish (es.json) @XNovaDelta
    • [x] Chinese (zh.json) @KenMizz
  • [ ] Verify that nothing has broken on Windows
    • This PR shouldn't have affected Windows, albeit you never know, and I did make some minor changes to improve the launch.js/launch() code, however I see no actual reason that it should've broken anything
  • [ ] Multiple people verifying functionality (with NS and Vanilla separately)
    • [ ] Custom arguments still work
    • [ ] Launch methods
      • [ ] Custom command
      • [ ] Steam (Auto)
      • [ ] Steam (Flatpak)
      • [ ] Steam (Protocol)
      • [ ] Steam (Executable)

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

0neGal avatar Apr 29 '24 17:04 0neGal

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

DxsSucuk avatar May 03 '24 13:05 DxsSucuk

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...

0neGal avatar May 03 '24 15:05 0neGal

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

DxsSucuk avatar May 03 '24 15:05 DxsSucuk

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.

0neGal avatar May 03 '24 16:05 0neGal

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!

DxsSucuk avatar May 03 '24 16:05 DxsSucuk

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 ^^

GeckoEidechse avatar May 03 '24 21:05 GeckoEidechse

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.

0neGal avatar May 04 '24 14:05 0neGal

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 ^^"

GeckoEidechse avatar May 04 '24 18:05 GeckoEidechse

There are other launch methods on Linux?

There are yes, Linux has 5 options:

  • Steam (Auto)
  • Steam (Flatpak)
  • Steam (Protocol)
  • Steam (Executable)
  • Custom command

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 avatar May 04 '24 21:05 0neGal

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...

0neGal avatar May 27 '24 13:05 0neGal

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

DxsSucuk avatar May 31 '24 09:05 DxsSucuk

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

0neGal avatar Jun 15 '24 11:06 0neGal

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 avatar Jun 17 '24 07:06 DxsSucuk

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.

DxsSucuk avatar Jun 17 '24 07:06 DxsSucuk

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

0neGal avatar Jun 17 '24 12:06 0neGal

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

DxsSucuk avatar Jun 17 '24 17:06 DxsSucuk