Help understanding open/universal standards

Still new to all of this? Feel free to post in any of the subforums on this site, but in this subforum newbie questions are especially encouraged!

Moderators: MattKingUSA, khz

Post Reply
t3rtius
Established Member
Posts: 10
Joined: Mon May 20, 2019 5:16 am

Help understanding open/universal standards

Post by t3rtius »

Hi all,

I'm trying to get as GNU/Linux-FOSS-only as possible in all my digital activities and I'm trying to better understand this world and hardware compatibility in particular.

Therefore, what resources do you suggest, what should I read/watch/learn in order to get a better understanding of the open/universal standards that are used in audio technology (and even more widely, in the digital world)? For example, if I want to buy a MIDI keyboard, a bluetooth DAC, an USB headphone amp etc., how can I be sure that it will work as intended with my laptop running GNU/Linux? I keep reading about "class compliant" devices, codecs and other tech which I would very much like to be able to understand and acquire some common knowledge such that I can answer for myself whether the device X is "right" for my setup.

For example, I happened to have a Focusrite 2i4 USB audio interface from when I was using Windows and I noticed it works flawlessly when connecting it to my Thinkpad now running Manjaro. Why is that? :) If I want to buy another interface, how to choose for best compatibility?

Sorry if the post or questions are vague, I'm trying my best to learn as much as possible. Thus I'm assuming there are some common, basic standards as a starting point and I don't actually have to google "device X linux compatibility" for each intended purchase. Or am I wrong?
User avatar
Linuxmusician01
Established Member
Posts: 1524
Joined: Mon Feb 23, 2015 2:38 pm
Location: Holland
Has thanked: 756 times
Been thanked: 135 times

Re: Help understanding open/universal standards

Post by Linuxmusician01 »

This, unfortunately, is the question of all questions.

If every manufacturer would mention on it's website if its hardware is Linux compatible (like they do for Windows and, often, Apple's MacOS) then we Linuxers would know what hardware to buy or not. Unfortunately, almost no hardware manufacturer bothers to mention if its hardware is supported by Linux. Most (3D capable) video cards used to not work without a proprietary driver (Nvidia, AMD). So they had to make a Linux driver. The specifications of their hardware was closed, so the community could not make a driver. Fortunately, times have changed for the better for video-cards.

Now, what is "class compliant"? I'm no computer technician, but all that I know is that class compliant hardware does not need a driver. You know, like USB keyboards, mice etc. Some external USB audio devices are class compliant: they do not need a driver in MacOS nor in Linux. I think they don't need a driver in Win 10 either, but most of the time they do make one (dunno why).

Concerning how to know if you can buy a certain piece of hardware for Linux. Short answer: you don't. Especially laptops are a pain in the butt. What I do for audio devices is keep the one that I have that I know to be working in Linux. Or determine if an audio-device does not need a driver in MacOS. It's most likely class compliant then. Only thing that you can do is painstakingly search the internet for proof of Linux support. And even then there are certain hardware revisions/versions of hardware that don't work whereas others do (that is, some revisions use chip A and some chip B). You can ask in forums like this.

Good luck in using Linux! :)
Last edited by Linuxmusician01 on Sat Jul 20, 2019 11:46 am, edited 1 time in total.
User avatar
Michael Willis
Established Member
Posts: 1451
Joined: Mon Oct 03, 2016 3:27 pm
Location: Rocky Mountains, North America
Has thanked: 69 times
Been thanked: 163 times
Contact:

Re: Help understanding open/universal standards

Post by Michael Willis »

Linuxmusician01 wrote: class compliant hardware does not need a driver.
Well, it still needs a driver; it's just that if the device is class-compliant, then you can be assured that the driver is built into the Linux kernel and you don't have to worry about it.
t3rtius
Established Member
Posts: 10
Joined: Mon May 20, 2019 5:16 am

Re: Help understanding open/universal standards

Post by t3rtius »

Michael Willis wrote:
Linuxmusician01 wrote: class compliant hardware does not need a driver.
Well, it still needs a driver; it's just that if the device is class-compliant, then you can be assured that the driver is built into the Linux kernel and you don't have to worry about it.
Thanks for the clarification!
Linuxmusician01 wrote:This, unfortunately, is the question of all questions.

If every manufacturer would mention on it's website if its hardware is Linux compatible (like they do for Windows and, often, Apple's MacOS) then we Linuxers would know what hardware to buy or not. Unfortunately, almost no hardware manufacturer bothers to mention if its hardware is supported by Linux. Most (3D capable) video cards used to not work without a proprietary driver (Nvidia, AMD). So they had to make a Linux driver. The specifications of their hardware was closed, so the community could not make a driver. Fortunately, times have changed for the better for video-cards.

Now, what is "class compliant"? I'm no computer technician, but all that I know is that class compliant hardware does not need a driver. You know, like USB keyboards, mice etc. Some external USB audio devices are class compliant: they do not need a driver in MacOS nor in Linux. I think they don't need a driver win Win 10 either, but most of the time they do make one (dunno why).

Concerning how to know if you can buy a certain piece of hardware for Linux. Short answer: you don't. Especially laptops are a pain in the butt. What I do for audio devices is keep the one that I have that I know to be working in Linux. Or determine if an audio-device does not need a driver in MacOS. It's most likely class compliant then. Only thing that you can do is painstakingly search the internet for proof of Linux support. And even then there are certain hardware revisions/versions of hardware that don't work whereas others do (that is, some revisions use chip A and some chip B). You can ask in forums like this.

Good luck in using Linux! :)
Thanks, I understand and was somewhat afraid of this, to be honest. Concerning using macOS as a hint whether it may work on Linux, I was thinking about this and actually verified it with an Apogee One audio interface, which isn't recognized on Windows, but was mostly plug & play on Linux. However, I assume that as devices get more and more complicated (i.e. complex in functions), things get more unpredictable.

And yes, it's such a shame that the big names in the audio industry (and not only, but we're discussing mainly this here) don't mention Linux compatibility.
User avatar
Linuxmusician01
Established Member
Posts: 1524
Joined: Mon Feb 23, 2015 2:38 pm
Location: Holland
Has thanked: 756 times
Been thanked: 135 times

Re: Help understanding open/universal standards

Post by Linuxmusician01 »

@ t3rtius: Do you know what hardware you want to use in Linux? Most will probably work (bluetooth etc.). If you use a desktop computer instead of a laptop then you will probably have no troubles installing Linux. Only caveat for music production in Linux might be your (external) audio device.

Before you install Linux: backup your data!!!! Just use an old PC to practice. We all do/did.
Last edited by Linuxmusician01 on Sat Jul 20, 2019 11:45 am, edited 1 time in total.
merlyn
Established Member
Posts: 1392
Joined: Thu Oct 11, 2018 4:13 pm
Has thanked: 168 times
Been thanked: 247 times

Re: Help understanding open/universal standards

Post by merlyn »

t3rtius wrote:Thus I'm assuming there are some common, basic standards as a starting point and I don't actually have to google "device X linux compatibility" for each intended purchase. Or am I wrong?
It would be a good idea to google everything you are considering buying. The best idea would be to find someone who has actually got the hardware in question working on Linux.

With code from Drumfix I got the USB audio on a Roland GR-55 working. Roland would tell you that is impossible.

While I was doing that I got an insight into hardware compatibility. All the devices in this file :

https://github.com/torvalds/linux/blob/ ... ks-table.h

require a quirk to work. The telling part is this :
USB audio driver authors wrote: * In a perfect world, this file would be empty.
The size of quirks-table.h measures the distance between hardware 'just working' with Linux and hardware manufacturers being absolute bastards. :D
t3rtius
Established Member
Posts: 10
Joined: Mon May 20, 2019 5:16 am

Re: Help understanding open/universal standards

Post by t3rtius »

merlyn wrote: It would be a good idea to google everything you are considering buying. The best idea would be to find someone who has actually got the hardware in question working on Linux.

With code from Drumfix I got the USB audio on a Roland GR-55 working. Roland would tell you that is impossible.

While I was doing that I got an insight into hardware compatibility. All the devices in this file :

https://github.com/torvalds/linux/blob/ ... ks-table.h

require a quirk to work. The telling part is this :
USB audio driver authors wrote: * In a perfect world, this file would be empty.
The size of quirks-table.h measures the distance between hardware 'just working' with Linux and hardware manufacturers being absolute bastards. :D
Thank you very much for pointing this out! I keep forgetting to check out kernel files and documentation it seems, but I'm thankful to people like you who keep pointing me there. :) Regarding my answer to @Linuxmusician01 above, this is gold, since my intention is to start getting my hands dirty and study the internals more.
Linuxmusician01 wrote:@ t3rtius: Do you know what hardware you want to use in Linux?
No. I mean, my situation is this: I'm quite comfortable with using Linux, I've been using it for a couple of years and I'm pretty familiarized with basic (everyday) stuff. Only recently (since about 1 year) have I become interested in the "inner workings" of the OS, started going more and more minimalist and DYI in what concerns the distribution and while I play guitar for about 10 years, I finally deleted my Windows dual-boot partition only one month ago.

So the current state of affairs with my hardware configuration is OK. I'm using a Thinkpad with the Focusrite 2i4 for audio and MIDI I/O and everything works as intended (in Ardour, Mixbus and Reaper). The main purpose of this thread, however, is to get me started with learning more of the internals, so I can make good acquisitions and decisions in the future, especially in terms of audio equipment.
User avatar
Linuxmusician01
Established Member
Posts: 1524
Joined: Mon Feb 23, 2015 2:38 pm
Location: Holland
Has thanked: 756 times
Been thanked: 135 times

Re: Help understanding open/universal standards

Post by Linuxmusician01 »

@t3rtius: I get it. Good luck and choose wisely. :)
themoltron
Posts: 1
Joined: Tue Jul 23, 2019 3:26 pm

Re: Help understanding open/universal standards

Post by themoltron »

The biggest issue facing Linux is mostly a software issue IMO. WIth OSS, ALSA, JACK and Pulseaudio it makes it infinitely more confusing to running applications there isn't a standard backend. Some applications use jack, others pulse audio, other you can do fine just working directly with ALSA. If you have to wrestle wit the software to get stuff to work it makes infinitely more difficult to diagnose real hardware issues.
User avatar
Linuxmusician01
Established Member
Posts: 1524
Joined: Mon Feb 23, 2015 2:38 pm
Location: Holland
Has thanked: 756 times
Been thanked: 135 times

Re: Help understanding open/universal standards

Post by Linuxmusician01 »

themoltron wrote:The biggest issue facing Linux is mostly a software issue IMO. WIth OSS, ALSA, JACK and Pulseaudio it makes it infinitely more confusing to running applications there isn't a standard backend. Some applications use jack, others pulse audio, other you can do fine just working directly with ALSA. If you have to wrestle wit the software to get stuff to work it makes infinitely more difficult to diagnose real hardware issues.
I agree. But it ain't very much better in Windows with those ASIO drivers. BTW: we can forget about OSS. As far as I'm considered this commercial audio driver/system doesn't exist anymore. Nobody uses it. Luckily we can bridge Jack and Pulseaudio at the startup of our system so we aren't aware of the mess. But I agree: it could be better.
glowrak guy
Established Member
Posts: 2315
Joined: Sat Jun 21, 2014 8:37 pm
Been thanked: 251 times

Re: Help understanding open/universal standards

Post by glowrak guy »

themoltron wrote:The biggest issue facing Linux is mostly a software issue IMO. WIth OSS, ALSA, JACK and Pulseaudio it makes it infinitely more confusing to running applications there isn't a standard backend. Some applications use jack, others pulse audio, other you can do fine just working directly with ALSA. If you have to wrestle wit the software to get stuff to work it makes infinitely more difficult to diagnose real hardware issues.
Another issue is that commercial audio gear and software creators face stiff competition at every turn,
in a market where profit margins are thin, and a fiscal blunder might close the business doors.

Compared to win and mac based musician numbers, there are very few linux musicians with the buying power,
to purchase high end hardware, and even fewer with the motivation to buy any closed source software products.

This is worse than a chicken vs egg scenario, because in the audio gear market,
hardware and software are now inexorably linked, at various levels. We are lucky
that there are class compliant products that can be used effectively in linux.

Gear makers look at a two-tiered market
1. Crowds of (happy) wannabees, unwilling or lacking time to seriously study and practice,
yet buying the new shiny automatic abc thru z as the gateway to dreamland.
And I'm not against anyone seeking dreamland!
2. Established professionals and hobbyists, who will buy and use the best products within their budget.

I think this second group is where most linux musicians exist, but the numbers aren't there
to insure linux support will be profitable to manufacturers and coders. Those few curious enough
to have a look at linux audio, see the software issue you point out, and most do a quick 180.

But it's not all doom and gloom. There are several good commercial linux daws
which are agnostic to the output of hardware instruments, so great music
can be made without joining the circular firing squad of linux software audio subsystems.

And there are enough high quality commercial and freeware software products
to craft a studio without relying on expensive hardware instruments.
And of course, all the creative blending of the above. Really,
the sky is the limit.There are very few Maserati and Ferarri drivers out there,
but they are often smiling. A good example for linux musicians to follow.

Regarding purchases, know the return policy of hardware, and test software
demos thoroughly, and be prepared to sell or give away any items
you are unhappy with. A simple gift could change someoe else's history.
Check the closets and attics for gear that someone could be enjoying!
Cheers
t3rtius
Established Member
Posts: 10
Joined: Mon May 20, 2019 5:16 am

Re: Help understanding open/universal standards

Post by t3rtius »

Thank you all for the thoughtful replies and comments! There's a lot to learn, I'm sure, but thankfully, resources such as this community are really a goldmine, regardless of the knowledge or skill level one sees themselves at. And I'm serious, I'm very happy to have found you and to read so many useful posts!
Post Reply