Oolite + Chromebook

For discussion of ports to POSIX based systems, especially using GNUStep.

Moderators: winston, another_commander, Getafix

jlager
Average
Average
Posts: 15
Joined: Sat Feb 15, 2025 11:44 am

Re: Oolite + Chromebook

Post by jlager »

Quick update...

I tried reopening the Terminal - and after some time it got around to allowing me to type.

Tried the "glxinfo -B" command, got the following response...

[===========] Ready
jonwoolrich@penguin:~$ glxinfo -B
No protocol specified

Error: unable to open display :2
User avatar
MrFlibble
---- E L I T E ----
---- E L I T E ----
Posts: 382
Joined: Sun Feb 18, 2024 12:13 pm

Re: Oolite + Chromebook

Post by MrFlibble »

jlager wrote: Wed Feb 19, 2025 5:04 pm
Quick update...

I tried reopening the Terminal - and after some time it got around to allowing me to type.

Tried the "glxinfo -B" command, got the following response...

[===========] Ready
jonwoolrich@penguin:~$ glxinfo -B
No protocol specified

Error: unable to open display :2
Sounds like there's no xserver running. I'll look into this after eating.
jlager
Average
Average
Posts: 15
Joined: Sat Feb 15, 2025 11:44 am

Re: Oolite + Chromebook

Post by jlager »

There’s no rush - just whenever you get a chance - hopefully this is not becoming too much of a headache!
User avatar
MrFlibble
---- E L I T E ----
---- E L I T E ----
Posts: 382
Joined: Sun Feb 18, 2024 12:13 pm

Re: Oolite + Chromebook

Post by MrFlibble »

jlager wrote: Wed Feb 19, 2025 5:26 pm
There’s no rush - just whenever you get a chance - hopefully this is not becoming too much of a headache!
Thanks.. Got sidetracked :)

Edit : A Chromebook just landed in my lap. Not sure yet if it'll do for this gig, but will let you know as soon as I know.

Meanwhile:-

This article may be helpful. It shows how to restart the penguin container from crosh.
https://www.reddit.com/r/Crostini/comme ... rminal_or/

Basically, if this is how it still works, you can list/stop/start containers at will (from the Chrome end of course).
Open Crosh: Ctrl + Alt + T

which will launch the terminal window in a new browser tab.

type: vmc start termina

To see what containers are running enter:

lxc list

(vmc container "penguin" is crostini, and should be there)

Type: lxc stop penguin

Then type: lxc start penguin

this should restart crostini

to quit, Type: exit

And again, Type: exit
It may also be that by installing some window manager type stuff, one got started silently during install, but did not restart after reboot. I'll help you across that bridge if appropriate.
jlager
Average
Average
Posts: 15
Joined: Sat Feb 15, 2025 11:44 am

Re: Oolite + Chromebook

Post by jlager »

Apologies for the delayed response…

This morning, I have opened up the Chromebook - all seems stable…

I opened Oollite from the prev installed icon - and all worked fine!

I have messed about in the game for a couple of hours (been obliterated repeatedly - my fault - never checked system status/rulings etc!)

I have suffered a few frame freezes (mostly whilst under attack with a lot of in-screen laser fire etc) - but nothing more than few seconds at a time.

I also tried opening the Terminal which was returning an error previously - and also opened fine immediately.

Just to confirm - the GPU Support is still not enabled and the DEBIOO window has not popped up again.

I have also shut down/rebooted a couple of times - and all remains stable as above.

I guess I probably need to put a good few hours into the game and see which errors occur etc and feed back?

Ultimately, I’d like to use some OXPs - as these seem to enhance the experience- but I guess I need to walk before I run?

Any thoughts?

*just another repeat of thanks for help and support to date - I would have 100% given up on this without your repeated guidance!
User avatar
MrFlibble
---- E L I T E ----
---- E L I T E ----
Posts: 382
Joined: Sun Feb 18, 2024 12:13 pm

Re: Oolite + Chromebook

Post by MrFlibble »

jlager wrote: Thu Feb 20, 2025 11:03 am
Apologies for the delayed response…

This morning, I have opened up the Chromebook - all seems stable…

I opened Oollite from the prev installed icon - and all worked fine!

I have messed about in the game for a couple of hours (been obliterated repeatedly - my fault - never checked system status/rulings etc!)
Great news!
jlager wrote: Thu Feb 20, 2025 11:03 am
I have suffered a few frame freezes (mostly whilst under attack with a lot of in-screen laser fire etc) - but nothing more than few seconds at a time.

I also tried opening the Terminal which was returning an error previously - and also opened fine immediately.
The frame freezes may just be an issue with the amount of memory allocated to the container, and/or latency swapping to disk. ChromeOS will be using quite a lot of the available resources itself. I'll know more when I have a crack at doing this on the real thing.

Re: the terminal... same thing. When I get a little hands-on time, I'll understand the layers and abstractions better.
jlager wrote: Thu Feb 20, 2025 11:03 am
Just to confirm - the GPU Support is still not enabled and the DEBIOO window has not popped up again.

I have also shut down/rebooted a couple of times - and all remains stable as above.
Weird about the GPU, as without that I'd expect things to be terrible. Maybe there's a context issue here, and it's working for Oolite but not the terminal you're querying from.

Glad it's stable though.
jlager wrote: Thu Feb 20, 2025 11:03 am
I guess I probably need to put a good few hours into the game and see which errors occur etc and feed back?
Yes please.
jlager wrote: Thu Feb 20, 2025 11:03 am
Ultimately, I’d like to use some OXPs - as these seem to enhance the experience- but I guess I need to walk before I run?

Any thoughts?
OXPs will increase the system load. I find the vanilla game very slick indeed on my gutless laptop, but it can be a bit clunky with a heap of OXPs. I even had out of memory errors until I added a load of swap space. That's with 4G of ram (and no ChromeOS). I'd agree that it's not a bad idea to keep it as light as possible while finding your way in, and certainly while troubleshooting.
jlager wrote: Thu Feb 20, 2025 11:03 am
*just another repeat of thanks for help and support to date - I would have 100% given up on this without your repeated guidance!
No worries. I've enjoyed the 'black box challenge' so far. It's also given me an excuse to try and help things along on another platform. Thanks for not giving up!
Last edited by MrFlibble on Thu Feb 20, 2025 12:33 pm, edited 1 time in total.
User avatar
Cholmondely
Archivist
Archivist
Posts: 5615
Joined: Tue Jul 07, 2020 11:00 am
Location: The Delightful Domains of His Most Britannic Majesty (industrial? agricultural? mainly anything?)
Contact:

Re: Oolite + Chromebook

Post by Cholmondely »

jlager wrote: Thu Feb 20, 2025 11:03 am
Ultimately, I’d like to use some OXPs - as these seem to enhance the experience- but I guess I need to walk before I run?
Great to see things are finally up and running for you!

The OXPs make a massive difference to the game. You can pretty much tailor it to your whims.

BUT. Our developers (a_c is the sole surviving exemplar of our original developers) went to a lot of trouble to make the vanilla game very playable. And even though it is not obvious, there are many subtleties which quietly enhance the experience.

Enjoy!
Comments wanted:
Missing OXPs? What do you think is missing?
Lore: The economics of ship building How many built for Aronar?
Lore: The Space Traders Flight Training Manual: Cowell & MgRath Do you agree with Redspear?
Commander_X
---- E L I T E ----
---- E L I T E ----
Posts: 687
Joined: Sat Aug 09, 2014 4:16 pm

Re: Oolite + Chromebook

Post by Commander_X »

MrFlibble wrote: Thu Feb 20, 2025 11:43 am
[...]
jlager wrote: Thu Feb 20, 2025 11:03 am
Just to confirm - the GPU Support is still not enabled and the DEBIOO window has not popped up again.

I have also shut down/rebooted a couple of times - and all remains stable as above.
Weird about the GPU, as without that I'd expect things to be terrible. Maybe there's a context issue here, and it's working for Oolite but not the terminal you're querying from.

Glad it's stable though.
[...]
If GPU Support was enabled into the chrome:// settings, but "glxinfo -B" still reports "Accelerated: No", there could be some explanations:
- your version of Chrome OS support for Linux is too old (that is, Chrome OS itself)
- you're not running "glxinfo -B" in a "Terminal" window of Chrome OS, but under a (some) terminal running under a different X server than the one provided by Google
I noticed this behavior while dabbling with the VM and trying to get some of the X apps under XFCE suite. The bottom line is that the display server provided by Google Chrome OS (sommelier?) is basically a Wayland compositor, and the X11 apps are executed under the Xwayland umbrella. In these conditions, the acceleration will work as expected (if Xwayland is the one installed side-by-side with the display server).
If another Xwayland (or X server for that matter) is executed, the acceleration won't be available.

A definitely useful notice is that what I installed in the qemu VM is not Chrome OS, but Chrome OS Flex. I'm not sure if this makes any difference.
User avatar
MrFlibble
---- E L I T E ----
---- E L I T E ----
Posts: 382
Joined: Sun Feb 18, 2024 12:13 pm

Re: Oolite + Chromebook

Post by MrFlibble »

jlager wrote: Thu Feb 20, 2025 11:03 am
This morning, I have opened up the Chromebook - all seems stable…
This may still prove handy if you need to powerwash, or for anyone wanting to do a minimal container install on ChromeOS. After the first time round, you should be able to simply run Oolite from the normal ChromeOS app menu.

To enable Crostini GPU support in Linux containers...
  • Open Chrome and enter this address: chrome://flags/#crostini-gpu-support
  • Enable GPU support
  • Click restart
Using the ChromeOS menu, navigate to Settings -> About ChromeOS -> Developers, Linux

Set up the Linux container. If you already have a normal Debian 'Penguin' you can skip this step. Assuming you've not got one already, we can do it the easy way. Using the ChromeOS menu, navigate to Settings -> About ChromeOS -> Developers -> Linux. Hit the "Set up" button. Tune things to your taste.
In the ChromeOS applications menu, you should have a 'Terminal' launcher now. Launch it and run 'penguin'.

In the resulting terminal, the prompt should read something like:

Code: Select all

usernam@penguin:~$
Great.. we're in. Let's update the installation in the container.

Code: Select all

sudo apt update
sudo apt upgrade
After the updates have run, we can install the one hard requirement, the mesa library (libglu1-mesa). The rest are optional but recommended. mesa-utils (contains glxinfo), and libnotify-bin (so error popups can appear in GUI mode). I've added 'geany', which is a fairly decent tabbed text-editor without too many dependencies, to avoid 'vim' being the default for showing text files.

Code: Select all

sudo apt install libglu1-mesa mesa-utils libnotify-bin geany
Great. We're all the groundwork is done. We can check that the graphics stands a chance of being GPU rendered.

Code: Select all

glxinfo | grep Accelerated
Hopefully that will return "Accelerated: On", indicating that we've enabled GPU support properly back in step 1.

For the next bit you can either grab the latest version from my github using a browser instead of wget, then adapt the rest of the commands, or just for now, paste this lot into the terminal and grab a known working (for me, today) version.

Code: Select all

wget https://github.com/OoMrFlibble/oolite/releases/download/1.91.0.7673-250304-7399ff2/OoliteInstall-1.91.0.7673-250304-7399ff2-linux-test-x86_64.run
chmod +x OoliteInstall-1.91.0.7673-250304-7399ff2-linux-test-x86_64.run
./OoliteInstall-1.91.0.7673-250304-7399ff2-linux-test-x86_64.run
That lot uses wget to grab the file, chmod to make it executable, then runs it. Note that it's not the same version as you might have already grabbed. I added some more static libraries a couple of hours ago based on what I've learned diving down this rabbit-hole.

One of the default libraries I've included which is normally ok, does not work with ChromeOS in this configuration, but an alternative is provided. Here's the preferred fix, which changes directory to the Oolite libraries directory, renames the normal one, symlinks to the other one instead, then changes directory back to wherever we were before.

Code: Select all

cd ~/GNUstep/Applications/Oolite/oolite-deps/lib/
mv libespeak.so.1 libespeak.so.1.original
ln -s libespeak.so.1.pulseaudio libespeak.so.1
cd -
That step will probably need doing after updates to Oolite. One day I might work out a nicer fix for that.

Right... We're all done. Let's test it in the terminal in case of nasties.

Code: Select all

~/GNUstep/Applications/Oolite/oolite
Please note that with this lightweight installation, if you installed geany earlier, you'll know what to do :wink: but if you haven't added another text-editor, the text files which are displayed on first-run will probably be shown in 'vim' (Vi IMproved), which is an acquired taste, and quite non-intuitive for the uninitiated. The files say 'press q to exit', but in vim you'll need to use the sequence ":q(return)", that's colon, 'q', then hit return.

If all's well, after closing the information texts, Oolite should appear and work properly. Else, please paste the results to this thread.

If you missed the first-run text files and want them shown again, you can issue this command before running Oolite again.

Code: Select all

rm ~/.Oolite/.oolite-run
For subsequent runs, you should be able to use the launcher in the ChromeOS apps menu.

Right.. next step, get Starter running. The simplest way (assuming you're using the default "Penguin" debian container, is to download the latest .deb from https://github.com/OoliteProject/OoliteStarter/releases, then double-click it in the ChromeOS file manager. Once installed, it'll appear as an app. I'll attempt to cover more complex cases if/when they become relevant.

Footnotes:

I may try later tinkering with using termina and vmc to set up a separate container to do this, giving the option to avoid interfering with whatever one might be doing in "Penguin" already. I'd probably try to use a much smaller distro.

I gave my container 20G, which was probably overkill. Without setting up swap space it'd be madness to install that many OXPs on this particular machine. I'll check if a swapfile will work nicely another day.

Using an external keyboard and hitting F12, the app clearly tries to go full-screen, but doesn't quite make it. The window handle goes half away, and some of the bottom of the window falls out of the bottom of the screen. Using the window size menu thingy for full-screen works fine!
Post Reply