How does one know if an audio interface will work on Linux?

Talk about your MIDI interfaces, microphones, keyboards...

Moderators: MattKingUSA, khz

optonox
Established Member
Posts: 4
Joined: Fri Nov 30, 2018 6:57 am

How does one know if an audio interface will work on Linux?

Postby optonox » Sat Dec 01, 2018 6:23 am

My understanding, from this article https://www.learndigitalaudio.com/how-linux-audio-works-vs-windows-audio-2017 is that for an audio interface to work on Linux, somebody has to put code for that device in the Linux kernel so it will work with Linux, or it needs to be a "USB Audio Class 2.0 compliant interface".

Is this correct still?

If it is, what is a "USB Audio Class 2.0 compliant interface"?

This distinction makes it sound like a USB 2.0 (instead of 3.0) device, so when searching online, I see a lot of devices that work with USB 2.0 (because USB 1.0 is so old by now, and even USB 2.0 is old) is that the same distinction or can a device work with USB 2.0 (like anything made in the last several years) and not be "class compliant"?

I can find no real data on this term "USB Audio Class 2.0 compliant interface".

User avatar
bluebell
Established Member
Posts: 782
Joined: Sat Sep 15, 2012 11:44 am
Location: Saarland & Frankfurt, Germany

Re: How does one know if an audio interface will work on Linux?

Postby bluebell » Sat Dec 01, 2018 1:46 pm

Not all vendors label their Class Compliant USB interfaces as Class Compliant. It's an industral standard.

Some call it "works on iPad" or "works on Mac without drivers".

Unfortunately Class Compliant doesn't mean that all bells and whistles are supported. Some bigger interfaces offer an internal mixer or even internal effects. And some manufacturers are so stupid and fiddle around with undocumented data formats and platform dependent controller software – instead of using MIDI CC or an internal web server.

User avatar
CrocoDuck
Established Member
Posts: 962
Joined: Sat May 05, 2012 6:12 pm
Contact:

Re: How does one know if an audio interface will work on Linux?

Postby CrocoDuck » Sat Dec 01, 2018 2:33 pm

I am not an hardware expert, so I hope the following is correct. You might want to wait for other answers from other users too, as I am fishing this stuff from memory as of now, and sometimes memory is unreliable...

optonox wrote:My understanding, from this article https://www.learndigitalaudio.com/how-l ... audio-2017 is that for an audio interface to work on Linux, somebody has to put code for that device in the Linux kernel so it will work with Linux, or it needs to be a "USB Audio Class 2.0 compliant interface".

Is this correct still?

Looks correct to me. ALSA, which is now part of the Linux kernel, incorporates many device drivers as kernel modules. So a device is supported under Linux only if there is an ALSA device driver. Actually, there are also other device drivers as FFADO. ALSA covers USB and PCI stuff. ALSA has a device driver for USB class compliant devices. You can check support on the ALSA Matrix, but it is not an exhaustive list (many supported devices are not in there yet).

optonox wrote:If it is, what is a "USB Audio Class 2.0 compliant interface"?

According to my understanding it is an USB audio device which is written in complete compliance with the USB protocol audio standards. Every OS know how to deal with this standard, including Linux. Sometimes manufactures declare if a device is class compliant, sometimes they don't. Devices that do not need installation of device drivers and work out of the box are typically class compliant, as any OS know how to deal with the USB standard. Also, devices that works with iPads are typically class compliant. As far as I am aware, iPads do work only with class compliant devices, but I am not sure about this so take it with a grain of salt.

optonox wrote:This distinction makes it sound like a USB 2.0 (instead of 3.0) device, so when searching online, I see a lot of devices that work with USB 2.0 (because USB 1.0 is so old by now, and even USB 2.0 is old) is that the same distinction or can a device work with USB 2.0 (like anything made in the last several years) and not be "class compliant"?

A not class compliant device does not follow the USB audio standard, but some other, often proprietary, standard. You can have any USB X.X being either compliant with the USB audio standard or not. Not class compliant devices need some kind of special driver, typically a proprietary driver released by the manufacturer. USB 2.0 might sound old, but I am not aware of many USB 3.0 audio interface as of today. So, any USB device of any USB version can be, or not be, class compliant.

Hope it helps
Check my Linux audio experiments on my SoundCloud.
Browse my AUR packages.
Fancying a swim in the pond?

optonox
Established Member
Posts: 4
Joined: Fri Nov 30, 2018 6:57 am

Re: How does one know if an audio interface will work on Linux?

Postby optonox » Mon Dec 03, 2018 11:13 pm

Thanks, both of your answers were helpful. I hope to keep collecting information about this.

glowrak guy
Established Member
Posts: 1185
Joined: Sat Jun 21, 2014 8:37 pm

Re: How does one know if an audio interface will work on Linux?

Postby glowrak guy » Wed Dec 05, 2018 7:39 pm

optonox wrote:My understanding, from this article https://www.learndigitalaudio.com/how-linux-audio-works-vs-windows-audio-2017 is that for an audio interface to work on Linux, somebody has to put code for that device in the Linux kernel so it will work with Linux, or it needs to be a "USB Audio Class 2.0 compliant interface".

Is this correct still?

If it is, what is a "USB Audio Class 2.0 compliant interface"?

This distinction makes it sound like a USB 2.0 (instead of 3.0) device, so when searching online, I see a lot of devices that work with USB 2.0 (because USB 1.0 is so old by now, and even USB 2.0 is old) is that the same distinction or can a device work with USB 2.0 (like anything made in the last several years) and not be "class compliant"?

I can find no real data on this term "USB Audio Class 2.0 compliant interface".

A Native Instruments Komplete Audio 6 usb interface should work
out of the box, and with high quality. Sometimes NI and dealers put their hardware
on sale in December, so watch for sales pricing, if interested.

$200 is the regular price

https://www.youtube.com/watch?v=TIeaykXyeY4

Shadow_7
Established Member
Posts: 166
Joined: Tue Jun 08, 2010 3:35 pm

Re: How does one know if an audio interface will work on Linux?

Postby Shadow_7 » Thu Dec 06, 2018 4:57 pm

If it's class compliant it should work. But as previously stated, perhaps not all of the bells and whistles. Just the basics.

While usb 2 has been out a while, the audio "standard" for usb 2 came out like 8 years +/- 3 AFTER usb 2 was a thing. USB 1 was pretty limiting to like CD quality and only 2 channels. More like 48kHz with 2 channels IN and 2 channels OUT plus 16 bit, and even that might be bottlenecking usb 1.x at full-duplex. USB 2.x gives more options like 24 bit and 192kHz with like 6+ or so full-duplex channels. But if the pattern holds, it'll probably be a decade before the USB C "standard" gets made/adopted for audio. It's kind of hard to write code for the "standard" if one doesn't exist.

As far as support, if it's class compliant. Or if there's specific "code" for it in the alsa source code, then odds are good that it at least "partially" works.

Except on certain SBCs that ship android linux kernels that don't include the snd-usb-audio kernel module, and don't have kernel sources/headers to compile it. So disappointed in my banana pi M3, 8x 1.6GHz cores, and it can't even play a tune. At least it makes a decent ethernet to wifi bridge device.


Return to “Computer Related Hardware”

Who is online

Users browsing this forum: No registered users and 2 guests