FAQ: Linux version
Will StepMania run on my machine?
If you can already run other 3D games, you'll be able to run StepMania. If you've never run a 3D game before, go to a terminal window and run:
"glxinfo | grep direct rendering "
If it shows "yes", you will likely have no problems at all. If it says "no", you need new driver software for your video card or you will get the dreaded message::
"Your system is reporting that direct rendering is not available. Please
obtain an updated driver from your video card manufacturer."
StepMania performs poorly in Linux, espeically with older video cards
The video card or video driver is almost always the bottleneck.
Generally, if using a driver from Nvidia, Intel or ATI, performance will be as good in Linux as in Windows. When using DRI drivers, especially with older video cards, performance will likely be worse than using the same video card with Windows video drivers.
StepMania performs poorly in Linux, With new fancy cards!
Try turning off desktop effects in KDE4 or Compiz. KDE4 has a widget that allows for easily turning on/off desktop offects.
How do I get a driver that does direct rendering (and why don't the default Linux drivers work)?
Direct rendering on video cards is usually done by proprietary software. NVIDIA will not release open source versions. Install the proprietary driver. ATI's open source "radeonhd" drivers are not ready for use. Use the proprietary driver. Intel graphics are fully 3D and fully open source. Works right away.
nVidia video cards: They work well. Install the driver from your distribution's hardware manager. Information http://www.nvidia.com/content/drivers/drivers.asp .
ATI video cards: Linux support has become a number 1 priority nowadays. Their open source drivers are not ready, but their proprietary one is. Install the driver from your distribution's hardware manager. Information http://ati.amd.com/support/drivers/linux/linux-radeon.html .
Intel video cards: These cards should work with 3D right away. On the liveCD even. Information http://intellinuxgraphics.org/ .
Configuring X to use the drivers: If the drivers are installed by the hardware manager or package manager, but you aren't getting 3D, try opening of a terminal and using:
Nvidia: sudo nvidia-xconfig ATI: sudo aticonfig --initial sudo aticonfig --overlay-type=Xv
If all else fails, you will need to modify your X config file to load the correct drivers and operate their options. The config file is either called xorg.conf or XF86Config.conf and you'll normally find it under /etc/X11. FIRST, SAVE YOUR EXISTING FILE. You never know -- you may want it again!!! The config file mods vary with your driver.
Excellent information on this on the Ubuntu forum. If you don't use Ubuntu and cannot find specific info for your Linux package, check the Ubuntu forum anyway; lots of the info there is relevant to all versions of Linux http://www.ubuntuforums.org/. Search for HOWTO nvidia or HOWTO ATI.
R200 Open Source Drivers
Current open source Mesa 6.5 R200 drivers (ATI 8500 series) should work fine with stepmania. (250fps avg with default settings on demo) (AMD AthlonXP 2600+)
I'm having problems getting sound to work in Linux with KDE 3.x
KDE is a desktop environment; ALSA and OSS are sound systems. KDE 3 has its own sound layer, aRts, but we don't use it--we use the system interface.
Now, some people might have some difficulty getting StepMania and aRts to both run at once: StepMania plays sounds directly to the hardware (hw:0), and not through the default interface (default), since going through dmix has traditionally caused problems. That means that if your hardware doesn't support hardware mixing, only one or the other can play at once, and KDE 3 might be one of those "keep audio open all the time" apps. You can override this by setting "SoundDevice=default" in StepMania.ini, to see if it works properly now.
If the above doesn't help, kill the "artsd" process (which is the KDE sound layer) or by disabling aRts in the KDE 3 system settings/kcontrol. You can also run the program, prefixing it with "artsdsp" which redirects accesses to the system sound through the arts layer.
I'm getting the error: "SetVideoMode failed: Couldn't find matching GLX visual"
You can test if openGL works with a simple 3D application that comes with XFree86/X.org:
For more information about troubleshooting 3D acceleration:
Joysticks don't work in the Linux version.
Some notes courtesy of Aaron VonderHaar:
- * Depending on SDL compile-time options, it may only be looking for /dev/js?.
- * If the system has devfs, then the joysticks may actually be in /dev/js/? or /dev/input/js? -- I couldn't figure out how to tell SDL where to look, so I ended up making symlinks (e.g. /dev/js0 => /dev/js/0 or /dev/input/js0).
- * Check that the necessary joystick modules aren't properly loaded.
- * There are latency issues with the parallel port joystick driver.
When I run under Linux, I get the error "SDL 1.2.6 is required"
Depending on your Linux distribution (Redhat, SuSE, etc.), see if do a search in their package listing for "SDL". Install the latest release of SDL 1.2.6.
Movies don't play, and in the log I see "WARNING: Unknown movie driver name: FFMpeg"
You need to install the ffmpeg-devel package. Then, reconfigure and recompile.
I never trust binaries; how hard is it to compile this program from source?
It's pretty easy to compile from source so long as you are comfortable downloading packages for your version of Linux. For RedHat/Mandrake, you should be familiar with rpm. For Debian/Ubuntu/Kubuntu, you should know about the synaptic package manager or the apt-get command. (Dunno about other Linuxes.)
Download the StepMania source files and run the configure program. It will tell you what you are missing. Note that you'll be wanting development (-dev) versions of the missing packages. For example, you'll need liblua50-dev and liblualib50-dev, not just liblua50. You can search for packages with the software center.
Once autogen.sh has run cleanly, run Utils/build.sh. When it has run perfectly, you'll find two programs in the src/ directory: GtkModule.so and stepmania. Now, you need to set up all the directories that stepmania expects to find. And you'll want some starter data files. Probably the easiest way to get these and set them up is simply to download the the Stepmania binary tar.gz. (!) Once you've unpacked it, simply replace its version of GtkModule.so and stepmania with your freshly compiled ones. cd to the directory and incant ./stepmania
Stuff To Watch Out For
- If you are compiling StepMania 3.9 with a version of GCC 4, make sure you do NOT use optimizations above -O1, as this causes songs to loop forever. This bug is not present in StepMania 4.0.
- Some versions of the build scripts do not move GtkModule.so to the output directory, causing stepmania to fail to load. Copy it from the build directory to the output directory.
You can find the repository locations for various versions at their pages on the wiki:
Can I run StepMania in a version of Windows on VMware/Virtual PC?
Perhaps. In general, these systems don't support 3D acceleration, but that may be changing. The January 2006 issue of Linux Journal has an article on running Windows games in Linux (p 48). Check it out.
It has compiled, but crashes
Make sure all of your libraries are up to date.
Stepmania crashing on a dual core (or otherwise SMP) setup
Some people have had issues with SMP Linux setups crashing when running Stepmania. Currently, this problem can be solved by assigning Stepmania and affinity to a single processor.
To do this, first get schedutils using your package manager.
For example, on Gentoo Linux you can use:
# emerge schedutils
Or on Ubuntu, Kubuntu, Fluxbuntu, Debian, etc:
# apt-get install schedutils
Then you can launch Stepmania with a bitmask telling Linux which processor(s) to use with
taskset. Generally, to fix this issue you will want to pick only one processor. These masks are in hexidecimal, like so:
0x00000001 which will bind it to processor 0. So, to run it on processor 0, run:
$ taskset 0x00000001 ./stepmania
You can alternately run it on any other single processor unit (
0x00000004, etc), but the above should fix the problem.
Stepmania crashing with Xinerama
Recent versions of stepmania may not run if your display is set to xinerama mode because of a confliction with a module that stepmania relies on. Disable xinerama and it should run properly.
Make sure the package that the library comes from is installed properly, and make sure that if you have a 64 bit system (many of which can run both 32 and 64 bit executables) that the library is of the correct format. Some libraries and the packages they come in:
- libmad.so.0 (libmad)
- libSDL_image-1.2.so.0 (libsdl-image1.2)
- liblua.so (liblua50 and liblualib50)
- libwswcale.so.0 (ffmpeg)
- GtkModule.so (part of stepmania, find it in the build folder)