An Oracle blog about Openomics

  • sun
    June 12, 2009

Playing Freeciv with sounds

Guest Author

My mistake, the Freeciv (Open)Solaris x86 binaries that I build & shared last month did not have audio enabled.

$ civclient
2: No real audio plugin present.
2: Proceeding with sound support disabled
2: For sound support, install SDL_mixer
2: http://www.libsdl.org/projects/SDL_mixer/index.html

I have re-built Freeciv 2.1.9 with sound support, the binaries are available in the same location at opensolaris.free.fr. Under OpenSolaris, you will need to install libSDL_mixer under /usr/local on your system, for it to work. Under Solaris 10, you additionally need to install libSDL. For your convenience, I have built them both and uploaded them to opensolaris.free.fr, so all you need is to unzip these archives under /usr/local, no compilation needed.

Of course, audio needs to be working in the first place. If not, you will be getting the following error.

$ civclient
1: Error calling Mix_OpenAudio
1: Plugin sdl found but can't be initialized.
2: No real audio subsystem managed to initialize!
2: Perhaps there is some misconfiguration or bad permissions
2: Proceeding with sound support disabled
esd: Opening /dev/audio device failed: Unknown error

If this happens to you --it happened to me as I am running OpenSolaris under Virtual Box, some missing driver specification I have read here--, you have the option to play around with the Solaris built-in audio driver --try update_drv -a -i '"pci8086,2415"' audio810-- or to install Open Sound System™ from 4Front Technologies.

$ pfexec pkgadd -d oss-solaris-v4.1-1052-i386.pkg 
The following packages are available:
1 oss Open Sound System
(i386) v4.1-1052
# ossdetect
rem_drv osscore
rem_drv oss_ich
rem_drv oss_usb
rem_drv oss_sadasupport
unloaded osscommon
add_drv -m '\* 0666 root sys' osscore
add_drv -m '\* 0666 root sys' -i '"pci8086,2415"' oss_ich
add_drv -m '\* 0666 root sys' -i '"usbif,class1"' oss_usb
add_drv -m '\* 0666 root sys' oss_sadasupport
$ osstest
Sound subsystem and version: OSS 4.1 (b 1052/200903242128) (0x00040100)
Platform: SunOS/i86pc 5.11 snv_111b
\*\*\* Scanning sound adapter #-1 \*\*\*
/dev/oss/oss_ich0/pcm0 (audio engine 0): Intel ICH (2415)
- Performing audio playback test...
<left> OK <right> OK <stereo> OK <measured srate 45036.00 Hz (-6.18%)>
\*\*\* All tests completed OK \*\*\*

As a final comment, if you want to build Freeciv on Solaris yourself, the winning command line is the following.

$ LDFLAGS='-L/usr/local/lib -R/usr/local/lib' ./configure --with-sdl-prefix=/usr/local

Join the discussion

Comments ( 1 )
  • Frederic Pariente Friday, June 12, 2009

    A quick Freeciv tip... If the Freeciv binaries are not in $PATH, civclient is not able to start a civserver and will ask you to do so manually. Make sure to have /usr/local/bin in your PATH then.

Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.