How does one know if an audio interface will work on Linux?
Moderators: MattKingUSA, khz
How does one know if an audio interface will work on Linux?
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".
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".
- 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?
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.
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/
Re: How does one know if an audio interface will work on Linux?
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...
Hope it helps
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: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?
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:If it is, what is a "USB Audio Class 2.0 compliant interface"?
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.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"?
Hope it helps
Re: How does one know if an audio interface will work on Linux?
Thanks, both of your answers were helpful. I hope to keep collecting information about this.
-
- 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?
A Native Instruments Komplete Audio 6 usb interface should workoptonox 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".
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
Re: How does one know if an audio interface will work on Linux?
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.
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.