Hello,
This is my first post here.
I am completely new to openSUSE, I installed it today and I am trying to configure my system.
I am a former MS Windows user, but since 2008, I have switched to Linux, however Debian based distributions.
I am making a big step here and I need some help.
I have an ASUS Xonar DS sound card and DTS & Dolby Digital decoder connected to the card via optical cable.
The decoder does not have analogue connections and thus digital is the only way to go.
Listening to music (youtube) only on 2 speakers out of 5.1 is also not an option and thus up-mixing system-wide is needed.
The card is capable of hardware up-mixing and hardware on-the-fly encoding to DTS, known as DTS Interactive.
As far as I know, this feature is not supported on Linux and thus the only solution is software up-mixing.
To my knowledge there are two alsa plugins for this job:
- a52 - Dobly Digital
- dca - DTS
Let me explain you what I have done…
- a52 - Dolby Digital
The alsa-plugins-a52 is not available in the repositories, thus I had to build it from source.
After adding the source repositories, I installed the following packages:
$ zypper in libffmpeg-devel
$ zypper source-install alsa-plugins
then I compiled from source:
$ cd /usr/src/packages/SOURCES
$ tar xvf alsa-plugins-*
$ cd alsa-plugins-*
$ ./configure
$ make
then copied the library:
$ cd a52/.libs
$ cp libasound_module_pcm_a52.so /usr/lib64/alsa-lib/ #for 64bit system (mine is a 64bit system)
$ cp libasound_module_pcm_a52.so /usr/lib/alsa-lib/ #for 32-bit legacy systems
then created a file at ~/.asoundrc with the following content:
pcm.a52 {
@args [CARD]
@args.CARD {
type string
}
type rate
slave {
pcm {
type a52
bitrate 448
channels 6
card $CARD
}
rate 48000 #required somehow, otherwise nothing happens in PulseAudio
}
}
then restarted both ALSA and PulseAudio:
$ sudo alsactl restore
$ pulseaudio --kill
then i install pavucontrol:
sudo zypper in pavucontrol
and i run it. I navigated to the Configuration tab and selected the Digital Surround 5.1 profile.
I expected the above to work and it did, but with issues.
Opening a video on youtube, it hangs and the video does not start playing.
Changing the profile to analogue, makes it start and when changing again to digital, while playing, does the job.
This means that for every video, that I open, i have to do that procedure and the same holds true for every other programs that tries to connect to the sound card.
I’ve had such an issue in Debian and solved it with a workaround. I created a virtual device by adding the following in /etc/pulse/default.pa:
load-module module-alsa-sink device=a52 rate=48000 channels=6 tsched=0 sink_properties=device.description=SPDIF sink_name=SPDIF channel_map=front-left,front-right,rear-left,rear-right,front-center,lfe
but it seems that in openSUSE it does not work. PulseAudio won’t load after adding the above lines.
And that’s pretty much what i have done and where I got with a52. It works nice, cpu usage is low and the sound quality is great… but…
- dca - DTS
I found out that unlike a52 plugin, openSUSE the dca plugin in the repositories, so I installed it:
$ sudo zyppper in alsa-plugins-dca
and then I copied the configuration file to my ~/.asoundrc:
$ cp /usr/share/alsa/pcm/dca.conf ~/.asoundrc
then I restarted ALSA and PulseAudio and opened pavucontrol to set my sound card to the digital profile and it worked!
However, the sound quality is bad, increasing or decreasing the volume makes the sound crack and there is noise in general.
I have tried everything I found in link below to get rid of the problem and improve the quality, but no success.
https://wiki.archlinux.org/index.php/PulseAudio/Troubleshooting#Audio_quality
I have two way to do software up-mixing, both of them are working, but with serious problems both of them.
Any ideas?
P.S. Running openSUSE 13.2 64bit