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

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

Moderators: MattKingUSA, khz

Post Reply
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?

Post by optonox »

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?

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: 1909
Joined: Sat Sep 15, 2012 11:44 am
Location: Saarland, Germany
Has thanked: 111 times
Been thanked: 116 times

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

Post by bluebell »

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.

Linux – MOTU UltraLite AVB – Qtractor – http://suedwestlicht.saar.de/

CrocoDuck
Established Member
Posts: 1133
Joined: Sat May 05, 2012 6:12 pm
Been thanked: 17 times

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

Post by CrocoDuck »

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
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?

Post by optonox »

Thanks, both of your answers were helpful. I hope to keep collecting information about this.
glowrak guy
Established Member
Posts: 2315
Joined: Sat Jun 21, 2014 8:37 pm
Been thanked: 251 times

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

Post by glowrak guy »

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?

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: 175
Joined: Tue Jun 08, 2010 3:35 pm

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

Post by Shadow_7 »

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.
Post Reply