Welcome, Guest. Please login or register.
Did you miss your activation email?
August 13, 2020, 01:06:23 am

Login with username, password and session length
Search:     Advanced search
Savage: XR is a new patch for Savage, created by the Newerth.com staff. The XR1.1 Client is out now! Download it now!
190016 Posts in 11005 Topics by 18524 Members
Latest Member: h1ppy
* Home Forum Wiki Help Search Login Register
+  Newerth Forums
|-+  Savage XR
| |-+  General Savage XR Discussion
| | |-+  Linux Snap of Savage XR
0 Members and 1 Guest are viewing this topic. « previous next »
Pages: [1] 2 Go Down Print
Author Topic: Linux Snap of Savage XR  (Read 4127 times)
C.I.A.
XR Contributor
Jr. Member
****
Posts: 70


View Profile
« on: September 18, 2018, 11:06:12 pm »

To install an Snap version of Savage XR visit the Snapcraft.io store found here:
  * https://snapcraft.io/savagexr-seaeyeaya

Or install from the command prompt with:
  * snap find savagexr
  * sudo snap install savagexr-seaeyeaya

On first run the installer is downloaded and run, please choose the default values.

You will be asked to create an account but you can leave the details empty, register an account if you want your game statistics to be recorded for you (wins/looses weapon accuracy etc).

Requirements:
  * You must have SnapD installed in order to install Snaps (comes enabled by default on Ubuntu)
  * SystemD (a requirement of Snap, not all distros use SystemD)
  * Hardware accelerated OpenGL 2 or better.
  * ~1GB of hard drive space.

Download in total is about 1GB.




The above was inserted to make this post easier to follow, below is the original message.

Before you get excited the this Snap is currently broken.

[edit]For a working Wine Snap see next post Smiley[/edit]

Spent the last week or so trying to get the Linux client of Savage XR running under a Snap, which is yet another application bundle (like Flatpak) which has been created by Ubuntu and will run on most distro (although not all it should be noted as it has a strong dependency on SystemD so wont work on those distros which don't use it).

Its "app store" can be located here:
  * https://snapcraft.io/

Why Snap when you have Flatpak?

The Snapcraft Store is enabled by default in Ubuntu so its a potential source of players being a "One Click" install straight out of the box. Ubuntu still being the most popular desktop distro variant (yes technically that is Debian seeing as Ubuntu is derived) it seems silly to ignore it.

Technically Snaps are basically the same as a Flatpak, they bundle up the dependencies with the application. Under the hood things are a bit different, Flatpaks build their dependencies from source, Snapcraft is able to use a package manager and even .deb files (Debian packages/apps) so its a little easier there, also the config is a .yaml file so its easier to read and less error prone that a JSON file (note Flatpak can use YAML too). The file layout seems Debian/Ubuntu based.

Still a pain to constantly rebuild though..

No idea how Snap handles nVidia drivers, haven't tried running it on their GFX cards yet, only a crusty old intel job.

What works:
  * Downloading the installer.
  * Run the installer.
  * Savage XR.

What doesn't:
  * The AutoUpdater crashes out with a seg fault.
  * Audio (didn't investigate yet).
  * Python 2.7 was difficult to get working and support seems spotty, some in-game scripts are throwing errors.

So you end up with a situation where you can't update Savage XR, which wont work correctly (can't login to servers) because its out of date.

If you replace the installed version of Savage with the latest updated version Savage XR is actually playable Smiley

So really we need to find out why the AutoUpdater is seg faulting....

I suspect a missing dependency or missing config from the snapcraft.yaml file, yet I can't spot it. :/ So lend me your eyeballs!

Hopefully someone can drop a debug version of Savage or the AutoUpdater in and actually get a meaningful error message out so we can find out what the problem is.

Although I'm sure that it would only take ~hundred lines of bash to crudely re-create the AutoUpdater, I've held off because it works in Flatpak and has NEVER given me trouble before the entire time I've played Savage.


Anyway the Snapcraft branch is on GitLab here:
  * https://gitlab.com/sea-eye-aya/unofficial-savage-xr-flatpak/tree/snapcraft


If I can't get the Linux client working under a Snap I'll have a go at running the Windows Client through WINE in a Snap, other people have already got WINE working (all the more infuriating the Linux client gets stuck!). I'm sure I got Savage XR running once under WINE years ago.

Players are Players and we could always do with more!


* Screenshot of snapcraft-io-savagexr-seaeyeaya.png (461.91 KB, 897x1023 - viewed 146 times.)
« Last Edit: October 05, 2018, 04:24:58 pm by C.I.A. » Logged
C.I.A.
XR Contributor
Jr. Member
****
Posts: 70


View Profile
« Reply #1 on: September 25, 2018, 09:23:01 pm »

Spent about 5 minutes modifying an existing Snap that runs the Windows Steam client into running Windows Savage XR and within 15 minutes of building and installing it worked!!!

The Steam for Windows Snap was written by Martin Wimpress, I just modified the sommelier script a bit, so he deservers all the credit for his hard work (loads of environmental variables voodoo going on!):
  * https://github.com/snapcrafters/steamforwindows

Then spent a long time tidying it up, add a checksum for the installer, added a few notifications, hints and put it through some testing. Seemed ok so I've pushed it onto http://snapcraft.io as an Edge version (so its not in the store yet). But you can install if your brave enough.

The naming convention is rather crappy, your supposed to add your user name to the package name, so savagexr becomes savagexr-seaeyeaya :/

Check that the package is available with:
  * snap find savagexr

Install with:
  * sudo snap install --edge savagexr-seaeyeaya

To remove with:
  * sudo snap remove savagexr-seaeyeaya

You can either run it from the command prompt with:
  * savagexr-seaeyeaya

Or from the Application->Games->Savage XR menu item.

Upon first run it will download the Savage XR installer, setup WINE and run the installer.

Choose the default install options.

Play Savage XR

Enjoy Smiley

This uses the official Wine Staging 3.16 (from winehq.org) which has CSMT (Command Stream Multi-Threading for better graphic performance - it off loads openGL commands to a separate thread) enabled by default. And I turned WINEDEBUG off. So this should stutter less than plain Wine 3.16, but I have not run any tests/benchmarks so that maybe purely subjective opinion (of course it is!).

Typically I've found Wine Staging to be more responsive, not so sure about faster than plain Wine. (The real way to get speed out of Wine is to compile it yourself with -march=native and -O3, but that takes a hour or so on my system).
  * https://wiki.winehq.org/Performance

Also different versions of Wine maybe faster (seem to remember a 2.1x was much faster than the others but produced lots of console errors). Haven't tried testing different versions (little point without a benchmark setup).

I've only tried it on a couple of PCs so far (64-Bit Ubuntu 16.04.5 & 18.04.1) and its worked fine so far, haven't had a chance with nVidia cards yet (none of those systems have SystemD).

Tried it and working on:
  * Intel GM45
  * Radeon R300
  * nVidia G84M (GeForce 8600M GT) with nvidia-340 drivers and also the open source Nouveau driver.


No idea if the fps are as good as a native install, or how they compare to windows, but they seemed ok (no weird pauses etc). Perhaps someone with a dual boot windows system can let us all know.

The only things I've noticed is that the it takes longer on the "initializing" screen during loading and that the intro video always plays, not sure if these are Windows Savage differences.

I've uploaded the branch to GitLab here, if you'd rather build from source:
  * https://gitlab.com/sea-eye-aya/unofficial-savage-xr-flatpak/tree/snapcraft-wine
« Last Edit: September 26, 2018, 05:36:06 pm by C.I.A. » Logged
C.I.A.
XR Contributor
Jr. Member
****
Posts: 70


View Profile
« Reply #2 on: September 25, 2018, 09:32:21 pm »

If you didn't figure it out, that should be double dash:
  * sudo snap install --edge savagexr-seaeyeaya

(Currently can't edit posts).
« Last Edit: September 26, 2018, 03:29:32 pm by C.I.A. » Logged
Daemon
XR Main Developer
Legendary Member
****
Posts: 4820


beware, for this is the everbroken...


View Profile
« Reply #3 on: September 26, 2018, 05:42:11 am »

(Currently can't edit posts).
You should be able to.
Logged

Groentjuh
Newerth Serveradmin, German Mirror and Webdeveloper
Administrator
Super Hero Member
*****
Posts: 1376


View Profile WWW
« Reply #4 on: September 26, 2018, 09:26:39 am »

Quote
8192: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead
File: /home/newerth/public_html/smf/Sources/Subs-Post.php
Line: 317

Nope, nobody can edit posts. There's more PHP+SMF bugs to fight.
Logged


Before adding any of my IMs, ask yourself: Can I ask it in a PM?
Before sending me a PM with questions, Search the forums!
Wanna be ref? Post on my Server Forum
Django
Administrator
Legendary Member
*****
Posts: 2559



View Profile
« Reply #5 on: September 26, 2018, 10:09:05 am »

Quote
8192: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead
File: /home/newerth/public_html/smf/Sources/Subs-Post.php
Line: 317

Nope, nobody can edit posts. There's more PHP+SMF bugs to fight.

Should be fixed now I hope.
Logged
Groentjuh
Newerth Serveradmin, German Mirror and Webdeveloper
Administrator
Super Hero Member
*****
Posts: 1376


View Profile WWW
« Reply #6 on: September 26, 2018, 10:13:56 am »

Edit works. The plugin still broke search
Logged


Before adding any of my IMs, ask yourself: Can I ask it in a PM?
Before sending me a PM with questions, Search the forums!
Wanna be ref? Post on my Server Forum
C.I.A.
XR Contributor
Jr. Member
****
Posts: 70


View Profile
« Reply #7 on: September 26, 2018, 05:28:00 pm »

After swapping a few hard-drives around I got the chance to test the Snap/Wine version on a nVidia card and it worked first time, no fuss.

And tried out 2 different drivers.

nVidia - the X.Org Nouveau driver worked fine (module version 1.0.15, Nouveau driver date: fri apr 24 2017, Ubuntu 16.04.5 64-bit) on a NVIDIA G84M (GeForce 8600M GT). This is the open source driver which does not support all nVidia card because nVidia wont release the technical docs needed or help with the Nouveau project. It is also the default driver most distros will enable if a supported nVidia card is found.

Proprietary driver nvidia-340.107 (which is the "latest" on Ubunutu 16.04.5) installed and worked fine too.
Logged
C.I.A.
XR Contributor
Jr. Member
****
Posts: 70


View Profile
« Reply #8 on: October 05, 2018, 04:10:23 pm »

Corrected a couple of typos and pushed to "stable" release channel on Snapcraft.io.

So we now have a release page Smiley found here:
  * https://snapcraft.io/savagexr-seaeyeaya

(Hmm not sure how to insert an image of the page in a post, so have attached it.)


You can install directly from the website or from the command line with:
  * snap find savagexr
  * sudo snap install savagexr-seaeyeaya


I shall modify the first post to reflect these changes (you can't insert posts can you?)








* Screenshot of snapcraft-io-savagexr-seaeyeaya.png (461.91 KB, 897x1023 - viewed 138 times.)
Logged
drk
Community Serveradmin
XR Coder
Hero Member
***
Posts: 550



View Profile
« Reply #9 on: October 05, 2018, 11:39:28 pm »

 Afro
Logged

Daemon
XR Main Developer
Legendary Member
****
Posts: 4820


beware, for this is the everbroken...


View Profile
« Reply #10 on: October 06, 2018, 08:25:06 am »

So should we modify the front page linux download link to point to one of these new install alternatives instead?
Logged

C.I.A.
XR Contributor
Jr. Member
****
Posts: 70


View Profile
« Reply #11 on: October 06, 2018, 02:59:48 pm »

I think there is another level/stage of software acceptance to the Snapcraft.io Store.

If you compare Savage XR to the open source game Xonotic (a team frag based game, capture the flag etc) you'll see that it available in the Game category listing:
  * https://snapcraft.io/search?category=games

Where as Savage XR does not, you have to search for it explicitly (and interestingly its only found if you search ALL Snaps, if you choose category Game then search for Savage it is not found. However I did add it to the Game category  - perhaps I should double check this.).

Clicking through some of the links on Xonotic Snap page it looks like its being auto built on GitHub in a group of apps called Snapcrafters:
  * https://snapcraft.io/xonotic
  * https://github.com/snapcrafters/xonotic
  * https://github.com/snapcrafters

These Snapcrafter apps also have a different application name, in that there is no dumb user name attached to the end, its not:
  * xonotic-flexiondotorg
but the far more desirable:
  * xonotic

I shall make the effort to find out what we gotta do to get into that sacred list.

Adding a link for Snap/Ubuntu users to point the Snapcraft.io page sounds like a good idea and certainly would make it easier for those users.

Also I tried to find out what licence Savage XR is under, but have not found anything so I left that field empty (there were hundreds of licences in the drop down and I didn't want to choose the wrong one).

p.s.
Xonotics is a good comparison to see how they promote their game, I expect most of the people who play Savage have also played Xonotics at some point. They are in all the linux app stores (flathub & snapcraft.io and more).
Logged
APirateHat
XR Advertiser
Sr. Member
****
Posts: 403



View Profile
« Reply #12 on: October 06, 2018, 07:24:45 pm »

Great! I'll try it out on my Mint laptop one of these days...

Anyway, I'm not too fond of the description you have set. There's too much stuff written inside of brackets. I'd much prefer the one on the savagexr.com website:

Quote
Savage XR, the successor of the 2003 award winning PC game Savage: The Battle for Newerth, takes the best of the Real-time Strategy, First-person Shooter and Third-person Action genres and blends it into a cohesive, complex and addicting experience. Aim of the game is to destroy the enemy base. Savage XR is entirely free and non-profit!

Or/And

Quote
Savage XR is a unique RTS/FPS hybrid game available as Freeware for Windows, Linux and Mac, that can be played either online, on LAN or offline against bots (without commander). Each match of Savage XR takes place on one of over 2000 available maps. A single match has two or more teams, which can be either human or beasts. The goal of the game is to destroy the primary enemy structure - the "Stronghold" for the human race, or the "Lair" for the beast race. Each team has one commander, who plays the game like an RTS, and additional players, who play the game like an FPS (but with a third-person mode for melee). A game can take between 2 and 45 minutes. With each new match all previous progress gets reset.
Logged

C.I.A.
XR Contributor
Jr. Member
****
Posts: 70


View Profile
« Reply #13 on: October 06, 2018, 07:50:15 pm »

Ok A Pirate Hat I've updated the description match yours:
  * https://snapcraft.io/savagexr-seaeyeaya
Logged
C.I.A.
XR Contributor
Jr. Member
****
Posts: 70


View Profile
« Reply #14 on: October 08, 2018, 04:41:50 pm »

Think I've found how to get Savage XR into the Snapcrafters section, first fork a Snapcrafter branch (which contains instructions to follow) :
  * https://github.com/snapcrafters/fork-and-rename-me

Then join the Snapcrafters forum:
  * https://forum.snapcraft.io/t/join-snapcrafters/1325

Ask for testing on their forum, then finally ask the Snap Advocacy team to add it once tested.

This should mean that it gets listed in the Games section of Snapcraft.io and that its the short application name (SavageXR).

So do you guys want me to try getting it through these (many) steps??
« Last Edit: October 09, 2018, 04:40:32 pm by C.I.A. » Logged
Pages: [1] 2 Go Up Print 
« previous next »
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2007, Simple Machines Valid XHTML 1.0! Valid CSS!
Page created in 0.032 seconds with 20 queries.