13.20. Audio Output Troubleshooting

13.20.1. Audio Frequencies Used With Applications
13.20.2. Tracking Audio Sessions
13.20.3. Audio Device Emulation
13.20.4. Problem: Audio is not working
13.20.5. Problem: Audio is not working when playing Adobe Flash Videos on an Oracle Linux Desktop
13.20.6. Problem: Audio is not working with Firefox
13.20.7. Problem: An application ignores the $AUDIODEV environment variable
13.20.8. xmms Player Configuration (Oracle Linux)

This section provides troubleshooting information for audio output on the Sun Ray Clients.

13.20.1. Audio Frequencies Used With Applications

A Sun Ray Client uses whatever audio frequency an application needs, which enables you to configure application audio requirements to help reduce bandwidth and increase scalability. For example, if a VoIP application requests 8kHz mono, a Sun Ray client will transmit only 8kHz mono.

13.20.2. Tracking Audio Sessions

Each time a user logs in to a Sun Ray Client, a script automatically assigns the $AUDIODEV environment variable to that session. One utaudio process is assigned to each session. Refer to the utaudio and audio man pages for more information.

13.20.3. Audio Device Emulation

During hotdesking, an emulated audio device follows the user to the new session. The name of the emulated device is carried in the $AUDIODEV environment variable. It is the responsibility of the audio application to inspect $AUDIODEV and direct its output to that device.

The emulated audio devices are created as device nodes in the /tmp/SUNWut/dev/utaudio directory. This directory tree is recreated at boot time.

Note

Do not remove the /tmp/SUNWut/dev/utaudio directory. If you delete this directory, users with utaudio sessions cannot use their audio pseudo device nodes.

13.20.4. Problem: Audio is not working

  • Use the Sun audio keys (top right of keyboard) and check the volume and mute buttons.

  • Display the Sun Ray session's audio settings:

    $ utsettings

    and verify that the audio output is selected properly, for example, for headphones or speakers.

  • Make sure the volume is not muted in your desktop session.

  • Try a set of external speakers plugged into the Sun Ray Client's audio out or headphones port. If that works, the Sun Ray Client might have a broken speaker.

  • To test whether the audio is working, type the following:

    $ cat audiofile > $AUDIODEV
    

    Oracle Solaris provides suitable sample PCM-encoded audio files in /usr/share/audio/samples/au, so for instance this command:

    $ cat /usr/share/audio/samples/au/gong.au > $AUDIODEV

    should produce the sound of a gong.

    Linux generally does not provide PCM-encoded audio files. If you can not locate a suitable file then this command can be used to generate a continuous tone:

    $ perl -e 'foreach(-8..8){push(@v,pack("n",4*$_))} while(1){print @v}' > $AUDIODEV

    If the cat or perl command hangs, you might need to quit any other applications that are currently trying to play audio, for example, a browser.

13.20.5. Problem: Audio is not working when playing Adobe Flash Videos on an Oracle Linux Desktop

This problem is likely occurring because you are using the latest releases of Firefox or Adobe Flash Player, which provide only ALSA sound support. Oracle Linux versions supported by Sun Ray Software provide only OSS sound support. For a workaround to this problem, see Knowledge Article 1464502.1.

13.20.6. Problem: Audio is not working with Firefox

  • Check the current release of the Flash plugin and make sure it is at version 9.0.r125 or later. To check the Flash plugin version, type about:plugins as the URL in the browser.

  • Try quitting Firefox and explicitly restart it in a terminal window.

  • If all else fails, quit Firefox, go to your .mozilla directory, and rename the "firefox" directory to something else, for example, firefox.jan09. Then, restart Firefox and see whether the audio works with a completely clean configuration.

    If the audio works with the clean configuration, then something is wrong in your browser's previous configuration.

13.20.7. Problem: An application ignores the $AUDIODEV environment variable

Some applications fail to honor $AUDIODEV and unconditionally use a specific audio device node such as /dev/audio or /dev/dsp. To work around this shortcoming, Sun Ray Software provides a preloadable shared library libc_ut.so that can be used to interpose on an application and redirect its activities to the device specified by $AUDIODEV. To put this redirection into effect:

  1. Navigate to the shell or wrapper from which you started the audio player.

  2. Set the environment variable LD_PRELOAD in the player application's environment to refer to the libc_ut.so interposer:

    $ LD_PRELOAD=libc_ut.so
    $ export LD_PRELOAD
  3. Restart the application.

13.20.8. xmms Player Configuration (Oracle Linux)

To configure an xmms player to play mp3 files, perform the following steps:

  1. Change the preferences on xmms output plugin to add more buffering.

  2. Change the buffer size to 10000 ms and the Pre-Buffer percent to 90.

    When you run xmms, from command line or menu, click on the O (letter O) on the left side of the panel to bring up the Preferences menu.

  3. Under the Audio I/O Plugins button, select Output Plugin OSS Driver and click Configure.

  4. Select Buffering.

    1. The default Buffer size is 3000 ms. Change this to 10000 ms.

    2. The default Pre-buffer percent is 25. Change this to 90.

  5. Click OK, then click OK on the Preferences panel.

  6. Exit xmms and restart it.