RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    How to install the PICO-8 on Retropie for dum-dums

    Scheduled Pinned Locked Moved Help and Support
    pico8installtutorial
    18 Posts 9 Posters 13.7k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • CapemanC
      Capeman @bobuk1973
      last edited by

      I also tried this tutorial, and it just loads to a black screen and kicks me back also.

      Vector Artist, Designer and Maker of Stuff: Laser Cut Atari / Pixel Theme Bartop

      1 Reply Last reply Reply Quote 0
      • CapemanC
        Capeman
        last edited by

        In case anyone comes across this and can't start Pico-8 on retropie, you have to make sure you allow permissions to run.

        Install per the guide above, then run this from the command line or via SSH:

        sudo chmod 777 ~/pico-8/pico8
        

        This will allow the pico8 application to run and it won't just hard stop and drop you back to ES.

        Also if you boot into splore instead of roms directly, you don't need to use a keyboard to run the games or exit back to ES. Works on GPi (but gets a bit hot, haha)

        Vector Artist, Designer and Maker of Stuff: Laser Cut Atari / Pixel Theme Bartop

        G 1 Reply Last reply Reply Quote 1
        • G
          GoodClover @Capeman
          last edited by GoodClover

          For me es_systems.cfg was at /etc/emulationstation/ not / /opt/retropie/configs/all/emulationstation/.

          I have tried @capeman 's suggestion of using chmod to modify the permissions, but I still get a black screen and then it returns to emulation station.

          From /dev/shm/runcommand.log:

          Parameters: 
          Executing: /home/pi/pico-8/pico8 /home/pi/pico-8/lexaloffle-pico8.png
          /opt/retropie/supplementary/runcommand/runcommand.sh: line 1279:  1275 Segmentation fault      /home/pi/pico-8/pico8 /home/pi/pico-8/lexaloffle-pico8.png
          

          /home/pi/.emulationstation/es_log.txt had no useful info.

          Any ideas?

          CapemanC 1 Reply Last reply Reply Quote 0
          • CapemanC
            Capeman @GoodClover
            last edited by Capeman

            @goodclover if you copy the es_systems.cfg over to the location I specified, you don't need any special permissions to edit it, and it overrides the file in the /etc folder. Last time I tried, I needed root permissions to edit the file in the /etc directory. This just makes it easier.

            Try running the pico-8 application directly and boot to splore instead of trying to load a game file. I never figured out how to get downloaded games to run directly from ES, I boot directly to splore and add the games through the splore interface to my favorites list.

            Benefit of this is that the main splore menu is controller driven and has an option to exit pico-8 back to ES from a menu item. If you load a game directly (from the people I've seen figure out how to do it), it appears that you would need a keyboard to exit pico-8 to ES.

            This is my es_systems.cfg entry that allows it to boot into splore. BUT you still need to add a "game" to the specified roms folder (pico8) to get a selectable item in the Emulationstation list.

            <system>
                     <name>pico8</name>
                     <fullname>PICO-8</fullname>
                     <path>/home/pi/RetroPie/roms/pico8</path>
                     <extension>.sh .p8 .png .SH .P8 .PNG</extension>
                     <command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 "/home/pi/pico-8/pico8 -splore"</command>
                     <platform>pico8</platform>
                     <theme>pico8</theme>
            </system>
            

            Vector Artist, Designer and Maker of Stuff: Laser Cut Atari / Pixel Theme Bartop

            pjftP 1 Reply Last reply Reply Quote 0
            • pjftP
              pjft @Capeman
              last edited by

              @capeman you can edit to ES when loading a games directly, let that not scare you into doing it.

              I'll share my config file later. I think by default I'm loading a game, and then I just have a '+Start SPLORE.sh' file to load SPLORE directly. Will look into it when I get the hands on my pi!

              pjftP 1 Reply Last reply Reply Quote 0
              • pjftP
                pjft @pjft
                last edited by

                @Capeman for reference, here are my notes:

                1. Change theme
                2. Change es_systems.cfg
                  <system>
                    <name>pico8</name>
                    <fullname>Pico-8</fullname>
                    <path>/home/pi/RetroPie/roms/pico8</path>
                    <extension>.p8 .png .sh</extension>
                <command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ pico8 %ROM%</command>    
                    <platform>pico8</platform>
                    <theme>pico8</theme>
                  </system>
                
                3. in /opt/retropie/configs/pico8/emulators.cfg add
                
                default = "pico8_dyn"
                pico8_dyn = "/home/pi/RetroPie/roms/pico8/pico8_dyn -run %ROM%"
                
                4. See this:
                https://www.lexaloffle.com/pico-8.php?page=manual
                
                add this to the sdl_controllers.txt file:
                
                03000000790000000600000010010000,DragonRise Inc. Generic USB Joystick,a:b3,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a4,start:b9,x:b2,y:b0,
                
                5. Change in ~/.lexaloffle/pico8/config.txt
                
                // audio volume: 0..256 
                volume 96
                
                // Location of pico-8's root folder
                root_path /home/pi/RetroPie/roms/pico8/
                
                // Location of cartridge save data
                cdata_path /home/pi/RetroPie/roms/pico8/cdata
                
                6. Create SPLORE launcher by adding a "+Start Splore.sh" file at /home/pi/RetroPie/roms/pico8/
                
                #!/bin/bash
                /home/pi/RetroPie/roms/pico8/pico8_dyn -splore -root_path /home/pi/RetroPie/roms/pico8/
                

                Some notes:

                • I have my executable and roms in /home/pi/RetroPie/roms/pico8/ (needs execution permission if external storage)
                • Step 4 is useful for me as I have a DragonRise joystick. If you have others that need more specific settings, you can add yours from the SDL list, or ignore that step - my PS3 controller works perfectly out of the box.
                • Step 6 is needed to have Splore be launched.

                Hope this helps. What games do you have there that you recommend, if you don't mind me asking?

                Best.

                CapemanC 1 Reply Last reply Reply Quote 0
                • CapemanC
                  Capeman @pjft
                  last edited by

                  @pjft Sweet! I'll have to try that, I tried to follow another writeup before but it definitely didn't include some of the steps you detailed above. I'll update it one of these evenings and let you know how it works out for me, thanks!

                  Vector Artist, Designer and Maker of Stuff: Laser Cut Atari / Pixel Theme Bartop

                  pjftP 1 Reply Last reply Reply Quote 0
                  • pjftP
                    pjft @Capeman
                    last edited by

                    @capeman Sure thing. Just saying that these were my notes for my specific setup. Your paths and decisions may vary (for instance, the changes to the .ini file).

                    1 Reply Last reply Reply Quote 0
                    • S
                      silent_lesch
                      last edited by silent_lesch

                      Thank you for the guide. Almost all of it worked in 2021, but there are few things I'd like to alter for those who will come after us.

                      First, there's a typo in pt 5

                      Stick a few into the /home/pi/pico8 folder

                      the correct folder path is /home/pi/pico-8 with a dash. Not a big thing, but if you doing this via SSH, there could be a hiccup.

                      Then, the es_systems.cfg file. There's no such file in /opt/retropie/configs/all/emulationstation by default. Maybe it was changed in some RetroPie update, but anyway. To add a new system to Emulation Staion, you have to:

                      1. Copy the system config to the home folder to make a custom config:
                      cp /etc/emulationstation/es_systems.cfg ~/.emulationstation/es_systems.cfg
                      
                      1. Edit this file and add the Pico8 configuration snippet from the guide
                      nano ~/.emulationstation/es_systems.cfg
                      
                      1. Restart RetroPie
                      sudo shutdown -r now
                      

                      Finally, I use my RetroPie as an emulation station it is. There's no keyboard in my setup, only a gamepad. Therefore I cannot press Ctrl-R to run a cartridge. For those like me who just wanna play their games, just add -run suffix to the command line in the snippet

                      <command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 "/home/pi/pico-8/pico8 %ROM% -run"</command>
                      

                      You still gonna have to manually restart RetroPie (or use ssh), but at least your ROMs will start automatically.

                      Also, as for that WiringPi lib - I'd say that it is needed only if you want to connect a custom controller using GPIO.

                      Anyway, thanks again for the guide. Cheers.

                      1 Reply Last reply Reply Quote 0
                      • T
                        Tupin86
                        last edited by Tupin86

                        I'm still having trouble installing this. I followed all of the instructions and it still kicks me out with a black screen. Is it some issue with permissions? I went into the dev log and this is what I got:

                        Parameters: 
                        Executing: /home/pi/pico-8/pico8 /home/pi/pico-8/picooffroad-5.p8
                        /opt/retropie/supplementary/runcommand/runcommand.sh: line 1279:  1279 Segmentation fault      /home/pi/pico-8/pico8 /home/pi/pico-8/picooffroad-5.p8
                        
                        
                        1 Reply Last reply Reply Quote 0
                        • pjftP
                          pjft
                          last edited by

                          A segmentation fault shouldn't really be a permissions thing.

                          What happens when you run it straight from the command line? What system are you on?

                          T 1 Reply Last reply Reply Quote 0
                          • T
                            Tupin86 @pjft
                            last edited by

                            @pjft
                            "SDL error: Could not initialize EGL

                            FATAL ERROR: Unable to create window

                            Segmentation fault"

                            That's what I get running it from the command line, I'm on a RPi4

                            pjftP 1 Reply Last reply Reply Quote 0
                            • pjftP
                              pjft @Tupin86
                              last edited by pjft

                              @tupin86 Please provide more details per https://retropie.org.uk/forum/topic/3/read-this-first , specifically:

                              • RetroPie Version Used (eg 3.6, 3.8.1, 4.1 - do not write latest):
                              • Built From: (Pre made SD Image on RetroPie website, Berryboot, or on top of existing OS etc.. - please provide the filename of any image used)
                              • Attachment of config files: /boot/config.txt
                              • Pico8 version that you installed, and from.

                              That error you're getting suggests an issue with the video driver being used in your setup.

                              EDIT: it seems @GoodClover had the same issue as you in the past. Maybe others can help here, as I certainly don't have that from my RetroPie setup, but I can certainly imagine that more recent versions use a different video driver that causes issues with Pico8.

                              1 Reply Last reply Reply Quote 0
                              • BenMcLeanB
                                BenMcLean
                                last edited by BenMcLean

                                This is still somewhat confusing as it has you editing files that may not even exist and aren't accessible by the default samba shares. Also, leaving out that chmod step was very bad. I may need to write my own better guide if nobody else has made a simple one.

                                Anyway, I did this over ssh to make es_systems.cfg accessible so I could open it in Notepad++ on Windows

                                sudo cp /etc/emulationstation/es_systems.cfg /opt/retropie/configs/all/emulationstation/
                                

                                I also had to do

                                sudo chmod -R 0777 /opt/retropie/configs/all/emulationstation/es_systems.cfg
                                

                                in order to allow me to edit it. This is not easy stuff for dum-dums. It needs a script really. People who just want to play Pico-8 games cannot understand all this arcane wizardry.

                                Also had to switch to using pico8_dyn

                                I shouldn't have to choose between running the pico8 cartridge directly versus running splore. I should be able to do either one, anytime. How do I fix this?

                                (later edit) More recent guide here: https://retropie.org.uk/forum/topic/30736/how-to-install-pico-8-on-a-raspberry-pi-3-or-4-for-dummies-2021-version?_=1627524066426

                                1 Reply Last reply Reply Quote 0
                                • J JimmyFromTheBay referenced this topic on
                                • First post
                                  Last post

                                Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                                Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.