When is enough, enough..?

Completely and utterly unrelated.

Moderators: raboof, MattKingUSA, khz

User avatar
erlkönig
Established Member
Posts: 200
Joined: Tue May 31, 2022 8:58 am
Has thanked: 39 times
Been thanked: 46 times

Re: When is enough, enough..?

Post by erlkönig »

MattKingUSA wrote: Thu Jun 01, 2023 5:57 pm

the option to use the Linux terminal and WSL

...but you can't expect this to work like you are used to - e.g. to tail a log file, you have to pass some special options concerning inotify/inodes to get a permanently updated output on a log-file (don't remember what it was exactly). You have to mount the windows-fs seperately on the wsl-system and so on... a lot of little f*ing brakes.

Currently working with
https://www.honeysuckers.rocks/?lang=en
https://de-de.facebook.com/SatanicVoices2019
Fiddling with sequencers does not evolve into music necessarily and Mac users have smelly feet and guzzle little children.

User avatar
MattKingUSA
Moderation Services Senior Administrator
Posts: 795
Joined: Fri Mar 21, 2008 4:01 pm
Location: United States
Has thanked: 52 times
Been thanked: 38 times
Contact:

Re: When is enough, enough..?

Post by MattKingUSA »

erlkönig wrote: Thu Jun 01, 2023 6:11 pm
MattKingUSA wrote: Thu Jun 01, 2023 5:57 pm

the option to use the Linux terminal and WSL

...but you can't expect this to work like you are used to - e.g. to tail a log file, you have to pass some special options concerning inotify/inodes to get a permanently updated output on a log-file (don't remember what it was exactly). You have to mount the windows-fs seperately on the wsl-system and so on... a lot of little f*ing brakes.

Thankfully I've never had the displeasure of using their system. Sounds miserable.

-Matt :D

User avatar
MattKingUSA
Moderation Services Senior Administrator
Posts: 795
Joined: Fri Mar 21, 2008 4:01 pm
Location: United States
Has thanked: 52 times
Been thanked: 38 times
Contact:

Re: When is enough, enough..?

Post by MattKingUSA »

The FreeBSD forums like this thread. They're wondering what's the deal with pipewire too. lol

-Matt :D

User avatar
GMaq
Established Member
Posts: 2774
Joined: Fri Sep 25, 2009 1:42 pm
Has thanked: 520 times
Been thanked: 555 times

Re: When is enough, enough..?

Post by GMaq »

artix_linux_user wrote: Wed Jun 07, 2023 5:51 pm

so, for people with reading issues, pipewire no good???
Its running here on artix linux quite well though mplayer support is whatever it is named.
Do you know coppwr?
It is more usefull to you then to me as it seems?
Can alsa do everything pipewire can do on xorg????

Nobody anywhere said PipeWire was 'no good'... :roll: Pipewire and whether it is a significant improvement in performance over the existing JACK/PulseAudio is only one of the points touched upon as being an issue of concern in this thread. If you're happy with PipeWire that's wonderful but the scope of this thread is specifically not about what the End User has on their system it's about the increasing complexity and constant reinventing of the Linux wheel with successive products that are not substantial improvements on previous technologies and how that relates to putting together a Distributable product..

User avatar
peter.semiletov
Established Member
Posts: 118
Joined: Thu May 11, 2023 1:09 pm
Has thanked: 25 times
Been thanked: 80 times
Contact:

Re: When is enough, enough..?

Post by peter.semiletov »

I've started to use Pipewire after I made my PC's upgrade and had ALC1220 and M-AUDIO M-Track Solo instead of my good old PCI M-Audio Audiophile. With new hardware, on ALSA/Jack my low latencies gone forever :( More of that, ALC1220 on Biostar mobo sounds better than M-AUDIO M-Track Solo, so now I use M-Track Solo just for the recoding from the guitar or mic. So when I switched to Pipewire I don't see the difference, with my sound cards, between with or without Pipewire. I wish I could stay with M-Audio Audiophile...

User avatar
sunrat
Established Member
Posts: 915
Joined: Wed Jul 22, 2020 2:08 pm
Has thanked: 151 times
Been thanked: 242 times

Re: When is enough, enough..?

Post by sunrat »

peter.semiletov wrote: Tue Jul 04, 2023 6:55 pm

I wish I could stay with M-Audio Audiophile...

On my current 7 year old system I still use Audiophile 2496, with an external Soundcraft 4 channel mixer. It is technology from last century and mine is over 20 years old and still working perfectly. Sure, there have been improvements in DA/AD converters over that time but I dread ever having to use USB sound devices. I would consider even the extravagant purchase of one of the few available PCIe devices such as RME instead.

j_e_f_f_g
Established Member
Posts: 2032
Joined: Fri Aug 10, 2012 10:48 pm
Been thanked: 357 times

Re: When is enough, enough..?

Post by j_e_f_f_g »

I did a 4 month code review of ALSA, and then a 2 month code review of Jack1. I think I have a solid knowledge of these 2 code bases. I briefly took a look at jack2, mostly to note what the differences were with jack1. I think I know why Paul Davis and the jack1 folks decided not to adopt jack2, but instead stick with jack1. Jack2 tries to completely bypass the ALSA interface that applications are supposed to use. Jack2 does this because, unlike jack1, the jack2 guys wanted jack to run on Windows, macOs, iOs, etc. And it was easier for them to do that if they got rid of as much linux-specific stuff as they could. Use of ALSA's official API was one of those linux-specific things they tried to reduce as much as they could, The problem is that this now makes jack2 susceptible to completely breaking if ever ALSA devs deprecate certain driver functionality. I'm sure Paul realized how dangerous this was for jack on linux, because we all know how much linux devs love to toss out whatever we're all using today, and replace it with something that isn't backward compatible, After all, that's what we're bemoaning in this thread. I hope that the Pipewire guys used jack1 for the basis of their jack emulation, and not jack2. But based upon certain comments wtay has made, I fear that they did the latter, (I won't go into details about those comments because folks around here are so desperate for some hope for linux audio that they're quick to kill any messenger with bad news... and there is bad news).

But aside from this one (dangerous) deviation from jack1, jack2 is still essentially jack1's source code (as far as the linux version goes). So the comments I'm about to make about jack are applicable to both versions).

As most of you know, I think jack is completely the wrong design for an audio API. It does the exact opposite of what Windows, macOS, the Atari ST, or any of the other computer platforms ever favored by pro musicians do. (Again, I'll skip the excruciating details here, because you can read a lot of that in my numerous previous "whacks at jack" on this forum).

In a nutshell, Paul Davis wrote a good, solid general-purpose audio API. Like what the pipewire guys are doing, (In fact, he should have incorporated it into ALSA, It would have vastly improved ALSA for general purpose apps like browsers, and spreadsheets, and the like. Shame he didn't, and therefore not only gave musicians a configuation nightmare, but also passed up an opportunity to address the complaints about ALSA from devs who make general purpose apps).

He gave jack features you'd want if you were using general purpose apps. For example. jack allows your browser to play back a youtube video with sound at the same time that you're "speaking" to someone on a webcam with a video chat app. Both programs share the sound card simulaneously because the API makes that possible. (This is referred to as "multi-instance"). And he gave you all kinds of routing options so you can run the audio out of something to the audio input of anything else. And there are other features you could want in a general-purpose audio API. Pop over to the "further pipewire debate" thread and you'll hear wtay talking about plenty of these features ; permissions/security, power-saving, format/buffer negotiation, timestamping midi messages, and on and on. That's how I know that pipewire is a general-purpose audio API.

Nothing wrong with that. MS and Apple have done the same.

But then Paul made the mistake of trying to adapt jack to serve for a high performance audio API. You know, like what the pipewire guys are trying to do. Ahem. He didn't make an alternate mode that allows a pro-audio app to say to the OS "I want exclusive access to the sound card, I don't want you interrupting me with other app's attempts to make sound, or force me to wait while you coordinate with other apps, Just block them from accessing the sound card, and from bothering me. Now I also don't want you doing any power-management with the sound card while I'm using it. I also don't want you wasting time converting my audio from one format to another format that the sound card likes. I'm going to obtain the sound card's DMA buffer, ask it what format it wants me to use, and then I'm going to directly feed it what it wants. This needs to be as efficient as possible. Don't hassle me with permissions or security checks or any of that crap. I know what I'm doing, and my enduser wants me to do it. Don't timestamp or attempt to "sync" for me. I'm doing precision work here, and I can't have you screwing with that when you don't even know exactly what I'm doing. I'll do that for myself. And here's a bunch of other stuff I don't want you to do, but if I weren't a pro-audio app I'd be delighted to have you do for me".

And the os replies "Oh. You want a barebones single-instance mode. I'm WIndows Audio Stream Application Programming Interface (WASAPI), and I have something just for you called 'exclusive mode'. made by Microsoft." (Apple's CoreAudio has an equivalent, but I forget what it's called because I don't do MacOS software).

But then a voice interrupts and shouts "Wait! Don't go with him! I'm ASIO and I'm so into you that I don't even offer a multi-instance mode. I'm strictly single, baby. In fact, every musician craves me, and I'm made by the dedicated music company Steinberg."

The two APIs start brawling over which one gets to go out with the app, and eventually WASAPI beats ASIO to death because... well, that's Microsoft.

And that's the secret to how a generic, non-realtime os like Windows, macOS, etc can come up with a latency low enough that every pro musician uses a computer at some point in their work.

This approach is so universal that ALSA has it too. ALSA has had it since its inception, It's called "Memory-mapped" (MMAP) mode. Jack uses that. But unfortunately jack also keeps all its general-purpose audio overhead on top of it. (There's another super long-winded explanation for why Paul did this, but I'll leave that for the day when someone asks me about it. I think Paul made the wrong decision. But he did what he intended to do). Now. while I think that the design is wrong, I have absolutely no complaints about Paul's coding, He's efficient, well-organized, does reliable error-checking, etc. And what jack does (wrong), it does as efficiently as it's going to get. Paul even went so far as to time various IPC mechanisms and chose the fastest (file descriptors) over a slower one that would have made his work a lot easier (signals). I see no way to speed up this code that doesn't involve changes that would make it no longer work with existing apps. And the pipewire guys aren't going to do that since they've already promised "100% backward compatibility". So you give them the time they need to improve their jack-module emulation (which already lags the real jack because pipewire uses timer interrupts to schedule buffer fills which works great for doing things like watching a video over the internet, but doesn't work for pro-audio like interrupts from the audio card itself). And in a few months you'll have what I'm just gonna call jack3, because that's what it is. jack3 will time via a soundcard's interrupt, and then be 100% compatible with jack, You know, like how usb3 is 100% compatible with usb2. Except when you plug a usb2 device into usb3, the device may not work because usb3 is not usb2.

And I fully expect jack3 to be no more performative than the other two jacks (you'll get more of the same)... if we're lucky. You had better hope we're lucky. Because there's a whole range of possible results on the negative performance side.

But look on the bright side, Now we'll have 3 versions of jack to spend time configuring. And lots of brand new config files to tinker with. And we'll get to enjoy the thrill of optimizing our systems once more to accomodate a new server, so that we eventually get back to a setup that performs the same as before. And we'll have fun watching Glen rush to get jack3 incorporated into AVLinux before someone inevitably shows up with a jack4. It will be like that "I love Lucy" sketch where Lucy gets a job applying a dollop of whipped cream to the top of pumpkin pies. But the pies are coming down the conveyer belt faster than she can keep up, so she starts trying to hold them back, and they start piling up, and soon she's covered in pumpkin pie. Wait a minute,.. Glenn is that brown custard all over the seat of your pants? Or just a result of your reaction when you heard that someone is making yet another audio server?

Author of BackupBand at https://sourceforge.net/projects/backupband/files/
My fans show their support by mentioning my name in their signature.

merlyn
Established Member
Posts: 1392
Joined: Thu Oct 11, 2018 4:13 pm
Has thanked: 168 times
Been thanked: 247 times

Re: When is enough, enough..?

Post by merlyn »

j_e_f_f_g wrote: Tue Jul 04, 2023 11:35 pm

... He [Paul Davis] didn't make an alternate mode that allows a pro-audio app to say to the OS "I want exclusive access to the sound card, I don't want you interrupting me with other app's attempts to make sound ... "

Rearrange these words into a well known phrase or saying : missing, point, the. The point of JACK is that multiple audio apps can share the soundcard.

j_e_f_f_g
Established Member
Posts: 2032
Joined: Fri Aug 10, 2012 10:48 pm
Been thanked: 357 times

Re: When is enough, enough..?

Post by j_e_f_f_g »

merlyn wrote:

The point of JACK is that multiple audio apps can share the soundcard.

No shit. As I already explained in my post, that's the minimum necessary feature for a multi-instance general-purpose audio server. Glad to see that you were able to read the english language ok. Considering you're from england, it would otherwise be embarrassing for you.

Incidemtally, I found the missing point. It's right there on the tip of your steep, neanderthal-like brow ridge.

Author of BackupBand at https://sourceforge.net/projects/backupband/files/
My fans show their support by mentioning my name in their signature.

merlyn
Established Member
Posts: 1392
Joined: Thu Oct 11, 2018 4:13 pm
Has thanked: 168 times
Been thanked: 247 times

Re: When is enough, enough..?

Post by merlyn »

Let's leave the ad hominem aside. Why would you want an exclusive mode? It's already possible to do that with ALSA. In fact, as I'm sure you're aware, Paul Davis now recommends ALSA on the Ardour forum. For your own sake brother, are you spending too much time on Windows?

User avatar
Loki Harfagr
Established Member
Posts: 268
Joined: Thu Aug 02, 2018 1:28 pm
Has thanked: 151 times
Been thanked: 53 times

Re: When is enough, enough..?

Post by Loki Harfagr »

merlyn wrote: Wed Jul 05, 2023 11:31 am

Let's leave the ad hominem aside. Why would you want an exclusive mode? It's already possible to do that with ALSA. In fact, as I'm sure you're aware, Paul Davis now recommends ALSA on the Ardour forum. For your own sake brother, are you spending too much time on Windows?

recommended full read where all off this is plain clear explicitly described and easily understood (or groked): viewtopic.php?p=157498#p157498

merlyn
Established Member
Posts: 1392
Joined: Thu Oct 11, 2018 4:13 pm
Has thanked: 168 times
Been thanked: 247 times

Re: When is enough, enough..?

Post by merlyn »

WTF Loki? You're not suggesting that made sense, are you?

User avatar
Loki Harfagr
Established Member
Posts: 268
Joined: Thu Aug 02, 2018 1:28 pm
Has thanked: 151 times
Been thanked: 53 times

Re: When is enough, enough..?

Post by Loki Harfagr »

merlyn wrote: Wed Jul 05, 2023 3:21 pm

WTF Loki? You're not suggesting that made sense, are you?

That was not a suggestion.

merlyn
Established Member
Posts: 1392
Joined: Thu Oct 11, 2018 4:13 pm
Has thanked: 168 times
Been thanked: 247 times

Re: When is enough, enough..?

Post by merlyn »

This is the point where jeff admits what a good job the JACK developers did. They did such a good job that the JACK bridge came with its own troll. That's jeff.

tseaver
Established Member
Posts: 398
Joined: Mon Mar 13, 2017 6:07 am
Has thanked: 11 times
Been thanked: 98 times

Re: When is enough, enough..?

Post by tseaver »

@j_e_f_f_g

I guess this is pointless, but here I go anyway. There are perfectly valid "pro-audio" usecases which cannot be satisfied by ALSA's "exclusive mode" design:

  • I want to noodle with keyboard sounds, using a MIDI-driven app (Pianoteq) which e.g. records those noodles for later review / playback. Later, I'd like to be able to record the best of those noodles using my DAW, but I don't want to work in the DAW while noodling. With JACK, I can just wire up the DAW to record the playback from that app; with ALSA, I'm SOL.

  • I want to capture the Youtube soundtrack of one or more performances for use as a "reference track" into my DAW. With JACK, I can just wire up the DAW to capture the "pulseaudio sink" from my browser; with ALSA, I have to go chase down a way to record the sound to a file on disk from the browser, and later import that file into the DAW (which can't even be running while the browser plays, because "exclusive mode").

  • I want to experiment with different sounds in guitarix in standalone mode to get the tones I want, and then play through guitarix to capture the performance: nothing about the first part requires me to run the DAW at all (because guitarix runs as a standalone JACK / ALSA client), but capturing the performance "through" guitarix is much more straightforward (with JACK) than re-configuring the various guitarix plugins on e.g. a MIDI bus in Ardour, and then recording from that bus onto a track.

I just don't buy the idea that I must always do music within the DAW.

Ubuntu, Mixbus32C; acoustic blues / country / jazz
Locked