Page 1 of 1

Linux 3.13 Generic Kernel and 8-channel HDMI

Posted: Thu Jan 09, 2014 5:41 pm
by GraysonPeddie
(EDIT as of 1/18 12:19 PM EST: So nobody is interested in using HDMI audio through JACK...well, forget about my thread... Nobody is interested at all, which is discouraging.)

With HDMI, I get the benefits of Audyssey, Audyssey Dynamic EQ, and bass management which I can't get with analog multichannel inputs in the back of my Marantz SR5008 receiver.

Canonical compiled and added Linux 3.13 kernel in Ubuntu 14.04 which is not in production right now.

Well, have a look at that. Isn't it exciting? 8 channels of HDMI playback, even though I only have 5 speakers plus my subwoofer.
8-channels of playback through HDMI using JACK
8-channels of playback through HDMI using JACK
LPCMHDMI.jpg (55.41 KiB) Viewed 355 times
Oh, not so fast. When I try to play some videos (YouTube) or listen to music (Rhythmbox), xruns are spewing out like crazy for videos but music is a little better but still spewing out xruns. Here's what I have for /proc/interrupts:

Code: Select all

           CPU0       CPU1       CPU2       CPU3       
  0:         47          0          0          0  IR-IO-APIC-edge      timer
  1:          0          0          1          1  IR-IO-APIC-edge      i8042
  8:          0          1          0          0  IR-IO-APIC-edge      rtc0
  9:          0          0          0          0  IR-IO-APIC-fasteoi   acpi
 16:        294        292        294        295  IR-IO-APIC-fasteoi   snd_hda_intel
 17:        813       2177       5390       1879  IR-IO-APIC-fasteoi   ehci_hcd:usb1, ehci_hcd:usb2
 18:          1          0          1          1  IR-IO-APIC-fasteoi   ohci_hcd:usb3, ohci_hcd:usb4, ohci_hcd:usb5
 20:          8          6          5          7  IR-IO-APIC-fasteoi   snd_echo3g
 40:          0          0          0          0  IR-PCI-MSI-edge      AMD-Vi
 41:          0          0          0          0  IR-PCI-MSI-edge      PCIe PME
 42:          0          0          0          0  IR-PCI-MSI-edge      PCIe PME
 43:          0          0          0          0  IR-PCI-MSI-edge      xhci_hcd
 44:          0          0          0          0  IR-PCI-MSI-edge      xhci_hcd
 45:          0          0          0          0  IR-PCI-MSI-edge      xhci_hcd
 46:          0          0          0          0  IR-PCI-MSI-edge      xhci_hcd
 47:          0          0          0          0  IR-PCI-MSI-edge      xhci_hcd
 48:          0          0          0          0  IR-PCI-MSI-edge      xhci_hcd
 49:          0          0          0          0  IR-PCI-MSI-edge      xhci_hcd
 50:          0          0          0          0  IR-PCI-MSI-edge      xhci_hcd
 51:          0          0          0          0  IR-PCI-MSI-edge      xhci_hcd
 52:          0          0          0          0  IR-PCI-MSI-edge      xhci_hcd
 53:          0          0          0          0  IR-PCI-MSI-edge      xhci_hcd
 54:      51660         12         19         16  IR-PCI-MSI-edge      eth0
 55:          0          0          0          0  IR-PCI-MSI-edge      ahci
 56:          0          0          0          0  IR-PCI-MSI-edge      ahci
 57:       6351       6324       6542       6695  IR-PCI-MSI-edge      ahci2
 63:       6893       6860       6951       7141  IR-PCI-MSI-edge      snd_hda_intel
 64:       8380       8526       8558       9121  IR-PCI-MSI-edge      radeon
My system is running AMD A10-5700 with built-in Radeon HD 6670D. HDMI is routed directly to my Marantz SR5008 audio/video receiver.

At least the audio is working, but I think it's got a very long way for JACK to support HDMI, if it's possible. To bad I won't get mic preamps, which is no big deal. JACK does not support multiple sound cards anyway unless you want to work with .asoundrc which I don't want to bother.

EDIT: It's back to Echo Gina3G with this:
For Gina3G connected to my receiver with analog multi-channel inputs. No Audyssey and bass management from my receiver.
For Gina3G connected to my receiver with analog multi-channel inputs. No Audyssey and bass management from my receiver.
Gina3GCalibrated.jpg (93.42 KiB) Viewed 351 times
More information about why I have to do EQ correction manually: Pioneer SP-C21 And Why I Should Upgrade My Center Speaker

HDMI audio is awesome, but oh well. So much for JACK.

Re: Linux 3.13 Generic Kernel and 8-channel HDMI

Posted: Sat Jan 11, 2014 7:17 pm
by GraysonPeddie
I have custom-compiled a Linux kernel from GIT and this is what I use as my kernel configuration:
config-3.13.0-rc7-rt.tar.gz
(40.53 KiB) Downloaded 47 times
My experience with Linux 3.13 kernel when compiled with fully-preemptable, 1000Hz timing kernel is that when I play some videos in YouTube, the audio play smoothly without any xrun unless I switch between applications (audio drops out for a half-second. This is with a buffer size of 1024 samples, 96kHz, and block latency of 10.7 ms giving a periods per buffer of 2. Listening to music in Rhythmbox is great, too, unless you switch between applications frequently, like very fast (Alt+Tab in quick succession in 0.2 second interval). My system hovers around 3 to 4 when not playing a sound, 8% CPU when playing a video, and 6% when playing music in Rhythmbox. This is with ALSA-MIDI and PulseAudio.

I tried ZynAddSubFX. CPU usage hovers around 8% when idle, but will shot up to 45 to 50% when I play something like a bell instrument which you can download as an attachment:
bell1.tar.gz
(2.42 KiB) Downloaded 42 times
You know, I must say I am very impressed with my custom-compiled Linux 3.13 realtime-based kernel, especially when dealing with HDMI audio going through my receiver for playing music and videos, but I would probably not use HDMI audio for professional audio production. But if I could get that CPU usage low enough to be comparable to an audio interface (assuming no line/mic inputs at all), I could just go with HDMI audio and choose a receiver that does not have multi-channel analog inputs that most of the today's receivers do not have.

So Falk, are you planning to do a Linux 3.13 backport from Ubuntu 14.04 repository when a final kernel is released?

Update as of 1/13/14 3:19 PM: I switched back to Echo Gina3G as JACK is not suitable for audio playback over HDMI.

The first screenshot is a whole lot simpler when going through HDMI, but it's what I'll have to live with for now.