 Oh, that is awesome! I replaced Jack with PipeWire and this is what happened. Hey, I'm Anfa. A lot of you have requested that I install PipeWire and see how does it work for audio production. I have done that some time ago and it didn't work very well, but you keep requesting it so here it is. Here is my normal setup using Jack and I can play music from Ardor using the Jack back-end. You can see this is Jack, the music is playing, the transport is moving. It works. Okay, now let's replace Jack with PipeWire and see what happens. So let me install a package. Let's go. PipeWire. What do we have here? PipeWire Jack drop-in. I think that's what I need. PipeWire. Yay. Okay. PipeWire Jack drop-in. A lot of people have installed this. I think that's going to be this. Let's install. Oh, wait, one more thing before I do. That is, I need to have a backup. So TimeShift create comments before replacing Jack with PipeWire and I have a backup now. So if I mess up my system beyond repair, I can just roll back. Okay. Let's install this. And yep, it's installed. So what do I do now? If I stop, I've got to disconnect from Jack and, okay, I think there is some common line interface for PipeWire. P-W-Jack, I'm not sure what that does. Use PipeWire instead of, okay, so that I'm going to go P-W-Jack and now you, oh, I'll run R-Door, O-P-T, R-Door 6.9, Bin, R-Door, R-Door. Okay, R-Door 6. All right, I'm going to close this instance of R-Door, just quit. And now let's run it through P-W-Jack. So it should, I think what it does is it replaces some library paths to provide the PipeWire supplied versions of Jack libraries so that R-Door thinks it's using Jack, but it's using libraries that are actually PipeWire libraries and it's going to use PipeWire instead of Jack because of that. Okay, are we running on PipeWire? I don't really know. Let's try to find out. P-W, okay, I'm going to use this screen, P-W-Top, Dummy Driver. Okay, there is R-Door. There is R-Door listed in PipeWire-Top. So the program that is monitoring load. Let's see if it plays music. Okay, I have no audio output, but I see that my master bus is not assigned to anything. So let's see, oh, I have no outputs. There's nothing I can send my signal to. I'm going to try and run Karla. Okay, so P-W-Jack Karla. Let's see. LibJack SO0 loaded successfully. All right, so this should be using PipeWire. Okay, I think it is using PipeWire because it's R-Door, but it's nothing else. Okay, so I have R-Door running through PipeWire, but I don't... Okay, maybe I'll... Oh, I know because I had original Jack running, and that has probably caused PipeWire to be unable to access the sound card. I think I also need to install PipeWire Pulse Audio, okay, Pulse, PipeWire. Hmm, okay, let's see. PipeWire Pulse. Is there also like a drop-in replacement package? PipeWire Jack. Okay, I think no. I think I just need to install PipeWire Pulse Audio, and maybe I don't need to use AUR. Maybe these packages are also in the main repositories? I don't know. Let's see. PipeWire Jack, PipeWire ALSA, PipeWire Pulse. Okay, let's install all of these and just have everything covered. Okay. Oh, it didn't work. Okay. All right, I'm going to try to do this through the terminal. So Pac-Man S-PipeWire-PulseAudio, oh, Pulse, oh, I'm able to lock the database. Ah, remove Pulse Audio, yes, remove. Yes. Okay. All right, so I need to first delete all the packages regarding Pulse Audio, because otherwise, so I'm going to Pac-Man R-PulseAudio-Aster, oh, shit, okay, Pulse Audio. Okay, so I will just delete all of these packages. So Pac-Man-R, I'm going to paste these names. Oh, it looks like I'll have to remove one at a time. Manjaro Pulse, okay, so Manjaro Pulse Pac-Man R-S, great. Let's now remove this, yes, let's now try to remove these, okay, yep, all right, let's see if I can already install PipeWire Pulse. Remove Pulse Audio, yes, yes, okay, all right, so I replaced Pulse Audio with PipeWire now. Ha, so I'm going to kill Pulse Audio, Pulse Audio, oh, okay, not as car, uh, Pulse Audio CTL, what is that, I've got PCM-DSS, ah, Pulse Audio-K, oh, it doesn't exist, okay, PKL Pulse Audio, all right, I think that did it, hey, let's see, all right, so we have Carla Dummy Driver, okay, maybe I can stop and restart PipeWire because audio device, or how do I select audio device in PipeWire, okay, PWCLI, okay, unsupported type PipeWire interface plot profiler, remote, there is the PipeWire 0, help, destroy a global object, what if I just stop PipeWire and try to restart it, P-Grap PipeWire, okay, there is a process named PipeWire, I'm going to kill it, PKL-9 in case it's resistive, all righty, okay, I've killed PipeWire and Carla says Jack has stopped, that is correct because, but Arthur doesn't give a shit, okay, I'm going to disconnect from or Jack or whatever it is, all right, let's try Pipe, I'm going to see again, maybe it restarted, yes, it restarted, all right, let's try again, is there PWTop Dummy Driver, I want to use a device, not sure how I point it to the, okay, Ardor has frozen, let's kill it, PKL-Ardor, great, PKL-Carla, okay, we've killed everything, how do I configure, hmm, okay, PWs, let's see what we have, PWMonitor, PipeWire interface, Freewheel Driver, great, Dummy Driver, I would like to have an actual physical device connected because, you know, that's the whole point, to play sound through the physical device, how do I change the device, okay, you know what, I'm going to just restart the computer and see what happens, also shouldn't the PipeWire drop in, make everything run through Jack, even if I don't use the PWJack way of running it, I'm going to try and do that, Karla, I'm going to start Karla normally, oh, what that means, something's wrong, okay, let me just close RocketChat because it keeps showing me notifications, juice, PW, okay, PWTop, there's Karla, aha, so PipeWire Jack drop in makes everything use PipeWire even if it would normally use Jack, okay, now let's restart the computer, reboot and see what happens after that because I can't figure out how to get any sound from PipeWire, I have sound devices, I have a built-in sound card, I have screens, HDMI screens with speakers in them, I have a USB audio interface and I can't hear anything, PipeWire doesn't seem to detect any audio devices, so I'm now rebooting and we'll see what happens, maybe I'll see some PipeWire related info in the SystemD startup, I think it would have already happened where to happen, okay, let's see what happens, do I have sound, okay, I have something, I don't know if it's PipeWire or is it pulse audio or what is it, I do have some, okay, there's a webcam input as well, let's just start PWMon, no, PWTop, okay, also, hey, there's a bunch of outputs and inputs, I'm going to start Carla and see what happens, Patch Bay, oh, there's a bunch of stuff, there are all the devices, all the audio devices in here, all at once, there is my USB audio interface, there is the webcam input and there is HDMI, actually two HDMI inputs, or actually these are inputs of monitors, so these are monitors, so these don't really matter, this is just the feedback of the output of the input, but there is output, okay, let's see if I can hear my front left, is that the microphone, oh, I can hear myself, let's turn up the gain, okay, it works, I'm sorry that distorts, I have input from that, okay, let's see if I can actually feed the input from, now I have sound from this camera, oh, wow, I never, I would never be able to do this kind of stuff with Jack, actually I could do it with also in and also out programs, but that would take a lot of common line work and scripting, that is really cool, okay, now I should also be able to route sound output like from microphone to the screens, the HDMI displays, oh, oh sorry that's not it, this is the input, yes it works and the second one, I can turn up the output volume, HDMI display, oh and shows the output volume, what is that, pro audio, whoa, what is pro audio, there's a lot of things going on, I know what is that, that is, that's the surround sound output and I have all the ports, that is neat, okay, so Starship Mattis HD audio control, this is my, all right, I want HDMI, where's the HDMI, okay, Elsemer, stereo monitor, no analog stereo, okay that works, I have sound from the screen, that is actually really cool because for audio production I could have like a bunch of devices connected and then just be able to monitor what I'm doing, like listen to the music I'm making through all the different devices very easily, just switch between them because they all support it, all right but the big question is, can I load my outdoor session and actually play sound and record sound and record MIDI and play MIDI and then can I record my display, can I do screen capture with audio using OBS via pipe wire because if I do I may consider keeping this setup for a time being to see if I can use it in production, I don't expect it to work because I did not work the last time I tried it but let's do it, I'm gonna start outdoor, gonna open up this PW monitor and just, sorry, PW top and see what happens, what is there and right now we can see there is a bunch of stuff, there is the freewheel driver, the last time I tried it there was no freewheeling option in pipe wire, that meant whenever I tried to export a project from Ardor, Ardor would just crash because Ardor requires the freewheeling option in jack to actually render out the session because it kind of disables syncing the audio processing to sound card clock and it just processes it as fast as the CPU can handle it and that's how freewheeling works and uses that to render sound and if it can't do that it just crashes because it's like, oh jack can do this because Ardor still believes it's using jack, pipe wire is just impersonating jack in here. All right here we have Ardor and he loaded the session, that's the moment of truth I guess, let's see if I have any audio outputs now, okay I have some master audio output, let's see, whoa there's a lot of outputs, let's open the routing grid, hardware, okay I have stereo playback from this thing, from the screen and from the motherboard's built-in audio interface, let's try this and see what happens, it works, what the hell, it works, what, okay let's let's change the output device, what about this, it just works, that's awesome, oh my it really works, oh there's also volume here, okay can turn it up all the way, what if I do this, okay so this is like the default, ah okay so this is the pulse audio part of plasma which is interfacing with pipe wire, it thinks it's talking to pulse audio but it's talking to pipe wire, so this is what my system sounds will do but if I, okay now it plays, that's new, when I tested this a few weeks ago it did not work, the playhead would stuck or just drift all around like do very weird things like this and then just go there and just, no wouldn't play, okay can I record some audio, that is a big question to him for me, can I record sound, ha first recording of my speech, testing recording via pipe wire, I'm recording this through pipe wire into ardor and ardor thinks it's using jack but it's not jack, it's pipe wire, yeah all right, hmm there's buffer sizes, okay it's recorded, there's the playback though, I don't hear anything, oh that's weird what's going on, oh okay okay everything is fine, it's just my master bus has automation, it works and I don't hear any dropouts or anything, okay but the latency is quite high because there is, the buffer is 1024, you can see in this PW top program we have the quant or I don't know what is this but this is the buffer size I'm sure, this is the, oh my goodness every single thing can run at a different sampling rate and a different buffer size that's pretty crazy, I don't really know what's that all about, it's kind of weird but okay let's let's do it, oh by the way I could try and connect the cam link 4k and see if I, if I can get some, oh someone's calling me, okay so where were we, ah if can I have, can I have HDMI input from, yeah let's see I have the camera connected, I can pull in the HDMI cable, okay it's a little bit short, let me pull it from a different direction, okay okay now I've connected, okay it doesn't light up, well now it lights up, is it detected, oh something appeared, video for Linux input, okay so now I have two video for Linux inputs, let's see what shows up in Karla, okay I have ad pro webcam, cam link, cam link 4k, all right it exists but it does not feed me any audio, okay that's still better than nothing, I'm gonna disconnect it, all right so the question now is can I do screen capture and can I change the buffer size, here in Karla I have a buffer size, I can't, okay I can't change it here, I'll see if I can change it in outdoor and if it will actually affect the latency so I'm gonna go audio MIDI setup and here is also a way to change it, so let's try and do 256, okay it says it changed and indeed it changed, outdoor and the UMC, my USB audio interface both now have the buffer size of 256, that's smart, that is smart so it changes the, it changes the buffer all the way upstream so that the latency actually can be lower, let's see if that actually happens, I'm gonna try and record something and listen to the to the monitoring, okay this is definitely a lower latency, let's see how low can I go, let's see for, oh I had it, that was weird, holy snap it works, can I play a synth, give me a okay, MIDI, oh okay okay that's loud, all right let's me go to preferences and change the MIDI devices, port config, MIDI inputs, music data, follow selection, yes please, now it really works, it passes through both audio and MIDI and it's it's low latency, I'm at 64 buffer frames and the DSP is at 30%, that is quite, that's really fast, let's let's go lower, let's go 32 samples, 0.7 milliseconds of internal latency, DSP at 40, okay 40, 50%, okay now it starts chugging, yeah we are having X runs, but this is crazy low, I never work with this buffer size, this is 32 samples, aren't 28 samples, which is under 3 milliseconds, I'll see if I can just play this piece now, okay I'll mute this, DSP at 30% tops, that is nice, let's go to 64 samples and see if it manages to do that, okay we have some some X runs, I'm hearing clicks, yeah but again 64 samples is crazy low, all right let's see what we can do, I'm gonna, okay no maybe not, I'm gonna leave this on and I'm gonna start my usual recording setup and I'm gonna see if that actually works, I'm gonna roll down green screen just to make sure it works perfectly, okay green screen works, just the camera angle is a bit whack, I can fix that, all right do I have audio, I do have my voice capture, do I have audio capture from Ardor? I do, oh yeah let's try to record something, hey it's Anfa and this is the first ever video recorded using pipe wire as a drop-in replacement for Jack, quite crazy isn't it because it freaking works, oh my goodness this, that's the most unexpected outcome, I did not expect I'm gonna, I'm going to end up actually keeping pipe wire on my production setup you know, but it freaking works, that's all for today, thanks for watching, I hope you've learned something, if you have any questions or suggestions for future videos please leave them in the comment section below, I would also like to thank all the fine people who are supporting my work financially, because of them I am able to keep making these videos, if you would like to join them please go to patreon.com slash anfa or liberapay.com slash anfa where you can support me with a monthly donation, thanks, now go and replace jack with pipe wire, oh that's so cool, it's falling again