Yes, there was a thread here…Can’t find it so far for some reason ![]()
Here it is:
Yes, there was a thread here…Can’t find it so far for some reason ![]()
Here it is:
Yes, 2i4, 2nd gen.
You think i need to do something specific based on the interface?
Also, as you can see from the thread - AFTER i resolve the issues i’m having with other stuff, but will be nice to know when i inevitabely come back.
I’m not staying on Fedora.
It’s ok, i don’t really need it, just so i don’t have to re-type my facebook passwords when i wait for the SSD replacement or my money back. Cause then i won’t have an SSD for a while.
Ah! Thanks!
I’ll probably be without a drive for a while, so pays to set up some persistance to lessen annoyances.
Jeez that’s even worse than Kingston!!!
![]()

Stop it, NOW!!!
I just might lol, one of the reasons i stopped using WIndows is what FB has been doing for years.
But i have some pages there i need to maintain and stuff, so for now, i have to use it.
That’s life i guess. ![]()
This should mostly work on any pipewire supporting distro.
I’ll have to make sure though that your Scarlett isn’t one of the focusrites that’s only partially standards compliant. Focusrite implemented a special protocol on newer models that only works with their driver AFAIK which makes low lantecy more painful from what I’ve heard.
I’ll get back to you shortly with some of what I do for my Motu M4 (still waking up
)
I think that’s the 3rd gen ones and Clarett… Not sure though, but it worked on Manjaro flawlessly, though, manjaro didn’t have pipewire implemented (or not fully) as far as i know.
It works, just certain settings and such became locked behind it. It “should” just be 3rd gen and up but want to make sure first
ok i think you should be good @vepar so here is what i do and a lot of this can be found in the pipewire wiki here though on Arch i dont believe you need to setup the RLIMITs/RTKit part.
If youre doing audio production a Real Time kernel is required, if you just want good latency it isnt
First things first, if you havent you need to copy the pipewire and wireplumber folders from /usr/share to ~/.config so you have the base config for pipewire
cp -r /usr/share/pipewire ~/.config/
cp -r /usr/share/wireplumber ~/.config/
Now You need to Start with tuning your alsa configuration, this is where youll get the most benefit
in ~/.config/wireplumber/main.lua.d youll find the 50-alsa-config.lua file. This is where youll do that. The bottom of the file will have this
apply_properties = {
–[“node.nick”] = “My Node”,
–[“node.description”] = “My Node Description”,
–[“priority.driver”] = 100,
–[“priority.session”] = 100,
–[“node.pause-on-idle”] = false,
–[“monitor.channel-volumes”] = false
–[“resample.quality”] = 4,
–[“resample.disable”] = false,
–[“channelmix.normalize”] = false,
–[“channelmix.mix-lfe”] = false,
–[“channelmix.upmix”] = true,
–[“channelmix.upmix-method”] = “psd”, – “none” or “simple”
–[“channelmix.lfe-cutoff”] = 150,
–[“channelmix.fc-cutoff”] = 12000,
–[“channelmix.rear-delay”] = 12.0,
–[“channelmix.stereo-widen”] = 0.0,
–[“channelmix.hilbert-taps”] = 0,
–[“channelmix.disable”] = false,
–[“dither.noise”] = 0,
–[“dither.method”] = “none”, – “rectangular”, “triangular” or “shaped5”
–[“audio.channels”] = 2,
–[“audio.format”] = “S16LE”,
–[“audio.rate”] = 44100,
–[“audio.allowed-rates”] = “32000,96000”,
–[“audio.position”] = “FL,FR”,
–[“api.alsa.period-size”] = 256,
–[“api.alsa.period-num”] = 3,
–[“api.alsa.headroom”] = 0,
–[“api.alsa.start-delay”] = 0,
–[“api.alsa.disable-mmap”] = false,
–[“api.alsa.disable-batch”] = true,
–[“api.alsa.use-chmap”] = false,
–[“api.alsa.multirate”] = true,
–[“latency.internal.rate”] = 0
–[“latency.internal.ns”] = 0
–[“clock.name”] = “api.alsa.0”
–[“session.suspend-timeout-seconds”] = 0, – 0 disables suspend
The bold options are the ones that you will need to prioritize
Node pause on idle and session suspend timeout disable suspending the device and prevent cracks/pops and start/stop of playback,etc… Timeout should be 0 and pause on idle should be false
Resample quality only comes into play on sample rate conversion, if youre not doing that then it wont do anything but if it is leaving it at 4 will keep latency lower and raising it has better resample quality.
Audio format should be set to whatever your device uses natively or if it supports multiple what you intend to play/record at. Mine only supports S32 but yours may vary.
Audio Rate and Allowed rates sets the default sample rate and alternatives the devide can switch to so as to avoid resampling. This can introduce some issues though like pops, pauses, etc. when switching to different sample rates so ive found it best to use the single highest you want to use and allow other things like music/youtube to resample when needed. If youre a bit perfect junky though youll need to tune this to your liking with all the sample rates you use.
Next is the latency meat and potatos for this file, the alsa period size. Most USB being batch devices there is added latency in pipewire, you can check the wiki i linked for further info but the long short is.
Lowering api.alsa.period-size from the default 1024 will lower latency, some devides can go as low as 6, youll have to lower this and test for xruns by running pw-top in a terminal to watch for errors.
api.alsa.period-num is obviously the number of periods, fewer periods should be lower latency but introduce scheduling issues, its recommended to use 2-3 as that keeps lower latency and helps scheduling. 4 and higher are pointless as you may as well increase the period size by that point for lower cpu load.
api.alsa.headroom can add a bit of headroom on top of the period size so as to allow lower periods but flexiblity in keeping xruns from happening, Im not 100% on what this does but thats my understanding from the wiki, This should be 0 for latency
last but not least api.alsa.disable-batch, this will disable batch mode for your usb interface when set tot true and lower latency further. Keep in mind not all USB devices can handle having this off, youll need to test it for yourself to see if it works well when combined with tuning the previous parameters.
Next is the ~/.config/pipewire folder, first clean out the cobwebs by deleting the files in the filter-chain sub folder here as this isnt gonna cover using filter chains. You should also delete the media-session.d sub folder here as you dont need it with wireplumber.
Here your main concern is the pipewire.conf file with this near the beginning
##Properties for the DSP configuration.
#default.clock.rate = 48000
#default.clock.allowed-rates = [ 48000 ]
#default.clock.quantum = 1024
default.clock.min-quantum = 16
#default.clock.max-quantum = 2048
#default.clock.quantum-limit = 8192
#default.video.width = 640
#default.video.height = 480
#default.video.rate.num = 25
#default.video.rate.denom = 1
#
#settings.check-quantum = false
#settings.check-rate = false
#
# These overrides are only applied when running in a vm.
vm.overrides = {
default.clock.min-quantum = 1024
The bold values again being most important, so lets have a quick run down
default.clock.rate and default.clock.allowed-rates are the same as in the alsa config, and you likely should set them to the same rate. This sets the sample rate and allowed sample rates to switch to for the pipewire graph. Pipewire on default uses 48khz 32bit float for its graph but this may not be ideal for you so youll need to set this like in alsa.
default.clock.quantum is the default latency for the graph. Lowering this from the default 1024 will lower latency but youll need to test for xruns,popping,etc. If you wish to determine your current graph latency the math is
( quantum / clock.rate ) x 1000 and round up for overhead
I.E (1024/48000)x1000 = 21.333, with pipewire overhead 22ms
default.clock.min-quantum and default.clock.max-quantum set the minimum and maximum latency for the graph. Pipewire can dynamically change the latency to try and prevent xruns, if you want a constant latency these should be set to the same as default quantum above otherwise set it to the minimum you want and the max youll usually allow for it. This will require testing also to make sure you dont have xruns,popping,etc.
default.clock.quantum-limit this is the absolute limit for stretching the quantum to prevent xruns, pipewire will not go beyond this limit and this should be the absolute max acceptable latency youll allow, same rules as the 3 above.
I hope this helps you and is what i do for tuning my Motu M4, while i dont do audio production i have some complicated routing for certain things at times that needs lower latency as do games ideally.
That is the locations of the main things for tuning pipewire latency. There may be some more shenanigans with jack on pipewire and other such things that im not experienced with but this should get you a good start. Read the pipewire wiki and docs for more on this and check out the linux audio reddit for further possible help
Oh wow! Thank you so much for the detailed reply!
You’re amazing!
Once i get the hardware issue i have sorted out (which will unfortunately take weeks probably), i’ll go back and start setting my audio up! ![]()
And read up on it in the meantime, i have nothing but time now lol.
You made a great post! I also bookmarked for reference because I’m under search a way for adjust audio quality playback, so many thanks!
I agree the Samsung Pro is very good and fast but i like my Western Digital Black also. Price and performance are good and i have no issues. I have literally beat them to hell. ![]()
Well, if i can find one for sale here, i’ll definitely consider them. ![]()
The problem is that shops here don’t exactly have much variety, and what they have is ofter priced way above what the exact thing costs literally everywhere else.
Yeah, I’d like to echo @keybreak’s sentiments regarding drives. When it comes to HDDs, Western Digital are the most reliable ones, at least from my experience. Currently, those are the only HDDs I own, some are over ten years old (to knock on wood), maybe even 15, I don’t remember. In recent years, I had a couple of Seagate drives, but they all died. In the 1990s I remember I mostly had Seagate drives, but they are very obsolete now, obviously. Out of 30 or so Western Digital drives, only one died so far. It seems they are becoming obsolete more quickly than they die.
The one WD that died (WD blue), it did so slowly, with plenty of warning signs, bad sectors, etc… so I had time to copy all the data from it, unlike Seagate drives that just stopped working with complete data loss (I haven’t bothered taking them to an expert for data recovery, since it either wasn’t important or was backed up).
Currently, I have a bunch of WD blues (very cheap, slow, reliable, great for backup), one WD green (which I don’t really like), four WD blacks (a bit more expensive, but fast), one WD gold (great for servers), which is in my desktop.
When it comes to SSDs, I really like my Samsung PRO 980 500 GB NVMe drive. It’s very fast and, to knock on wood, no problems with it so far (it’s two years old). I also have a couple of cheap Chinese SSDs, but I don’t trust them. A couple of them died very quickly.
Of course, every drive dies eventually, so all data that must not be lost needs to be backed up.
Yeah. Just now, i tried downloading the iso for live usb from Endeavour downloads.
Each time i downloaded to the nvme - the file instantly got corrupted and woudln’t pass a sha512sum check.
Once i downloaded directly to the Samsung SSD that’s connected to SATA, checksum passed immediately!
I already sent the email to request a refund, i finally have confirmation on what’s wrong with my system.
Like, this is 100% proof right there.
I’ll see what’s available in Croatia, but yeah, either WD or Samsung, i’m not buying anything else anymore.
I think they ship to Croatia.
That’s cool! Last time I installed EOS it wasn’t default yet.
Does the live environment interact in any way with the SSD?
Cause firefox tabs keep constantly crashing in the live environment as well…
If you haven’t physically removed SSD from PC - this test will not be valid.
Any physically connected broken SSD / USB / Memory card / HDD will affect system.
That’s what i thought! Thanks!
I will remove the SSD, i have to send it back anyway, just confirming that it interacts with the live environment. ![]()
EDIT: Well, no nvme in - tab just crashed. Let’s see if it gets worse.
EDIT2: Yeah, it got worse… ![]()
Well, a few hours in the live environment, same things happening witjout the nvme connected.
First tabs crash, then browsers…
Im gonna do the cringe thing and install windows and see if that happens there too.
And the whole computer is going back to the shop.
I can’t figure this out. And to prevent them from blaming linux, i will need windows installed to skip that conversation anyaway so…