Digital output (S/PDIF) for SoundBlaster Live! not working
Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Digital output (S/PDIF) for SoundBlaster Live! not working
Hi,
After many fruitless weeks of reading forums, newsgroups etc, I still fial to get digital output working my SoundBlaster Live Platinum. Ordinary PCM output is passed to the digital receiver witout a problem, but as soon as I try AC3 or DTS it's all silence.
I have unmuted the IEC958 channel in alsamixer and added gain to them. However all still fails.
Please find below the output of relevant commands:
uname -a
Code:
Linux Mediacenter 2.6.31-14-generic #48-Ubuntu SMP Fri Oct 16 14:04:26 UTC 2009 i686 GNU/Linux
aplay -L
Code:
default:CARD=Live
SB Live! Platinum [CT4760P], ADC Capture/Standard PCM Playback
Default Audio Device
front:CARD=Live,DEV=0
SB Live! Platinum [CT4760P], ADC Capture/Standard PCM Playback
Front speakers
rear:CARD=Live,DEV=0
SB Live! Platinum [CT4760P], ADC Capture/Standard PCM Playback
Rear speakers
center_lfe:CARD=Live,DEV=0
SB Live! Platinum [CT4760P], ADC Capture/Standard PCM Playback
Center and Subwoofer speakers
surround40:CARD=Live,DEV=0
SB Live! Platinum [CT4760P], ADC Capture/Standard PCM Playback
4.0 Surround output to Front and Rear speakers
surround41:CARD=Live,DEV=0
SB Live! Platinum [CT4760P], ADC Capture/Standard PCM Playback
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Live,DEV=0
SB Live! Platinum [CT4760P], ADC Capture/Standard PCM Playback
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Live,DEV=0
SB Live! Platinum [CT4760P], ADC Capture/Standard PCM Playback
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
iec958:CARD=Live,DEV=0
SB Live! Platinum [CT4760P], Multichannel Capture/PT Playback
IEC958 (S/PDIF) Digital Audio Output
null
Discard all samples (playback) or generate zero samples (capture)
default:CARD=rev50
VIA 82C686A/B rev50, VIA 82C686A/B rev50
Default Audio Device
front:CARD=rev50,DEV=0
VIA 82C686A/B rev50, VIA 82C686A/B rev50
Front speakers
iec958:CARD=rev50,DEV=0
VIA 82C686A/B rev50, VIA 82C686A/B rev50
IEC958 (S/PDIF) Digital Audio Output
00:00.0 Host bridge: VIA Technologies, Inc. VT8363/8365 [KT133/KM133] (rev 03)
00:01.0 PCI bridge: VIA Technologies, Inc. VT8363/8365 [KT133/KM133 AGP]
00:07.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South] (rev 40)
00:07.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06)
00:07.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 1a)
00:07.3 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 1a)
00:07.4 Bridge: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI] (rev 40)
00:07.5 Multimedia audio controller: VIA Technologies, Inc. VT82C686 AC97 Audio Controller (rev 50)
00:11.0 SCSI storage controller: Adaptec AHA-2940U2/U2W
00:12.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 05)
00:12.1 Input device controller: Creative Labs SB Live! Game Port (rev 05)
00:13.0 Ethernet controller: ADMtek NC100 Network Everywhere Fast Ethernet 10/100 (rev 11)
00:14.0 Multimedia video controller: Brooktree Corporation Bt848 Video Capture (rev 12)
01:00.0 VGA compatible controller: nVidia Corporation NV11 [GeForce2 MX/MX 400] (rev a1)
cat /proc/modules | grep emu10k1
Code:
snd_emu10k1_synth 6140 0 - Live 0xf1237000
snd_emu10k1 135136 1 snd_emu10k1_synth, Live 0xf1165000
snd_ac97_codec 101216 2 snd_via82xx,snd_emu10k1, Live 0xf111a000
snd_pcm 75296 4 snd_via82xx,snd_emu10k1,snd_ac97_codec,snd_pcm_oss, Live 0xf10a7000
snd_page_alloc 9156 3 snd_via82xx,snd_emu10k1,snd_pcm, Live 0xf1085000
snd_emux_synth 32860 1 snd_emu10k1_synth, Live 0xf1071000
snd_hwdep 7200 2 snd_emu10k1,snd_emux_synth, Live 0xf1045000
snd_rawmidi 22208 4 snd_mpu401_uart,snd_emu10k1,snd_seq_virmidi,snd_seq_midi, Live 0xf1006000
snd_timer 22276 3 snd_emu10k1,snd_pcm,snd_seq, Live 0xf0fc0000
snd_seq_device 6920 8 snd_emu10k1_synth,snd_emu10k1,snd_emux_synth,snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq, Live 0xf0fb1000
snd 59204 15 snd_via82xx,snd_mpu401_uart,snd_emu10k1,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_emux_synth,snd_seq_virmidi,snd_hwdep,snd_seq_oss,snd_rawmidi,snd_seq,snd_timer,snd_seq_device, Live 0xf0f9b000
snd_util_mem 4156 2 snd_emu10k1,snd_emux_synth, Live 0xf0dc4000
emu10k1_gp 2492 0 - Live 0xf09a0000
gameport 11368 3 snd_via82xx,emu10k1_gp, Live 0xf086a000
This is really frustrating and makes me almost reinstall the whole thing under Windows, where at least the card works properly. So please help, as I really want to have it running on Linux.
It let me to some new search, indicating that (far as I can see now) the Linux driver for the SB Live! does not support this.
Code:
speaker-test -twav -c6 -Diec958:Live
speaker-test 1.0.20
Playback device is iec958:Live
Stream parameters are 48000Hz, S16_LE, 6 channels
WAV file(s)
Channels count (6) not available for playbacks: Invalid argument
Setting of hwparams failed: Invalid argument
Code:
speaker-test -twav -c2 -Diec958:Live
speaker-test 1.0.20
Playback device is iec958:Live
Stream parameters are 48000Hz, S16_LE, 2 channels
WAV file(s)
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 512 to 16384
Period size range from 256 to 8192
Using max buffer size 16384
Periods = 4
was set period_size = 4096
was set buffer_size = 16384
0 - Front Left
1 - Front Right
Guess I'll have to do without surround sound on Linux then. Pretty annoying.
If anyone can recommend a card where 5.1 sound actually works on Linux that would be greatly appreciated.
SPDIF supports only two channels of PCM data. Algorithms like AC-3 and DTS are used to compress surround sound data down to the bandwidth that is the same as a stereo stream.
To play surround sound through a digital output, you need data that is already encoded (like the sound track of a DVD), or you have to tell the computer to encode the data.
Does "mplayer -ac hwac3,hwdts, dvd://1" work?
I don't know of any Linux distribution that ships with an AC-3 encoder; you'll have to install the A52 plugin yourself.
Thanks for the tips. I'll give the A52 plugin a go and post the results later. Mplayer does not do the trick. Here's the output of the mplayer command:
Code:
root@Mediacenter:~# mplayer -ac hwac3,hwdts, dvd://1
MPlayer SVN-r29237-4.4.1 (C) 2000-2009 MPlayer Team
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.
Playing dvd://1.
libdvdread: Encrypted DVD support unavailable.
*** Zero check failed in libdvdread4/ifo_read.c:2057
for vts_attributes->vtstt_subp_attr[i] = 0x40006e650001
*** Zero check failed in libdvdread4/ifo_read.c:2057
for vts_attributes->vtstt_subp_attr[i] = 0x400073650001
*** Zero check failed in libdvdread4/ifo_read.c:2057
for vts_attributes->vtstt_subp_attr[i] = 0x400073650001
*** Zero check failed in libdvdread4/ifo_read.c:2057
for vts_attributes->vtstt_subp_attr[i] = 0x40006e650000
There are 16 titles on this DVD.
There are 1 angles in this DVD title.
audio stream: 0 format: ac3 (5.1) language: en aid: 128.
audio stream: 1 format: ac3 (stereo) language: es aid: 129.
audio stream: 2 format: ac3 (stereo) language: en aid: 130.
number of audio channels on disk: 3.
subtitle ( sid ): 0 language: unknown
subtitle ( sid ): 1 language: unknown
number of subtitles on disk: 2
MPEG-PS file format detected.
VIDEO: MPEG2 720x480 (aspect 3) 29.970 fps 9801.6 kbps (1225.2 kbyte/s)
open: No such file or directory
[MGA] Couldn't open: /dev/mga_vid
open: No such file or directory
[MGA] Couldn't open: /dev/mga_vid
[VO_TDFXFB] Can't open /dev/fb0: No such file or directory.
[VO_3DFX] Unable to open /dev/3dfx.
Xlib: extension "XFree86-VidModeExtension" missing on display "localhost:10.0".
Xlib: extension "XVideo" missing on display "localhost:10.0".
[VO_XV] Sorry, Xv not supported by this X11 version/driver
[VO_XV] ******** Try with -vo x11 or -vo sdl *********
[vdpau] Could not open dynamic library libvdpau.so.1
==========================================================================
Opening video decoder: [mpegpes] MPEG 1/2 Video passthrough
VDec: vo config request - 720 x 480 (preferred colorspace: Mpeg PES)
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
The selected video_out device is incompatible with this codec.
Try appending the scale filter to your filter list,
e.g. -vf spp,scale instead of -vf spp.
VDecoder init failed :(
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Unsupported PixelFormat -1
Selected video codec: [ffmpeg2] vfm: ffmpeg (FFmpeg MPEG-2)
==========================================================================
==========================================================================
Forced audio codec: hwac3
Opening audio decoder: [hwac3] AC3/DTS pass-through S/PDIF
No accelerated IMDCT transform found
hwac3: switched to AC3, 192000 bps, 48000 Hz
AUDIO: 48000 Hz, 2 ch, ac3, 192.0 kbit/12.50% (ratio: 24000->192000)
Selected audio codec: [hwac3] afm: hwac3 (AC3 through S/PDIF)
==========================================================================
[pulse] working around probably broken pause functionality,
see http://www.pulseaudio.org/ticket/440
AO: [pulse] Init failed: Connection refused
Failed to initialize audio driver 'pulse'
AO: [alsa] 48000Hz 2ch ac3 (1 bytes per sample)
Starting playback...
VDec: vo config request - 720 x 480 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
VO: [x11] 720x480 => 854x480 Planar YV12
Shared memory not supported
Reverting to normal Xlib
[swscaler @ 0x6db240]using unscaled yuv420p -> rgb32 special converter
[mpeg2video @ 0x26fdae0]ac-tex damaged at 17 6
[mpeg2video @ 0x26fdae0]Warning MVs not available
[mpeg2video @ 0x26fdae0]concealing 1080 DC, 1080 AC, 1080 MV errors
A: 2.1 V: 0.4 A-V: 1.684 ct: 0.017 7/ 6 ??% ??% ??,?% 4 0
AFAIK PulseAudio does not support AC-3 passthrough.
When using ALSA, you must use the SPDIF output instead of the default analog output, i.e., replace "hw" with "spdif" in the device name.
Ok,tried replacing "hw" with "spdif" and "ice958". At least it get's rid of the "alsa-lib: con.c" errors. But there's still no sound. The receiver indicates that it get's no signal at all.
Sorry, no, I've just given up on that. I've come to believe that this is not possible with this card. So for now I use the analog output over SPDIF and consider buying a new card. (Just need to find one that will work under Linux).
Quote:
Originally Posted by Goras
lpwevers: I'm having the same problem you have. I'm running Ubuntu natty with a Sound Blaster Audigy 2 Value (SB0400).
If I try to use spdif passthrough I get a horrible clicking sound.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.