Log In  

A build of PICO-8 0.1.5 is now available for Raspberry Pi! Check your updates page or look in your Humble library under the Linux downloads section.

It works in fullscreen under either X Windows or directly from the terminal (using directfb). For speed, the default resolution is 280,280; you can set this with the -width and -height switches:

pico8 -width 720 -height 480

Known issues:

  • After quitting, keypresses during the session are sometimes dumped to terminal (annoying if you quit by typing shutdown instead of CTRL-Q!)
  • Freeze on exit (observed on a zero)
  • Some math-heavy cartridges (e.g. /demos/cast.p8) don't run at full speed on first generation models.

There are two builds included in the archive. pico8 is compiled statically (so no need to install SDL2), and pico8_dyn dynamically loads libraries, in case you'd like to supply your own SDL2.

Have fun, and please post pictures if you get pico-8 running on any cute displays!

P#18975 2016-02-26 17:14 ( Edited 2016-02-26 22:14)

yus! got it up and running real quick... and I had never turned on this rPi before just now.

P#18978 2016-02-26 19:22 ( Edited 2016-02-27 00:22)

On a RPi 2 with Ubuntu Mate for Pi 2 i can't type anything with X. The ESC key works to switch modes, the ENTER key works to get a new line, but i can't type "HELP", "LS" etc.

Might be related to Ubuntu Mate? No idea. I don't think i have a normal Raspbian for RPi 2 lying around, although i'm going to try on RPi 1 :)

(Didn't try from console, after two hard reboots it seems that systemd isn't able to boot anymore...)

Edit: (i had to fix the filesystem but anyway.)

it works in console without that problem above :)

Edit part2: i had set up my French/AZERTY keyboard as Macintosh as i sometimes use a Mac keyboard with the Pi, setting it up as PC keyboard, i can now type with PICO on X too. :)

Edit3: Nope, turns out now even Mate set up as PC keyboard the inputs don't work in X anymore... i don't know what's the problem..

P#18979 2016-02-26 19:53 ( Edited 2016-02-27 02:32)

What's the best Pi model to get for PICO-8? I have been looking into getting one for a while, but I don't really know a lot about them.

P#18982 2016-02-26 23:26 ( Edited 2016-02-27 04:26)

This is working great on a Pi 2 B+. I've seen the freeze-on-shutdown case there as well -- but only when launching from menus or file browser. When launching from the shell, it exits cleanly.

P#18984 2016-02-27 01:11 ( Edited 2016-02-27 06:11)

Amazing! It works on my Pi (first version). I have played a lot of cartridges with success.

Sadly the numbers keys are not working with an azerty keyboard (french).
So I can only play not edit. It may be the same problem as previously found on the others pico versions (and corrected with success since).


I done a "#pacman -Syu" without any change... :(

P#18985 2016-02-27 03:15 ( Edited 2016-03-02 06:19)

for some reason i can get it to run from startx, but not from console?

what command line are you guys using to run it?

P#18986 2016-02-27 12:54 ( Edited 2016-02-27 17:54)

Ran on Pi Model B (first gen) and runs very very well! I'm surprised at the minimum (700MHz) it can run cast.p8 with good speed!
EDIT: Also, you might want to chmod 777 the pico8 and pico8_dyn files
@atarimonkey When I'm in the console, I goto the pico-8 folder and do ./pico8

P#18990 2016-02-27 15:55 ( Edited 2016-02-27 21:01)

@funzrey Perfect! thanks dude!! :)

P#18993 2016-02-27 17:49 ( Edited 2016-02-27 22:49)

@funzrey, that advice is terribly irresponsible. It cost a client $1k in my time alone, and much more in lost customers, just last week. chmod a+x is all you need. Anyone who says "777" (in basically any context) is giving you dangerous advice. Don't do it.

P#18997 2016-02-27 20:09 ( Edited 2016-02-28 01:09)

Woo! Been waiting for it :3
Now to get my raspberry Pi 2 out and see if I can't make a nice two player setup with it.
Gonna need to buy some USB gamepads though hmm.
Wish it was easier to make my own without a 3D printer heh.

Well now I can take Pico-8 games with me with ease.
Just plug in and go :3
Hopefully I can get some multiplayer matches going with friends.

P#18998 2016-02-27 21:08 ( Edited 2016-02-28 02:08)

Just got it up and running on my Pi-Top, but it wasn't detecting the keyboard for some reason? Will tinker with this more later.

P#19012 2016-02-28 12:16 ( Edited 2016-02-28 17:16)

I had problems with the keyboard to start with - only enter and escape were working. I hadn't used my Pi for a while so I decided to update to the latest build of Raspbian - this resolved this issue for me. HTH

P#19019 2016-02-28 17:35 ( Edited 2016-02-28 22:35)

To follow up on my keyboard problem and confirm what has been said above, after a latest apt-get update/upgrade on Ubuntu Mate for Pi 2, the keyboard seems to work OK now. :)

P#19020 2016-02-28 21:05 ( Edited 2016-02-29 02:05)

Tested and working on the Pi Zero. Just need a small screen and a case for Pico8Boy.

P#19038 2016-03-01 11:14 ( Edited 2016-03-01 16:14)

I just update/upgraded this morning and I'm still having problems with the keyboard. I'm using a Raspberry Pi 2 in a Pi-Top, so it may handle keyboard input in a funny way? It also usually crashes when I ctrl-q to get out.

P#19057 2016-03-02 13:04 ( Edited 2016-03-02 18:04)

I'm glad this happened, even though I felt it was inevitable. :)

P#19062 2016-03-03 23:15 ( Edited 2016-03-04 04:15)

Posted on twitter and irc last night so suppose I should post here too ;)

It's an Adafruit PiTft running on a rev2 Pi B. Just tried the gameboy case on for size but this was exactly one of the things I'd hoped to achieve with this project ;)

P#19065 2016-03-04 12:03 ( Edited 2016-03-04 17:03)

My ideal workflow would be something like:

  1. create/debug pico-8 games on my desktop pc (mac). When tested OK, ...
  2. transfer to Raspberry PI.

The PI would, when booted, launch a pico-8 carts list from which titles could be selected and launched.

Games would be controlled by hardware (sticks and buttons).

I've got the PI (1st gen) and other h/w, and a Pico-8 license.

Any hints appreciated. I guess my current questions are:

  • how would one transfer a cart from PC to PI?
  • how do I map button presses to key events for the pico-8?


P#19109 2016-03-07 17:10 ( Edited 2016-03-07 22:10)

Of course, I forgot questions #3:

  • can you think of any reasons why an HDMI 5" (no touch) display would be a bad choice for this arrangement (RPI + PICO8)?

Thanks (again)!

P#19110 2016-03-07 17:18 ( Edited 2016-03-07 22:18)

Tranfer carts:
Usb stick, ftp/scp, network share, linux computer and copy the file directly to the system SD, git clone... Lots of options really...
Button presses:
If the controller is a USB one then Pico8 should detect it. If you're using GPIO buttons then (I think) the buttons map to keys via a driver. I haven't done this yet but will soon. I have seen plenty of guides for it tho.

5" display should be fine.

I'm planning on having a custom menu in retropie/emulation station which picks up a directory of carts and lists them in the main Emulation station menu. I'll report back as I do so

P#19112 2016-03-07 18:55 ( Edited 2016-03-07 23:55)

Thanks a lot. Just what I needed to know. I'll also be on the lookout for the custom menu for the emul station.

P#19128 2016-03-08 02:03 ( Edited 2016-03-08 07:03)

Well This is amazing, I cant wait to get a PI for this.
Pico 8 entertainment system here i come :D

P#19149 2016-03-09 11:42 ( Edited 2016-03-09 16:42)

I'm so stoked about this! Putting pixels on old TVs has some magic appeal to me, it used to be so out of reach.

I'll be using this stack for a game jam at the end of the month (http://purplemonkeygamejam.com/) along with an Arduino arcade stick I'd made a ways back. Thanks to the button configuration options, I probably don't need to touch the firmware again. Amazing!

What would a gush-fest like this be without some requests at the end. ;) I'll second alexr's request for the ability to boot into a game. I'd ask for it in the form of:

pico-8 -root-path ~/games -cart mygame.p8

or you might even support eval'ing some commands from the command line, like:

pico-8 -c "cd games; load mygame.p8; run"

My hunch how to make a "kiosk mode" would be to set that to run at runlevel 4, then set that as the default runlevel in bios.

My other request, which I don't think you'll want to do, is to allow for a different aspect ratio that would fill a classic 4x3 TV. I could see a configuration option like "aspect" which defaults to 1, but could be set to 1.33, which would scale the width of the canvas by that amount.

I don't think you'll want to do it since it breaks the web player. If people make a game for a specific aspect ratio for a TV, it will look awful everywhere else.

Regardless, this is all fantastic. Pico-8 is hands-down my development platform of choice. Thanks so much!

P#19192 2016-03-12 08:41 ( Edited 2016-03-12 13:41)

I'm having it running on my brand new 3, which is great, but I can't get it to run on the display. In fact, most of the time, the PI just crashes when I try to start pico8. The display is this one: https://github.com/watterott/RPi-Display and the driver seems to work fine, x.org boots on it.

The display resolution is not great at 320x240, could this be a problem?

If I start it within X, nothing happens and I can just interrupt it with CTRL-C. When I start it from the command line, nothing happens and the pi crashes, or so it seems.

What would be a good way to debug this?

P#19196 2016-03-12 12:31 ( Edited 2016-03-12 17:31)

Can someone please help. I need a barney style set of instructions to get it running. I cant figure it out. I have a rasperry pi 3 with Raspbian Jessie. I would really appreciate it.

Edit: I figured it out. This is awesome. My only question is how to escape out of the fullscreen mode on the pi, i cant exit without the console freezing.

P#19241 2016-03-15 12:54 ( Edited 2016-03-15 17:13)

This is great. I tried to get it up and running but none of what I type shows up on the screen. Unless I open it in console, PICO-8 will not shut down unless I power down.

P#19834 2016-04-17 14:38 ( Edited 2016-04-17 18:38)

I know that 777 is dangerous but I don't have my pi hooked up to any public networks (not even connected to the internet, so i usually transfer data through USB) so as long as nobody goes into my house and gets into my Pi, it should be fine.
If you are hooked up to a network, yes, I would use chmod a+x because it's safer, but I've looked back at using 777 with my pi hooked up to the network (older pi I had, i don't use it anymore) and I probably should have went with the a+x advice I got from another person.

P#20370 2016-05-09 15:05 ( Edited 2016-05-09 19:05)

PI3 Keyboard Issues with latest jessie (2016-05-27). On June 1 with apt-get update/upgrade keyboard is weird. On main screen (not editor) 'shift' and 'alt' space. alt-enter is impossible. I've tried three keyboard layouts with no discernable change in behavior.

P#22053 2016-06-01 17:05 ( Edited 2016-06-01 21:05)

How does it work on a Zero?

P#22064 2016-06-01 19:22 ( Edited 2016-06-01 23:22)

@twomonkeysayoyo: the same here. wired keyboard in console.

@darkhog: on piZero the same. can't even install the demos :(

P#22317 2016-06-05 01:15 ( Edited 2016-06-05 05:15)

To install demos, I went into code editor and typed INSTALL_DEMOS then copied it into the terminal.

P#22331 2016-06-05 05:29 ( Edited 2016-06-05 09:29)

@svnt: That's no concern here. I'm asking because I plan to build Pico-8 handheld and only pizero is cheap enough and small enough to fit the case I plan for it (which is basically roughly the size of a NES controller with slideable 2 inch screen, but bit thicker as it also has to have a battery with a reasonable lifetime). So pico-8 with SPLORE is all I need (games I can either DL from BBS when wifi is available where I am or preload on the SD card).

P#22373 2016-06-05 20:19 ( Edited 2016-06-06 00:19)

@darkhog: I can confirm that PICO-8 runs just fine on a Pi Zero :)

P#22380 2016-06-05 23:00 ( Edited 2016-06-06 03:00)

i've set up a raspberry pi 2 model B as a dedicated pico 8 machine. i've turned off the desktop environment, set it to auto-boot into splore. now I want to tweak the setting to get maximum performance and resolution. I tried to set it at 1920x1080 scale 8, which looks really good but is really slow. The default setting is great performance wise but a bit blurry. Now I'm thinking maybe you can allocate more memory to the gpu to get more performance out of it? Anyone found a good middle ground?

Also has anyone had any luck editing ps3 controllers input so that the d-pad works? it only takes input from the analog stick now.

P#22450 2016-06-07 04:01 ( Edited 2016-06-07 08:01)

I am also wondering how to use PS3 controller with PICO-8, via Bluetooth on RPi3 (I would also prefer to use D-pad rather than analogue).

From the Manual, it refers to an SDL2 controller config, but I'm a bit confused how to setup the mapping.

Any ideas? :o/

P#23663 2016-06-26 08:03 ( Edited 2016-06-26 12:03)

It is mentioned in another thread but you need to install the SDL tool controllermap and run it with your pad attached to generate the config string. Then you paste that into the Pico 8 SDL controller config file.

There are SDL configuration tools for Windows and Mac but it's not currently known how to translate config strings between platforms.

P#23684 2016-06-26 15:34 ( Edited 2016-06-26 19:34)

Thanks matt,

I did manage to get it pretty much working. I found the following controller string, which seems to work/map quite well to my Sony PS3 (bluetooth) controller:

060000004c0500006802000000010000,PS3 Controller (Bluetooth),a:b14,b:b13,y:b12,x:b15,start:b3,guide:b16,back:b0,leftstick:b1,rightstick:b2,leftshoulder:b10,rightshoulder:b11,dpup:b4,dpleft:b7,dpdown:b6,dpright:b5,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b8,righttrigger:b9,platform:Linux,

The minor annoyance is that it uses the Analogue stick instead of the D-pad for direction, but I see in other threads, this appears to be a popular common at the moment.
(But heh, at least it's actually PLAYABLE now!) :o)

Alas, the Pi version still always crashes when I try to exit (or use 100% of the CPU, which is kind of scary!).
I am launching it via RetroPie, so I dunno if that's related (had to setup manually as a new console, so perhaps I got something wrong?) :o/

P#23775 2016-06-28 01:47 ( Edited 2016-06-28 05:47)

No, as soon as you start Pico from a sh script it will fail to exit.

But the Pi is not dead, just login from the outside, you can kill pico8 and resume everything.

It seems that when exiting, Pico8 expect something that does not happen, hard to tell what :/

P#23782 2016-06-28 05:30 ( Edited 2016-06-28 09:30)

Thanks Godzil, that's the workaround I've been using so far (that's how I know it ramps the CPU when it does it). Glad to know I'm not doing something silly - guess I just need to wait until patiently the issue gets resolved :)

P#23784 2016-06-28 08:06 ( Edited 2016-06-28 12:06)

Crap, does someone mind helping? When I try booting it from terminal, it says 'failed to open vchiq instance'. If I try loading it from the file explorer it just doesn't open. I've tried looking this up, and it seems to be something to do with user groups, but I still don't understand.

P#24252 2016-07-02 06:23 ( Edited 2016-07-02 10:23)

Okay, I've changed some stuff, and fixed the first problem, but now I'm getting 'SDL Error: Could not initialize OpenGL / GLES library'. It may be worth pointing out that I'm Ubuntu Mate, in case that's a problem. I'll go try installing Raspbian.

P#24255 2016-07-02 07:02 ( Edited 2016-07-02 11:02)

Installed Pico8 on Ubuntu MATE on a Pi 2, Model B and no matter how I start it (terminal / desktop) there's no reaction to other keys than ESC (switches the mode).

Also didn't discover any way out of the fullscreen mode and quitting is also quirky. But I don't think the OS freezes as I was able to do CTRL+ALT+DEL followed by ENTER and the box shut down.

Only tried the static version "./pico8"

Anyone got around it?

P#26692 2016-08-09 09:26 ( Edited 2016-08-09 13:26)

Not sure if this is newer than this thread or not, but this looks like a no fuss implementation: http://guillermoamaral.com/read/picopi/

I'm going to try this on a Pi Grrl once payday hits.

P#26702 2016-08-09 17:17 ( Edited 2016-08-09 21:17)

@jbump got that up and running on an Pi2 model B with a dedicated sdcard. Its my boot and play pico8 solution now.

The only thing that took too much time was grabbing and renaming all the .p8.png from the website to get them on the sdcard.

P#27158 2016-08-21 12:21 ( Edited 2016-08-21 16:21)

Got it running, but no audio. Anyone else encounter this?

P#28277 2016-09-10 14:08 ( Edited 2016-09-10 18:08)

A bit late to the party but i got pico-8 running on a Pi 1 model B (setup with macOS). I'm so happy that we have a version the works with Raspberry pi!

Here is my step by step guide to how I got it going:

Formatted a 16gb SD card with SDFormatter

Installed Raspbian Jessie Lite

Using ApplePi-Baker

I connected the ethernet connection to my mac using an ethernet to usb adapter

I connected the Pi to a Mavnavox B&W TV (model BD3911 SL01) over the video RCA and had to adjust the V and H holds on the side to get a clear image.

Fond the Pi's IP with ipconfig and tried all the IP address that were printed out until I could log in with:

(the default password is 'raspberry')

I used ssh to login and transfer pico-8 to the pi

$ scp ~/Downloads/pico-8/* [email protected]:~/pico-8

I got the error:

./pico8: error while loading shared libraries: libwiringPi.so: cannot open shared object file: No such file or directory

When running 'pico8'

So I installed WiringPi

$ sudo apt-get install git-core
$ mkdir Libraries
$ cd Libraries/
$ git clone git://git.drogon.net/wiringPi
$ cd wiringPi
$ ./build

Then back on the raspberry pi itself ran pico-8!

$ cd ../pico-8
$ pico8

Hope this helps someone having trouble with pico-8 and raspberry pi

I haven't tested sound yet.

I also used a Rii mini keyboard and sometimes some buttons stopped worked (space and left).

P#31094 2016-10-16 23:25 ( Edited 2016-10-17 03:25)


I needed to install "wiringPi" too! Thank you so much for that pointer.


Setting up PICO-8 on my Picade... which is now working/playing properly! - it may be a good idea to set a software-exit command that's controller/arcade-stick friendly. Start + Select seems to be the standard for RetroPie/EmulationStation emulators, and is a combination I don't see games often using on purpose for anything except soft-resets anyhow. Exiting PICO-8 simply bumps a player back to the ES menu as it is, so this would work perfectly!

P#31346 2016-10-20 18:04 ( Edited 2016-10-20 22:04)

Just noting for posterity that I got a Pi 3 recently and setting up PICO-8 under Raspbian was a cinch and a delight.

I had a little bit of fiddly trouble setting up my cheapo USB gamepad, eventually managed to figure out through a bit of process of elimination what the necessary configuration line was for sdl_controllers.txt, but I'm not sure that's really a PICO-8 thing so much as a general SDL support headache. Still, would be a nice thing to have work a little less painfully in the long run.

P#31583 2016-10-23 17:45 ( Edited 2016-10-23 21:45)

I built an arcade mini-cab for Pico-8. The display is 800x480 and when I run it seems to have a frame around the display which makes it smaller. I've tried to change the options, do window mode, change the resolution in the config file but nothing seems to change anything. If I try putting it in window mode, it goes full screen again and the config file is overwritten. Other than that it works great, just want Pico-8 to go the full height of the display. Is this a scaling issue?

P#42226 2017-07-06 03:50 ( Edited 2017-07-06 07:50)

[Please log in to post a comment]