Spent most of this weekend building a XBMC server on a new AM1 Linux box and I could use some tips / help finishing the setup.
watch gallery
Here we go:
AMD Athalon 5350 2.05 ghz Kabani processor
ASRock AM1B-ITX motherboard (wanted more than 2 sata controllers)
Corsair 4 gig stick of of DDR3 1600 ram
Transcend 250 gig SSD
Western Digital Red 3 terabyte hard drive
In-Win BP671 mini-ITX Case with 200 watt psu
AV system with UMC-1 processor and 7.2 surround system.
Software:
Xubuntu 14.04
XBMC 13.2 Gotham
AMD Catalyst fgrlx 14.6 beta driver for Ubuntu
Let me start by saying that without tweaking anything I couldn't get XBMC to work with HD audio passthrough without constant frame lag and hisses/pops from speakers.
Tweaks:
AMD Catalyst 14.6 beta driver. Went through the install half a dozen times to compile it for ubuntu before I had all the missing packages installed. This patch worked wonders not only for XBMC, but for the entire operating system. Everything just ran a lot smoother especially when logging in and logging out.
Removed pulseaudo since it doesn't support passthrough audio in XBMC.
sudo apt-get autoremove pulseaudio
Configured XBMC to use my UMC-1 processor (shows up in XBMC under audio output devices). Enabled HD passthrough for every audio format. Enabled hardware acceleration for MPEG-4 under video.
Results:
Pixar Partly Cloudy - Dolby Digital EX: No problems playing video or audio.
Charlie and the Chocolate Factory - Dolby trueHD - receiver shows trueHD 5 channels when playing.
Video for the most part pretty smooth, but it did stutter whenever there was an audio problem.
Actor dialog - No problems. Smooth video playback and sound clarity.
Scenes with special effects - Video stutters with pops and hisses from main speakers.
TRON Legacy - DTS Master Audio - Will be testing this tomorrow.
I think I know what the underlying problem is..
I don't think the channels are mapped properly in ALSA for this AMD SOC Chipset.
I think right side + right rear and left side + left rear channels are being merged which floods the processor and results in pops and hisses. The linux box is then thrown out of sync which creates some video lag.
I ran some testing using aplay, alsamixer and speaker-test.
aplay -l shows 2 cards and 3 devices.
Card 0, device 3 is HDMI - This is the HDMI port
Card 0, device 7 is HDMI - Pretty sure this is the S/PDIF optical port
Card 1, device 0 is Realtek - On board controller on motherboard
aplay -L shows all the sinks and this is where things start looking wrong..
surround71 and most of the sinks are going to the Realtek device. I don't think this makes a difference, but it is not mapped correctly.
speaker-test -c 8 -D hw:0,3 registers as PCM - front left, front right, center, right side, left side, right rear, left rear and lfe on my receiver which is good.
What isn't good is that I don't get any sound out of Right Rear, Left Rear and the Subwoofer. The output looks like:
Front Left
Center
Front Right
Right Side
Right Side << should be showing Right Rear
Left Side << should be showing Left Rear
Left Side
LFE
speaker-test -c 8 -D hw:0,3 -m FR,FC,FL,RS,RR,LR,LS,LFE registers as PCM - 3/2 + LFE on my receiver and I get output from all the correct speakers except right side and left side.
speaker-test with -D hdmi gives the same results
speaker-test with -D default or -D surround71 both fail with unknown device errors.
Basically I need to figure out how to get all these digital streams mapped to the proper channels in Xubuntu before letting XBMC run with them..