Forums » StepMania Development » StepMania on Raspberry Pi with OpenGL Driver?

1
https://www.raspberrypi.org/blog/another-new-raspbian-release/
There's now experimental support for the VC4 driver in Raspbian (so OpenGL things should work natively now). Would this happen to allow StepMania to be playable on the RPi?

Edit: Got SM5 compiled, but performance isn't ideal (about 20-30). SM5 seem to use a lot of CPU and can easily max a core.

Video:
https://www.youtube.com/watch?v=GAGRCerCWAU

Process:

- Install dependencies
sudo apt-get install cmake gcc g++ libmad0-dev libgtk2.0-dev binutils-dev git-core make libasound2-dev yasm libc6-dev libogg-dev libvorbis-dev libbz2-dev zlib1g-dev libjpeg8-dev libpng12-dev libxtst-dev libxrandr-dev libglew-dev libglu1-mesa-dev mesa-common-dev automake autoconf libva-dev libjack-dev


- Grab source
cd '/home/pi' && git clone -b master 'https://github.com/stepmania/stepmania.git' '/home/pi/stepmania' && sync


- Update source
cd '/home/pi/stepmania' && git pull origin master && cd '/home/pi' && sync


- Create directories
mkdir '/home/pi/sm5-build' '/home/pi/sm5-run' && cd '/home/pi/sm5-build'


- Compile it (FFMPEG disabled for testing, crash handler disabled because of unknown processor, SSE disabled since ARM doesn't support that; Texture cache and GLES2 disabled for testing)
cmake '/home/pi/stepmania' -DCMAKE_INSTALL_PREFIX='/home/pi/sm5-run' -DWITH_FFMPEG=0 -DWITH_CRASH_HANDLER=0 -DWITH_SSE2=0 -DWITH_FULL_RELEASE=1 -DWITH_TEXTURE_GENERATOR=0 -DWITH_GLES2=0 && sync && make install -j6 && sync


- Create shortcut
mkdir -p '/home/pi/.local/share/icons/hicolor/256x256/apps' && cp '/home/pi/stepmania/icons/hicolor/256x256/apps/stepmania-ssc.png' '/home/pi/.local/share/icons/hicolor/256x256/apps/ASM3_Sm5.0.png' && nano '/home/pi/.local/share/applications/StepMania.desktop'

[Desktop Entry]

Name=StepMania
Exec=/home/pi/sm5-run/stepmania-5.0/stepmania
Type=Application
StartupNotify=true
Path=/home/pi/sm5-run/stepmania-5.0
Icon=ASM3_Sm5.0


- Run it (use the new shortcut in Other or use terminal)

Last edited: 10 February 2016 12:48am

Reply
I tried to build the current master branch, which succeeds.
But when running on my recent Raspbian install sm gives segmentationfault in function RageDisplay::FrameLimitBeforeVsync( int iFPS )

What could cause this? Anyone got around this?
Reply
Would be interesting to try this with the just released faster Pi 3.
Reply
I got StepMania 5 compiled on the Raspberry pi 3 using the above instructions, with the following compiler options:

cmake '/home/pi/stepmania' -DCMAKE_INSTALL_PREFIX='/home/pi/sm5-run' -DWITH_FFMPEG=1 -DWITH_MINIMAID=0 -DWITH_CRASH_HANDLER=0 -DWITH_SSE2=0 -DWITH_FULL_RELEASE=1 -DWITH_TEXTURE_GENERATOR=0 -DWITH_GLES2=0 && make install -j8 && sync

However I get a segfault whenever I attempt to run the executable. Does anyone here have any thoughts on how to go about troubleshooting this further?

Here is the output when I attempt to run the program:

pi@raspberrypi:~/sm5-run/stepmania-5.0 $ ./stepmania
StepMania5.0.10
Compiled 20160323 @ 01:11:31 (build 6a73cdd)
Log starting 2016-03-24 09:13:31

(stepmania:2357): GdkPixbuf-WARNING **: Bug! loader 'png' didn't set an error on failure

(stepmania:2357): Gtk-WARNING **: Error loading theme icon 'image-missing' for stock: Internal error: Image loader module 'png' failed to complete an operation, but didn't give a reason for the failure
Loading window: gtk
OS: Linux ver 040119
Runtime library: glibc 2.19
Threads library: NPTL 2.19
libavcodec: 0x372765 (3614565)
ALSA: Advanced Linux Sound Architecture Driver Version k4.1.19-v7+.
ALSA Driver: 0: bcm2835 ALSA [ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA], 8/8 subdevices avail
ALSA Driver: 0: bcm2835 ALSA [ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI], 1/1 subdevices avail
ALSA: Mixing at 44100hz
ALSA: chunksize adjusted from 64 to 256
Sound driver: ALSA-sw
Lights driver: SystemMessage
Lights driver: Export

(stepmania:2357): Gtk-CRITICAL **: IA__gtk_style_detach: assertion 'style->attach_count > 0' failed
Video renderers: 'opengl'
Display: :0.0 (screen 0)
X server vendor: The X.Org Foundation [1.17.2.0]
Server GLX vendor: SGI [1.4]
Client GLX vendor: Mesa Project and SGI [1.4]
Paletted textures disabled: GL_EXT_paletted_texture missing.
Segmentation fault
Reply
Update, I was able to get the game to run by enabling experimental OpenGL support in the Raspi config menu. The performance, sadly, is not much better than Espionage724 reported on his RPi2-- CPU utilization hovers around 75% for a single core (better), but FPS maxes out at 30 and is often lower. The sound is crackly and cuts out if I switch focus to another window.

Hopefully future iterations of the RPi will be powerful enough to run this--I really like the idea of a self-contained RPi powered Stepmania machine.
Reply
Guys thanks for the hard work I was going to try this endeavor but will back out I have seen DDR running on mame so this may be an option for the time being but isn't stepmania
Reply