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:
Great.. we're in. Let's update the installation in the container.
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.
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

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