Oolite Bulletins

For information and discussion about Oolite.
It is currently Thu Nov 15, 2018 8:41 am

All times are UTC




Post new topic  Reply to topic  [ 7 posts ] 
Author Message
PostPosted: Tue Jun 19, 2018 8:11 am 
Offline
Average
Average

Joined: Fri Jun 15, 2018 7:50 pm
Posts: 8
Hi Oolite universe,

I recently started exploring immutable operating systems (like Project Atomic) and flatpak as a distribution method. I thought, it would be nice to also play Oolite on Atomic Workstation, so I started investigation ways to package oolite as a flatpak. Since some people asked for a flatpak'ed version of Oolite on github and in the forum, I am happy to share the results of what I have done lately.

Of course, I am still in the early stages, so nothing is as polished as you would expect it to be, yet. I am going to use this thread to report the state and progress of my efforts. You can help by testing the flatpak'ed version and report issues as answer to this post or using the issue tracker on gitlab. Of course, other contributions are welcome, too.

Current state and roadmap

Packaging and distribution
  • [X] Build a flatpak of Oolite x86_64
  • [X] Automate build of the flatpak'ed version
  • [X] Create a repository for the flatpak
  • [X] Host the repository somwhere, until the long term strategy has been determined
  • [X] GPG-sign the repository
  • [X] Add nightlies to the flatpak repo
  • [ ] Add x86 version to the flatpak repo
Polishing
  • [X] Add appdata
  • [X] Add icon
  • [X] Add desktop file
  • [X] Add screenshots
  • [ ] Determine further requirements of flathub to get oolite in their repo
Tested on
  • [X] Fedora Atomic Workstation
  • [ ] EndlessOS
  • [X] Fedora 27
  • [ ] Fedora 26/28
  • [ ] Ubuntu
  • [ ] Debian

Known issues

Can't find libGLU.so.1
There seems to be an issue with the org.freedesktop.Platform package. It's under investigation.
Update: this issue has been resolved, please use the latest version

How to use / test

Update Jul-09-2018: Using the flatpakref
This is the easiest variant. To install, just use the following command in a terminal:
flatpak install https://pritter.fedorapeople.org/org.oolite.Oolite.flatpakref

Update Jul-23-2018:
The nightly version can be installed via flatpak install https://pritter.fedorapeople.org/org.oolite.OoliteNightly.flatpakref

You can then start the game via the launcher in your application menu. Alternatively, you can use this command: flatpak run org.oolite.Oolite//master or flatpak run org.oolite.Oolite//nightly

Update Jul-09-2018: Using the repo
The Oolite Flatpak is now available in a repo.
You have to add the flathub repo first. Please refer to their docs on how to do that.

You can then add the repo and install oolite with the following commands:
flatpak remote-add --if-not-exists pritter https://pritter.fedorapeople.org/.flatpakrepo
flatpak install pritter org.oolite.Oolite//master or flatpak install pritter org.oolite.Oolite//nightly

To start, use the launcher or the command mentioned in the last paragraph.

Manual Installation
Update Jul-09-2018: If you want to use the latest builds, you have to manually install the releases from gitlab. The flatpak file for the stable version can be found here. The nightly build is here

You have to add the flathub repo first. Please refer to their docs on how to do that. You will also need the org.freedesktop.Platform flatpak from flathub (flatpak install flathub org.freedesktop.Platform).

Note: add --user to flatpak install for a per user installation

To install: flatpak install oolite.flatpak or flatpak install oolite-nightly.flatpak
To run: flatpak run org.oolite.Oolite or flatpak run org.oolite.OoliteNightly
To uninstall: flatpak uninstall org.oolite.Oolite or flatpak uninstall org.oolite.OoliteNightly

If you are adventurous, you can download the repo directory in the linked Results of the automated build process below. The steps to install and run are

flatpak remote-add --no-gpg-verify oolite-repo repo
flatpak install oolite-repo org.oolite.Oolite or flatpak install oolite-repo org.oolite.OoliteNightly
flatpak run org.oolite.Oolite or flatpak run org.oolite.OoliteNightly


Links and references

Blog post explaining motivation and technical details
Gitlab repository (issue tracker, code contributions)
Results of the automated build process (stable)
Results of the automated build process (nightly)


Last edited by pritter on Mon Jul 23, 2018 7:22 pm, edited 4 times in total.

Top
   
PostPosted: Thu Jul 05, 2018 10:51 am 
Offline
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
User avatar

Joined: Tue Apr 01, 2008 12:55 pm
Posts: 921
Location: A small ice asteroid, orbiting Oresrati in Galaxy 8 (a.k.a. northwest Armorica).
Hi pritter!

Let's make sure that the flatpak release is as polished as possible and thoroughly tested before discussing to go public on flathub.
Furthermore, I would like to consult with the Oolite Elders on probable aspects of this perspective that, perhaps, we miss to consider.

On the "Testing" front, I just got my hands on a misplaced storage having my various Linux distros VM's.
I am about to start testing. I expect to have some feedback in a couple of days.

_________________
Xubuntu 14.04LTS / Windows 7 Home Premium
Intel Core 2 Quad Q9450 2.66GHz - 6GB DDR2 - Palit GeForce GTX 750 Ti StormX Dual (2048MB DDR5)
"Any sufficiently advanced information is indistinguishable from noise." [Newman, Lachmann, Moore]


Top
   
PostPosted: Thu Jul 05, 2018 8:07 pm 
Offline
Average
Average

Joined: Fri Jun 15, 2018 7:50 pm
Posts: 8
Sorry if I caused some misunderstanding. The requirement to meet flathubs standards is more like a quality assurance goal than an actual plan to submit Oolite to flathub. The major requirement would be to have a clean, self contained build wihout some of the hacks currently needed to make it work. That would clearly be benefitial for any form of distribution, not only for flathub.

That said, I would not submit Oolite for inclusion in the flathub repo without your consent. I regard that as an longterm goal. The next step for me would be to create a repo on a webspace for further testing. Maybe there will be an official repo on oolite.org next, maybe it's going to be flathub. I think, that will be discussed, when everything is working fine.


Top
   
PostPosted: Fri Jul 06, 2018 10:53 am 
Offline
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
User avatar

Joined: Tue Apr 01, 2008 12:55 pm
Posts: 921
Location: A small ice asteroid, orbiting Oresrati in Galaxy 8 (a.k.a. northwest Armorica).
Quote:
Sorry if I caused some misunderstanding...
...That said, I would not submit Oolite for inclusion in the flathub repo without your consent....
No misunderstanding at all.
We are cool, bro! 8)

_________________
Xubuntu 14.04LTS / Windows 7 Home Premium
Intel Core 2 Quad Q9450 2.66GHz - 6GB DDR2 - Palit GeForce GTX 750 Ti StormX Dual (2048MB DDR5)
"Any sufficiently advanced information is indistinguishable from noise." [Newman, Lachmann, Moore]


Top
   
PostPosted: Tue Jul 10, 2018 10:28 pm 
Offline
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
User avatar

Joined: Tue Apr 01, 2008 12:55 pm
Posts: 921
Location: A small ice asteroid, orbiting Oresrati in Galaxy 8 (a.k.a. northwest Armorica).
Hi pritter!

I started testing on a lubuntu 18.04 vanilla installation. (more distros will follow)
You have already done a great work with flatpak and I am very optimistic for what is coming next. :D
Here follow some observations to continue.

1. The repo methodology was used for this first test (the rest methodologies will be tested too). (a) Please update the first post to indicate that adding the default repo is mandatory to allow freedesktop runtime (180MB) dependency auto-resolution.
Code:
$ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
(b) What is the freedesktop runtime used for in Oolite flatpak?


2. The app installation command complained as shown below
Code:
$ flatpak install pritter org.oolite.Oolite/master
error: Error searching remote pritter: Can't find ref org.oolite.Oolite/master
The app installation syntax that actually worked was
Code:
$ flatpak install pritter org.oolite.Oolite/x86_64/master
or
Code:
$ flatpak install pritter org.oolite.Oolite
Update the first post accordingly.


3. The desktop menu launcher did not appear after the app was installed. Installing the oolite.org (own installer) made the desktop menu launcher to appear boasting both versions of Oolite. Rebooting the machine has also forced the desktop meny launcher to appear. Please, note that lubuntu was a vanilla installation with no initial "Games" desktop menu entry and that own packager has no such issue. Is there a known behavior/issue of flatpak on that?

4. Please update the desktop launchers to display "Oolite (flatpak)" and "Oolite-trunk (flatpak)" respectively.

5. It seems that to get flatpak apps, built with OpenGL, to work with proprietary Nvidia graphics drivers, one can only hope that the runtime for the installed version of Nvidia drivers is available on FlatHub. (a) This means that, if the Ooliter installs the latest Nvidia proprietary drivers, playing Oolite will not be possible till the relevant runtime makes it onto FlatHub, right? :!:
(b) Was this the issue you faced with the missing libGLU.so.1?

6. Oolite is using command line options (e.g. --novsync, --nosound, --nosplash, etc.). Would it be possible to add the possibiity to pass command line options at run-time? Browsing the Oolite flatpak installation directory structure I stumbled upon this
Code:
$ cat /var/lib/flatpak/app/org.oolite.Oolite/current/active/export/bin/org.oolite.Oolite 
#!/bin/sh
exec /usr/bin/flatpak run --branch=master --arch=x86_64 org.oolite.Oolite "$@"
$
It seems that it is ready to handle command line options. However, the start.sh script, found in the repo, has stripped the "$@".

_________________
Xubuntu 14.04LTS / Windows 7 Home Premium
Intel Core 2 Quad Q9450 2.66GHz - 6GB DDR2 - Palit GeForce GTX 750 Ti StormX Dual (2048MB DDR5)
"Any sufficiently advanced information is indistinguishable from noise." [Newman, Lachmann, Moore]


Top
   
PostPosted: Tue Jul 10, 2018 11:15 pm 
Offline
Average
Average

Joined: Fri Jun 15, 2018 7:50 pm
Posts: 8
Quote:
Hi pritter!

I started testing on a lubuntu 18.04 vanilla installation. (more distros will follow)
You have already done a great work with flatpak and I am very optimistic for what is coming next. :D
Here follow some observations to continue.

1. The repo methodology was used for this first test (the rest methodologies will be tested too). (a) Please update the first post to indicate that adding the default repo is mandatory to allow freedesktop runtime (180MB) dependency auto-resolution.
Code:
$ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
(b) What is the freedesktop runtime used for in Oolite flatpak?
As far as I know, the usage of a runtime is mandatory. The freedesktop runtime is the most lightweight runtime of the 3 available. It also provides some extensions (see below).

Quote:
2. The app installation command complained as shown below
Code:
$ flatpak install pritter org.oolite.Oolite/master
error: Error searching remote pritter: Can't find ref org.oolite.Oolite/master
The app installation syntax that actually worked was
Code:
$ flatpak install pritter org.oolite.Oolite/x86_64/master
or
Code:
$ flatpak install pritter org.oolite.Oolite
Update the first post accordingly.
Thanks, done
Quote:
3. The desktop menu launcher did not appear after the app was installed. Installing the oolite.org (own installer) made the desktop menu launcher to appear boasting both versions of Oolite. Rebooting the machine has also forced the desktop meny launcher to appear. Please, note that lubuntu was a vanilla installation with no initial "Games" desktop menu entry and that own packager has no such issue. Is there a known behavior/issue of flatpak on that?
That confirms my observations. I don't see desktop items appearing until next login. Other flatpaks don't show that behavior, going to investigate.
Quote:
4. Please update the desktop launchers to display "Oolite (flatpak)" and "Oolite-trunk (flatpak)" respectively.
Will be done.
Quote:
5. It seems that to get flatpak apps, built with OpenGL, to work with proprietary Nvidia graphics drivers, one can only hope that the runtime for the installed version of Nvidia drivers is available on FlatHub. (a) This means that, if the Ooliter installs the latest Nvidia proprietary drivers, playing Oolite will not be possible till the relevant runtime makes it onto FlatHub, right? :!:
The relevant drivers are available as an extension to the freedesktop runtime. You can try flatpak install flathub org.freedesktop.Platform.GL and then use tab completion to show the available extensions.
Quote:
(b) Was this the issue you faced with the missing libGLU.so.1?
Maybe, I just compiled ligGLU from source and bundled it with oolite to make it work. Going to investigate, whether using the extensions would be the cleaner approach.
Quote:
6. Oolite is using command line options (e.g. --novsync, --nosound, --nosplash, etc.). Would it be possible to add the possibiity to pass command line options at run-time? Browsing the Oolite flatpak installation directory structure I stumbled upon this
Code:
$ cat /var/lib/flatpak/app/org.oolite.Oolite/current/active/export/bin/org.oolite.Oolite 
#!/bin/sh
exec /usr/bin/flatpak run --branch=master --arch=x86_64 org.oolite.Oolite "$@"
$
It seems that it is ready to handle command line options. However, the start.sh script, found in the repo, has stripped the "$@".
Should be an easy fix, going to implement that


Since the build of the repo is not automated yet, it could take some time for the changes to arrive (that is, until I have time to gpg-sign and rsync the repo). If you added the repo, issuing flatpak update should receiver the latest version.


Top
   
PostPosted: Mon Jul 23, 2018 7:31 pm 
Offline
Average
Average

Joined: Fri Jun 15, 2018 7:50 pm
Posts: 8
I have updated the repo to include both, the main version (master) and the nightly version (nightly). It seems, that you can not have both icons at the same time, although both versions can be installed in parallel. I am going to investigate, whether that's because they are named alike.

When installing oolite using the method descibed in Update Jul-09-2018: Using the repo, the icon appears in the menu instantly. When using the flatpakref, it won't (you have to log off and log in again).

The other issues should have been adressed.

Next steps:
  • investigate icon issue
  • investigate org.freedesktop.Platform.GL and libGLU


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 7 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 4 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Powered by phpBB® Forum Software © phpBB Limited