Acoustica for LINUX ??

Official support for: acondigital.com
RELATED
PRODUCTS

Post

Happy New Year dear Acoustica Team -
since I found out about Acoustica in the year 2007/2008 I was impressed about this slim and powerful piece of Software.
Coming to this time as a voice over Artist and Audio Engineer from SoundForge the only thing
I was missing was the 'scroll into the selection with mouse wheel - function'
I posted this as a useful wish to the development team of Acoustica to this time and bang !! - two weeks later it was implemented.
Since this days I edited tons of Audio material with no crashed and wonderful set of great working plug-ins - I never looked back.
I just saw other audio editors getting huge and clumsy - slow in comparison - I never did regret.
During all this time I was always willing to relocate my whole work environment to Linux (that's because of my background as a Software Engineer -> only a few lucky ones may make a living from Recording only), but never could do that in cause of the lack of very basic Audio Tools and no VST PlugIns.
In the last years this changed and I started to work with Ardour and as well Tracktion Wavform DAW as creativity machine.
There're some very good VST3 Plug-in Producers (e.g. uhe) now, which are doing great stuff as well for Linux.
There are other diffrent DAWs as well available e.g. BitwigStudio .... which shows that there are many
people out there, who ware buying and donating for professional Software on Linux.
To make a long story short -> would you take in consideration to support Linux with Arcoustica (as the only professional Audio Editor on Linux then) ??

Best Hendrik

Post

Thanks for the kind words about Acoustica! The major problem with Linux on the desktop is that we would have to support so many different distributions. Since Acoustica uses JUCE and is written in standard C++, it would be possible to build for Linux after a fairly short development time, I suppose. My worries is making it compatible with all distributions and supporting the platform in the long run.

Best,
Stian

Post

I wonder if flatpak would be a useful solution to that problem?

(I am entirely sympathetic to the support concerns! Some packages handle this by only having one or two officially-supported distributions, and leaving adaptation to other distros as an exercise for end users / community.)

Post

stian wrote: Wed Jan 12, 2022 7:49 am Thanks for the kind words about Acoustica! The major problem with Linux on the desktop is that we would have to support so many different distributions. Since Acoustica uses JUCE and is written in standard C++, it would be possible to build for Linux after a fairly short development time, I suppose. My worries is making it compatible with all distributions and supporting the platform in the long run.

Best,
Stian
I'm going to quote from a very long and interesting thread that you may find useful. These are things that I've gathered regarding this topic:

https://forum.cockos.com/showthread.php?t=259967

----BEGIN QUOTE-----
So, as far as dealing with Proprietary/commercial/closed-source binaries across distros on Linux, current thought argues for/against the following strategies:

A. Build a separate binary for every OS, chip architecture, or distro release. This is the Original problem and currently the only current guaranteed way to make sure everything will work. It is also so counter productive that NO ONE will do it.

B. Develop something like the OBS (Open Build System) https://build.opensuse.org/ But cover every OS, chip architecture, or distro release. The OBS seems to be really cool and has a lot of potential, but doesn't support everything that is needed, and has its own set of problems.

C. Listen to Linus when he says: Don't "Break Userspace!" In other words Library developers need to maintain 100% backwards compatibility No Matter What, and distro developers need to stick to this core set of compatible libraries.

D. Containerization such as Flatpak, SNAP, etc.

E. While waiting for better solutions to come along, use the recipe for hosts and plug-ins to play nicely together:

1. Keep dependencies minimal (for both host and plugins) and don't expose unnecessary symbols in either (-fvisibility=hidden etc, and don't assume that just 'stripping' a binary does anything of the kind)
2. Dynamically link to system libs in preference to requiring custom library versions or using LD_LIBRARY_PATH hacks
3. Build to the earliest version of system libs you want to be compatible with (most APIs will maintain compatibility in future versions, the reverse is seldom true)
4. Statically link, only if you absolutely have to, and if its compatible with licenses etc.
5. Hosts should load plug-ins with dlopen(RTLD_LOCAL | RTLD_LAZY) as they already do, and that should be enough to keep plug-ins namespaces segregated from one another. There are still some edge cases, like host application vs plugin symbol collisions, but most of these turn out to be rare if the other suggestions are adhered to.

"Then you have something which works at least as well as it does on other platforms. (Intentionally or otherwise, this seems to be what happens with for example Reaper on Linux, the host has minimal dependencies and seems to dynamically link to only a few system infrastructure libs, and by far the vast majority of Linux plug-ins appear to work without problems)."

In addition to this, the Linux binary needs to be compiled for a conservative distro using the older libraries, with the expectation that it should mostly work on a newer distro, like Arch, with bleeding edge binaries.

I would add to this that in all fairness, commercial developers need to provide a way for users to test the software on their own distros by providing a way to demo the software on their personal distro. Refund requests are probably the reason why developers are afraid to label the their software anything other than "experimental" or provide more than limited Linux support. But that doesn't encourage the customer to buy software, even if it limits their liability. There needs to be a way for the consumer to feel more safe that their purchase will work on their distro. Labeling the build as supporting only Ubuntu cuts into their sales.
-----END QUOTE-----

So, my question would be, couldn't you do option D. or option E.? If you don't have any external plugins that are needed, option Flatpak would be a good choice. But either way, since you use JUCE, you could use as few libraries as possible, compile on an older, conservative distro (like Ubuntu), and then have a try before you buy option where the user is expected to test to see if it works for their distro. Arch based distros are bleeding edge and shouldn't have any problems with the libraries that Ubuntu would use.
C/R, dongles & other intrusive copy protection equals less-control & more-hassle for consumers. Company gone-can’t authorize. Limit to # of auths. Instability-ie PACE. Forced internet auths. THE HONEST ARE HASSLED, NOT THE PIRATES.

Post

....what a pitty ... there is now Ocenaudio on Linux, but it's not comparable ..... I still hope ....

Post

Did you try WINE? That‘s probably your best bet.

Everytime I check on Linux, it‘s still a terrible environment for commercial audio software developers. There is a very vocal, very small minority petitioning, but the added cost of development, possible restrictions in the choice of technology and tools is never justified by sales.

Don‘t get me wrong, I tried and hoped from 1999 to 2014 for an alternative. A lot of progress was made and moreso after I stopped watching closely.

My impression was that of desorganisation or too basis-democratic decision making in dev projects. And a lot of anti-commercial ideology. Which is fine and which has given us countless good innovations in some areas. But which is deadly for music production.
..off to play with my music toys - library music production.
http://www.FiveMinuteHippo.com

Post

WINE is a possibility. I've learned that developers are able to compile debug versions that can help determine where things crash. Run in WINE, it could help the developer find out (and work around) things that don't work in WINE. Then, a single Windows version could be created and supported that works well. I know of a few developers that are supporting Linux this way. They simply advertise that the Windows version works in WINE.

A more ideal solution for Linux users would be to use a sandboxed methodology with a native linux package that can safely work across all distros, such as Flatpak or Appimage.

But, you are correct, WINE may possibly be the easiest for the developer by allowing him/her to support a single code base.
C/R, dongles & other intrusive copy protection equals less-control & more-hassle for consumers. Company gone-can’t authorize. Limit to # of auths. Instability-ie PACE. Forced internet auths. THE HONEST ARE HASSLED, NOT THE PIRATES.

Post

Indeed , I still use Acoustica in Wine - but only the old 32bit version , wich works fine and is .....ok
64 bit applications under wine is still not possible - I tried the inofficial release of 64 bit wine, but it doesn't recognized it as Win 64 application when you want to install it.....

Post

Running Acoustica through WINE would indeed be a good option. We could look into the 64 bit issue. I guess that should be possible to solve.

Best,
Stian

Post

Please do look into that issue! 🙂
C/R, dongles & other intrusive copy protection equals less-control & more-hassle for consumers. Company gone-can’t authorize. Limit to # of auths. Instability-ie PACE. Forced internet auths. THE HONEST ARE HASSLED, NOT THE PIRATES.

Post

Oh - sorry didn't realize the last post - but of course !!
If the 64bit version would run under Wine64 that would be great !! ..... (or at least the plugins as VST3 Linux plugins - so that we could use the great Acoustica Plugins/Suits under Ocenaudio or Ardour, Tracktion....) (.... because, to give only one example -> there is no !! better 'simple' Limiter PlugIn on the market and with no other Dynamic Plugins you get so fast to excellent and useful results !!! .... :pray: )

Post

Bitwig restricts support to Ubuntu. That would be an option. If you just compile it for Linux, and test it on a standard Ubuntu…
Linux users would be happy even if support is limited…

Post

stian wrote: Wed Jan 12, 2022 7:49 amMy worries is making it compatible with all distributions and supporting the platform in the long run.
1) statically compile your plugin (as you should), so all dependencies are included in the same binary
2) use a glibc that's old enough to cater for the majority of distros (ie. Ubuntu 18.04 or Debian Stable/11)
3) profit

This is what all other plugin devs that support Linux do and it works fine for them (just look at Pianoteq, U-He, Audio Damage, Audio Thing, etc.)

Post

....so what so say - as there is no development planned in direction Linux, I started to use Wine on Linux to run Acoustica - which works fine for the old 32 bit version .... unfortunately the actual 64 Bit version won't work -> just starts, show as a black window -> Objects will be added / visible when mouse pointer is being moved over the application window.... Loading a file crashes the application. Following the Terminal output during startup when application started via terminal (maybe this might hint to a sollution) :

xec string:
/usr/bin/env WINE='/usr/bin/wine' WINEPREFIX='/home/hendrik/.wine' WINESERVER='/usr/bin/wineserver' WINELOADER='/usr/bin/wine' WINEDEBUG='-all' /bin/sh -c "cd '/home/hendrik' && '/usr/bin/wine' 'explorer.exe' 2>&1 "
Exit code:
0
App STDOUT and STDERR output:
MESA-INTEL: warning: Ivy Bridge Vulkan support is incomplete
wine: Read access denied for device L"\\??\\Z:\\", FS volume label and serial are not available.
wine: Read access denied for device L"\\??\\Z:\\", FS volume label and serial are not available.
MESA-INTEL: warning: Ivy Bridge Vulkan support is incomplete
MESA-INTEL: warning: Ivy Bridge Vulkan support is incomplete


--------------------------------------------------------------------------------------------------

0120:err:winediag:wined3d_dll_init Setting multithreaded command stream to 0x1.
0120:fixme:combase:RoGetActivationFactory (L"Windows.UI.ViewManagement.UIViewSettings", {3694dbf9-8f68-44be-8ff5-195c98ede8a6}, 0000000000283590): semi-stub
0120:err:combase:RoGetActivationFactory Failed to find library for L"Windows.UI.ViewManagement.UIViewSettings"
0120:fixme:win:RegisterTouchWindow hwnd 00000000000100F2, flags 0 stub!
0120:fixme:msg:ChangeWindowMessageFilterEx 00000000000100F2 233 1 0000000000000000
0120:fixme:msg:ChangeWindowMessageFilterEx 00000000000100F2 4a 1 0000000000000000
0120:fixme:msg:ChangeWindowMessageFilterEx 00000000000100F2 49 1 0000000000000000
0120:err:ole:com_get_class_object class {4ce576fa-83dc-4f88-951c-9d0782b4e376} not registered
0120:err:ole:create_server class {4ce576fa-83dc-4f88-951c-9d0782b4e376} not registered
0120:err:ole:com_get_class_object no class object {4ce576fa-83dc-4f88-951c-9d0782b4e376} could be created for context 0x6
0130:fixme:kernelbase:AppPolicyGetThreadInitializationType FFFFFFFFFFFFFFFA, 000000000507FE10
0120:fixme:combase:RoGetActivationFactory (L"Windows.UI.ViewManagement.UIViewSettings", {3694dbf9-8f68-44be-8ff5-195c98ede8a6}, 00000000002E3FA0): semi-stub
0120:err:combase:RoGetActivationFactory Failed to find library for L"Windows.UI.ViewManagement.UIViewSettings"
0120:fixme:win:RegisterTouchWindow hwnd 00000000000100F8, flags 0 stub!
0120:fixme:msg:ChangeWindowMessageFilterEx 00000000000100F8 233 1 0000000000000000
0120:fixme:msg:ChangeWindowMessageFilterEx 00000000000100F8 4a 1 0000000000000000
0120:fixme:msg:ChangeWindowMessageFilterEx 00000000000100F8 49 1 0000000000000000
0120:fixme:combase:RoGetActivationFactory (L"Windows.UI.ViewManagement.UIViewSettings", {3694dbf9-8f68-44be-8ff5-195c98ede8a6}, 00000000002E3FA0): semi-stub
0120:err:combase:RoGetActivationFactory Failed to find library for L"Windows.UI.ViewManagement.UIViewSettings"
0120:fixme:win:RegisterTouchWindow hwnd 00000000000200F8, flags 0 stub!
0120:fixme:msg:ChangeWindowMessageFilterEx 00000000000200F8 233 1 0000000000000000
0120:fixme:msg:ChangeWindowMessageFilterEx 00000000000200F8 4a 1 0000000000000000
0120:fixme:msg:ChangeWindowMessageFilterEx 00000000000200F8 49 1 0000000000000000
wine: Read access denied for device L"\\??\\Z:\\", FS volume label and serial are not available.
MESA-INTEL: warning: Ivy Bridge Vulkan support is incomplete
MESA-INTEL: warning: Ivy Bridge Vulkan support is incomplete
0120:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0120:fixme:dxgi:DXGID3D10CreateDevice Ignoring flags 0x20.
0120:fixme:d2d:d2d_d3d_create_render_target Ignoring render target usage 0x2.
0120:fixme:dwrite:dwritefactory_CreateMonitorRenderingParams (0000000000000001): monitor setting ignored
0160:fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_DISABLE_AUTODIAL; STUB
0160:fixme:wininet:InternetSetOptionW INTERNET_OPTION_SEND/RECEIVE_TIMEOUT/DATA_SEND_TIMEOUT 30000
0160:fixme:wininet:InternetSetOptionW INTERNET_OPTION_SEND/RECEIVE_TIMEOUT/DATA_SEND_TIMEOUT 30000
0160:fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_DATA_RECEIVE_TIMEOUT (30000): STUB
0160:fixme:wininet:InternetSetOptionW INTERNET_OPTION_SEND/RECEIVE_TIMEOUT/DATA_SEND_TIMEOUT 30000
0120:fixme:combase:RoGetActivationFactory (L"Windows.UI.ViewManagement.UIViewSettings", {3694dbf9-8f68-44be-8ff5-195c98ede8a6}, 000000000041E040): semi-stub
0120:err:combase:RoGetActivationFactory Failed to find library for L"Windows.UI.ViewManagement.UIViewSettings"
0120:fixme:win:RegisterTouchWindow hwnd 0000000000010104, flags 0 stub!
0120:fixme:msg:ChangeWindowMessageFilterEx 0000000000010104 233 1 0000000000000000
0120:fixme:msg:ChangeWindowMessageFilterEx 0000000000010104 4a 1 0000000000000000
0120:fixme:msg:ChangeWindowMessageFilterEx 0000000000010104 49 1 0000000000000000
0120:fixme:combase:RoGetActivationFactory (L"Windows.UI.ViewManagement.UIViewSettings", {3694dbf9-8f68-44be-8ff5-195c98ede8a6}, 00000000004234B0): semi-stub
0120:err:combase:RoGetActivationFactory Failed to find library for L"Windows.UI.ViewManagement.UIViewSettings"
0120:fixme:win:RegisterTouchWindow hwnd 000000000001010A, flags 0 stub!
0120:fixme:msg:ChangeWindowMessageFilterEx 000000000001010A 233 1 0000000000000000
0120:fixme:msg:ChangeWindowMessageFilterEx 000000000001010A 4a 1 0000000000000000
0120:fixme:msg:ChangeWindowMessageFilterEx 000000000001010A 49 1 0000000000000000
0120:fixme:combase:RoGetActivationFactory (L"Windows.UI.ViewManagement.UIViewSettings", {3694dbf9-8f68-44be-8ff5-195c98ede8a6}, 000000000045BD30): semi-stub
0120:err:combase:RoGetActivationFactory Failed to find library for L"Windows.UI.ViewManagement.UIViewSettings"
0120:fixme:win:RegisterTouchWindow hwnd 0000000000010110, flags 0 stub!
0120:fixme:msg:ChangeWindowMessageFilterEx 0000000000010110 233 1 0000000000000000
0120:fixme:msg:ChangeWindowMessageFilterEx 0000000000010110 4a 1 0000000000000000
0120:fixme:msg:ChangeWindowMessageFilterEx 0000000000010110 49 1 0000000000000000
0120:fixme:combase:RoGetActivationFactory (L"Windows.UI.ViewManagement.UIViewSettings", {3694dbf9-8f68-44be-8ff5-195c98ede8a6}, 000000000045BF50): semi-stub
0120:err:combase:RoGetActivationFactory Failed to find library for L"Windows.UI.ViewManagement.UIViewSettings"
0120:fixme:win:RegisterTouchWindow hwnd 0000000000010116, flags 0 stub!
0120:fixme:msg:ChangeWindowMessageFilterEx 0000000000010116 233 1 0000000000000000
0120:fixme:msg:ChangeWindowMessageFilterEx 0000000000010116 4a 1 0000000000000000
0120:fixme:msg:ChangeWindowMessageFilterEx 0000000000010116 49 1 0000000000000000
0120:fixme:imm:ImeSetActiveContext (00000000000100E8, 1): stub
0120:fixme:imm:ImmReleaseContext (00000000000200F8, 00000000000100E8): stub
0120:fixme:wincodecs:CreateComponentInfo {e6cd0116-eeba-4161-aa85-27dd9fb3a895} is not supported
0120:err:seh:KiUserCallbackDispatcher ignoring exception
0120:fixme:wincodecs:CreateComponentInfo {e6cd0116-eeba-4161-aa85-27dd9fb3a895} is not supported
0120:err:seh:KiUserCallbackDispatcher ignoring exception
0120:fixme:wincodecs:CreateComponentInfo {e6cd0116-eeba-4161-aa85-27dd9fb3a895} is not supported
0120:err:seh:KiUserCallbackDispatcher ignoring exception

Post

Just to bring this topic to the memory, and encourage this great team to add a Linux version; even it is a "non support version" I will pay again if needed in order to make it run on Linux, I bought this software time ago and some plugin, and has been a great blessing, but since I changed to Linux I only use it on a virtual machine when I need a more advanced edition.

Return to “Acon Digital”