Skip to content

pico8 powered os for the pex console

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

pex-labs/picolauncher

Repository files navigation

PicoLauncher

PICO-8 powered games launcher for the PeX Console

crates.io docs.rs MIT/Apache 2.0

NOTE: This project is still early access! There are many not implemented features, potential bugs, and cross platform support is still WIP! Bug reports and feature requests are greatly welcome! :))

PicoLauncher is a game launcher and 'operating system' for handheld consoles that run PICO-8 natively. It seeks to streamline and revamp the PICO-8 gaming experience with features and apps like

  • revamped SPLORE
  • play paid games and apps too! (coming soon)
  • photo gallery
  • gif player (coming soon)
  • music player
  • settings/preferences app
  • on screen keyboard (coming soon)
  • physical cartridges (coming soon)

PicoLauncher is developed for the PeX Console by PeX Labs, however in the future support may come for other devices. You can check current platform support here.

pexsplore pexsplore
pexsplore pexsplore

Supported platforms

platform support
linux x86_64
linux armv7 (rpi)
linux aarch64 (rpi)
windows (64-bit) 🚧

✅ - full support, 🚧 - WIP, ❌ - not (yet) supported

Getting started

PicoLauncher requires an installed version of PICO-8 (if you don't have it, you can buy it here). You can either use a pre-compiled version from the latest release or build this project from source.

Linux

click to expand

Download the latest pre-compiled binary titled picolauncher-linux-x86_64.zip. The unzip and navigate to the directory

unzip picolauncher-linux-x86_64.zip
cd picolauncher-linux-x86_64/

Next, ensure that pico8 is included in your path. In your .bashrc or equivalent, add the line

export PATH="$PATH:<path to pico8 directory>"

For example

export PATH="$PATH:~/Downloads/pico-8/"

Chromium/Google chrome is now a dependency (temporarily), you can install it with

# Debian/Ubuntu
sudo apt-get install chromium-browser
# Arch
sudo pacman -S chromium

You can now run PicoLauncher:

./picolauncher

It is also possible to explicitly pass a binary to use to launch pico8 by setting the PICO8_BINARY environment variable:

PICO8_BINARY=<path to pico8 binary> ./picolauncher

For example

PICO8_BINARY=~/Downloads/pico-8/pico8 ./picolauncher

Raspberry Pi

click to expand

First double check if you are running 64-bit or 32-bit Raspberry Pi OS.

uname -m

If the output of the above command is aarch64, you are 64-bit, and if the output is armv7 or something similar, you are 32-bit.

In the case that you are 64-bit, you should download the latest pre-compiled binary titled picolauncher-linux-aarch64.zip. Otherwise, download picolauncher-linux-armv7.zip. Similar to the above instructions, unzip and enter the directory

unzip picolauncher-linux-aarch64.zip
cd picolauncher-linux-aarch64/

Once again, add the pico8 directory to your PATH environment variables in your .bashrc or equivalent:

export PATH="$PATH:<path to pico8 directory>"

Chromium/Google chrome is now a dependency (temporarily), you can install it with

sudo apt-get install chromium-browser

When launching PicoLauncher and supplying the binary explicitly, if you are on 64-bit Raspberry Pi, ensure that you are using the pico8_64 binary.

Windows

⚠ Support co️ming in future ⚠

Build from source

To build from source, you need to have a rust toolchain installed. To build PicoLauncher for all platforms, there is a provided build script at dev/scripts/build-linux-x86_64.sh, dev/scripts/build-windows.sh, etc. The built files are present in the build/build-<platform> directory, as well as zipped up in build-<platform>.zip. This is the same build that is distributed in the pre-compiled release.

Adding custom games

p8tool (name pending) is a utility cli that has a couple of useful functions to interact with cartridge files. The most useful of these is the ability for to add your own games to the launcher. It will generate metadata files and extract the music for the music app.

p8tool addcart <path to cart> --name <name of cart> --author <author of cart>

Adding custom external apps

picolauncher now supports launcher arbritrary external applications. Simply create drive/exe directory, and place a cart file with the following contents:

pico-8 cartridge // http://www.pico-8.com
version 42
__meta:picolauncher__
name="curse of the lich king"
author="johanpeitz"
path="cotlk/cotlk"

Where path points to the location of the executable you wish to launch (relative to drive/exe directory).

Contributing

Please see CONTRIBUTING.md for more details! Don't hesitate to report bugs and post feature requests!

Credits

Pre-bundled games