jayneural wrote:For the instability topic : as long as it's software and not actual firmware inside, you'll always have some bugs.
Hmm, that's not correct. There's nothing "special" about firmware, and it's most certainly not easier to create more stable systems with pure silicon.
There's a reason why Intel CPUs have a hidden CPU inside that runs on Minix OS.
jayneural wrote:Take a Roland product with those old school displays : this is firmware, the code talks very close to the hardware, no 15 layers between them, so less to no bugs
I've worked close to the hardware and written digital circuits from scratch.
It's much more error-prone to have to interact directly with the hardware as that dramatically increases the scope of development and loses the benefits of specialization and domain expertise.
There aren't many levels anyway.
You have the CPU. Your code runs directly on the CPU.
Writing in machine code is much more error-prone than writing in a high-level language like C++. It will also take much longer to develop software.
Your operating system adds, and they are stable. Nothing is lost by using Linux. There are only gains from using it.
An OS provides a layer of abstraction for accessing devices, but that layer of abstraction is pretty stable. It's why you can generally plug any class-compliant audio interface into a Mac and it just works. Right?
Leaky abstractions can introduce bugs, but the abstractions involved here aren't leaky. Any instability in the software comes down to logic flaws that would have happened if that same logic was applied to a firmware-based solution.
jayneural wrote:Now you have to choose between close to a DAW functionality with the compromise of hitting a couple of bugs sometimes or more minimalistic workflow/features, close to no bugs.
You can also have a minimalistic workflow/features running on software.
The problem is not the software, but the scope.
The Linux development environment is fine. I can use the exact same CLion IDE I use in Windows.
Those same features would have been just as buggy if they were done in firmware (quite possibly buggier as you wouldn't have the benefit of traditional development tools).