XBMC PulseAudio passthrough support (including Nvidia) is available

  Thread Rating:
  • 3 Votes - 4 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
mightymouse2045 Offline
Member
Posts: 52
Joined: Feb 2012
Reputation: 0
Question  Latest git pull for pulseaudio seems broken
Post: #256
Hi,

I just did a git pull for the pulseaudio and when I run make it appends UNKNOWN.UNKNOWN for the version eg:

libpulsecommon_UNKNOWN.UNKNOWN_la-poll.lo

and tries to install the modules to /lib/modules/pulse-UNKNOWN.UNKNOWN


The previous build etc was fine so not sure if something has changed to break this? Is there any way i can manually set the version to 1.1?

EDIT:

Output from ./configure -V

pulseaudio configure UNKNOWN-dirty
generated by GNU Autoconf 2.68

SOLVED:

Just edited configure and replaced all instances of UNKNOWN-dirty with 1.1 and that fixed it
(This post was last modified: 2012-02-24 05:18 by mightymouse2045.)
find quote
forall Offline
Member
Posts: 54
Joined: Nov 2011
Reputation: 0
Post: #257
mightymouse2045 Wrote:Hi,

I just did a git pull for the pulseaudio and when I run make it appends UNKNOWN.UNKNOWN for the version eg:

libpulsecommon_UNKNOWN.UNKNOWN_la-poll.lo

and tries to install the modules to /lib/modules/pulse-UNKNOWN.UNKNOWN


The previous build etc was fine so not sure if something has changed to break this? Is there any way i can manually set the version to 1.1?

EDIT:

Output from ./configure -V

pulseaudio configure UNKNOWN-dirty
generated by GNU Autoconf 2.68

SOLVED:

Just edited configure and replaced all instances of UNKNOWN-dirty with 1.1 and that fixed it


@mightymouse2045 - you are using xbmc under linux and have you dts truehd?
find quote
mightymouse2045 Offline
Member
Posts: 52
Joined: Feb 2012
Reputation: 0
Post: #258
forall Wrote:@mightymouse2045 - you are using xbmc under linux and have you dts truehd?

Grrr I don't know what's going on - I had DTS HD working but no True HD, but then I upgraded Alsa to 1.0.25 because of a reason I can't remember now, and now I can't get DTS HD, I have Dolby and DTS only and I can't downgrade to Alsa 1.0.24 because it brakes Ubuntu.

My movies are in DTS and Dolby only so I can be happy with that I guess Oo

It looks like I am in for a fresh install of Ubuntu which I am sort of dreading, I think I will just wait for Precise to be released and do it then.
find quote
cbxbiker61 Offline
Senior Member
Posts: 172
Joined: Nov 2010
Reputation: 2
Post: #259
mightymouse2045 Wrote:Hi cbxbiker61,

Is there any way around the alsa audio device being blocked by XBMC or is that an Alsa limitation?

When XBMC is running I cannot use VLC passthrough, even when XBMC is not playing anything.

I know in the past that one of the reasons for pulse being implemented in Ubuntu and other distributions was because of the limitations of other audio drivers sharing the hardware, but pulse audio is the device that is selected in XBMC (which I know is just passing it through to Alsa), but it isn't playing nicely with other software...

When a program puts the sound device in pass-through mode it blocks all other access to the device. That's the only way that "raw" data can be passed to the device.
find quote
cbxbiker61 Offline
Senior Member
Posts: 172
Joined: Nov 2010
Reputation: 2
Post: #260
Sorry that I haven't been paying much attention to this thread lately. I will get back to it though. It seems that some others are answering some questions which is good.

I've been working non-stop for weeks now getting my new Xilka distro ported to the CuBox. Since I do native compiles that can take a long time. I'm real close to having my distro for the CuBox online (any day now). The goal is to make the CuBox a top notch Xbmc platform. Solid-run is porting their kernel code into Linux-latest and making fast progress on that.

My intent is to merge my Xbmc efforts on CuBox/x86. I've been waiting on my Cubox/Xilka port before continuing work on Xbmc, since Xilka is particularly good from a development standpoint. It allows you to build debug packages easily when they are useful.
find quote
Johnny569 Offline
Junior Member
Posts: 17
Joined: Mar 2012
Reputation: 0
Post: #261
cbxbiker61, you did it!!! Excellent work on the DTS-HD MA!! Big Thank You.

I understand Dolby TrueHD is still a work in progress. Waiting with anticipation.

I'm on Ubuntu 11.10 64-bit and was able to watch the blu-ray Rise of the Planet of the Apes in DTS-HD MA 5.1 on xbmc with the plugin plugin.makemkvbluray.zip and MakeMKV streaming in the background.

I have an NVidia GTX 560Ti and using a probe_mask.

It played flawlessly and the whole time DTS-HD MSTR was showing on my receiver.

I ran into several make,compile errors along the way, but through googling solved them all.

Here's what I did. For the most part, I followed shadow's script from post# 41:

1)PATCH PULSEAUDIO
Code:
cd ~/Downloads
wget http://freedesktop.org/software/pulseaudio/releases/pulseaudio-1.1.tar.gz

Got the patch, saved as patchfile and put inside pulseaudio folder
In patchfile, added a space in front of lines 4,5,13,18 to clear the malformed errors.
Typo in patchfile in line 18, it's incomplete, through googling completed with what is most likely:
@@ -3700,7 +3700,8 @@ static int mapping_verify(pa_alsa_mapping *m, const pa_channel_map *bonus) {

Then patched with:
Code:
patch -p0 --ignore-whitespace < patchfile

2)INSTALL JSONC LIBRARY
Code:
wget http://ftp.debian.org/debian/pool/main/j/json-c/json-c_0.9.orig.tar.gz
wget http://ftp.debian.org/debian/pool/main/j/json-c/json-c_0.9-1.debian.tar.gz
Untar the .orig.tar.gz archive first then untar the .debian.tar.gz over the top of that

cd jsonc
./configure  (no autogen.sh file)
make
make install

SATISFY PULSEAUDIO AND XBMC DEPENDENCIES, DOWNLOAD FILES
Code:
sudo apt-get build-dep pulseaudio xbmc
cd ~/Downloads
git clone git://github.com/cbxbiker61/audiofilter.git
git clone git://github.com/cbxbiker61/xbmc.git

3)INSTALL PULSEAUDIO
Code:
cd pulseaudio
./bootstrap.sh
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
make
sudo make install
pulseaudio -k

At that point got error:
E: [pulseaudio] main.c: Failed to kill daemon: No such process

lauched command:
./src/pulseaudio -n -F src/default.pa -p $(pwd)/src/.libs/

Got about a dozen errors, mostly org.freedesktop.DBus.Error, unable to contact D-Bus session.

Could not get pulseaudio started, no sound devices in Ubuntu's System Settings → sounds

Skipped and continued on

4)INSTALL AUDIOFILTER
lots of googling here. I'm on a 64-bit system, but building/compiling in 32-bit.

To clear the missing bits/predefs.h error, and for proper 32-bit libc includes on a 64-bit system:
Code:
sudo apt-get install libc6-dev-i386

To tell g++ to take the 32-bit directory insteady of the 64-bit one and to clear error: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.6.1/libstdc++
Code:
sudo apt-get install g++-multilib

Then continued with:
Code:
cd /audiofilter/gnu
make
sudo make install

5) INSTALL XBMC
Code:
cd xbmc
./bootstrap
./configure
make
sudo make install

After running this last make command, magically all pulseaudio problems from previously got fixed and the Digital Surround 7.1 HDMI output appeared in Ubuntu's System Settings → Sounds.

EDIT: on my Ubuntu 64-bit, launching xbmc from the shortcut doesn't work. But doing sudo xbmc from terminal works perfect each time.
(This post was last modified: 2012-06-09 22:23 by Johnny569.)
find quote
Johnny569 Offline
Junior Member
Posts: 17
Joined: Mar 2012
Reputation: 0
Post: #262
Confirmed that DTS-HD MSTR is still working on Ubuntu 12.04 with PulseAudio 2.0

The only thing still missing is Dolby TrueHD support.

I did a clean install of Ubuntu 12.04 32-bit.

I downloaded, compiled and installed audiofilter and xbmc from cbxbiker61's git repository. I did not modify PulseAudio or install the jsonc libraries.

Still works the same as on Ubuntu 11.10 by selecting Digital Surround 5.1 PulseAudio
Or by disabling PulseAudio with:
Code:
$ pulseaudio -k
And selecting HDMI Nvidia Alsa
(This post was last modified: 2012-06-09 22:37 by Johnny569.)
find quote
mightymouse2045 Offline
Member
Posts: 52
Joined: Feb 2012
Reputation: 0
Post: #263
(2012-06-09 22:36)Johnny569 Wrote:  Confirmed that DTS-HD MSTR is still working on Ubuntu 12.04 with PulseAudio 2.0

The only thing still missing is Dolby TrueHD support.

I did a clean install of Ubuntu 12.04 32-bit.

I downloaded, compiled and installed audiofilter and xbmc from cbxbiker61's git repository. I did not modify PulseAudio or install the jsonc libraries.

Still works the same as on Ubuntu 11.10 by selecting Digital Surround 5.1 PulseAudio
Or by disabling PulseAudio with:
Code:
$ pulseaudio -k
And selecting HDMI Nvidia Alsa

You know that the main master git repo build supports all formats now, and has supprt for pass through options similar to cxbikers build?

Including True HD, DTS MA, DTS HRA etc....
find quote
Johnny569 Offline
Junior Member
Posts: 17
Joined: Mar 2012
Reputation: 0
Post: #264
Thanks for the great tip.

I went and compiled from the main master git repo. Indeed, Dolby Digital+, TrueHD and DTS-HD MSTR are supported. I can even select my receiver by model name as an output device. Impressive. Development has come a long way.
(This post was last modified: 2012-06-11 21:50 by Johnny569.)
find quote
fritsch Offline
Team-XBMC Member
Posts: 4,272
Joined: Aug 2011
Reputation: 107
Location: Karlsruhe
Post: #265
Just to add something for new users:

Pulseaudio does not have any bitstream audio support. It can only do AC3, DTS, EAC3 by itself.

The success stories in this thread is cause of ALSA is used.

Since Gotham we have a new PASink, that can do the supported formats itself. More info is in the wiki: http://wiki.xbmc.org/index.php?title=PulseAudio
find quote
Post Reply