RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    ProjectM on RetroPie

    Scheduled Pinned Locked Moved Projects and Themes
    openglretropieprojectm
    2 Posts 2 Posters 766 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.
    • A
      appas
      last edited by

      Hi,
      I quite like the Milkdrop/ProjectM music visualizer, so I thought it'd be nice to run it from the same Raspberry Pi 3+ as my RetroPie.
      First, I compiled projectM on the RetroPie box. Then I compiled the SDL2 Frontend. I then used ChatGPT to build a custom launcher:
      Under /home/pi/RetroPie/roms/projectm I created this file by the name of projectm.sh:

      #!/bin/bash
      xrandr -s 1920x1080
      sudo xinit /usr/local/bin/projectm-sdl2 --width 1920 --height 1080 --presetPath /home/pi/presets-cream-of-the-crop-master -- -f
      

      Then in /etc/emulationstation/es_systems.cfg I put

      <system>
        <name>projectm</name>
        <fullname>projectm</fullname>
        <path>/home/pi/RetroPie/roms/projectm</path>
        <extension>.sh .SH</extension>
        <command>/bin/bash %ROM%</command>
        <platform>projectm</platform>
        <theme>projectm</theme>
      </system>
      

      As part of the systemlist element.

      Then under /etc/emulationstation/themes/projectm add the file theme.xml with the contents

      <theme>
        <systemView>
          <image>art/systems/projectm.svg</image>
          <textColor>#FFFFFF</textColor>
        </systemView>
        <homeMenu>
          <image>art/screens/projectm.svg</image>
          <textColor>#FFFFFF</textColor>
        </homeMenu>
      </theme>
      

      I needed to put the projectm.svg in

      /etc/emulationstation/themes/carbon-2021/art/systems/projectm.svg
      /etc/emulationstation/themes/carbon-2021/art/controllers/projectm.svg
      

      so that it was picked up correctly.

      After that, I have a ProjectM entry in my EmulationStation. There is 1 "game" under it, which launches the projectM SDL2 Frontend. It works - but it's very slow.

      I remember running MilkDrop full framerate on lesser hardware, so if anyone could help me speed up the visualizer, that'd be great. I think it has to do with the GL driver: I built projectM with GL ES enabled, but I have the "Legacy" GL Driver selected, because EmulationStation won't start with either the "Fake" or the "Full" GL Driver. See here: https://retropie.org.uk/forum/topic/33764/unable-to-start-emulationstation/2?_=1673488951007

      I tried installing xserver-xorg-video-fbturbo to get accelerated framebuffers, but it's still slow.
      How can I get a GL driver and still be able to use EmulationStation?

      1 Reply Last reply Reply Quote 0
      • A
        appas
        last edited by

        @appas
        Here are a few images to show the progress so far.

        projectm1.png
        projectm2.png
        projectm3.png

        Never mind the source text glitching on top of the menu; that's an artifact of raspi2png which I'm using to take screenshots, and it doesn't actually look like that.

        1 Reply Last reply Reply Quote 2
        • 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.