Comments (4)
@fruitchewy I've been experiencing the same thing for months, and figured out it was system76-scheduler one day after you! Thank you for making this issue, it's good to know I'm not alone.
Below are the niceness values on my machine. Before making the change in OP:
$ ps -elf | grep pipewire
4 S root 3713 2218 0 92 12 - 42747 - 21:52 ? 00:00:00 /usr/bin/system76-scheduler pipewire
0 S liam 6618 6603 1 69 -11 - 44977 ep_pol 21:58 ? 00:02:15 /usr/bin/pipewire
0 S liam 6634 6603 0 80 0 - 6583 ep_pol 21:58 ? 00:00:00 /usr/bin/pipewire -c filter-chain.conf
0 S liam 6635 6603 0 69 -11 - 46585 ep_pol 21:58 ? 00:01:12 /usr/bin/pipewire-pulse
Then after:
$ ps -elf | grep pipewire
0 S liam 6618 6603 1 65 -15 - 44977 ep_pol Mar24 ? 00:09:44 /usr/bin/pipewire
0 S liam 6634 6603 0 65 -15 - 6583 ep_pol Mar24 ? 00:00:00 /usr/bin/pipewire -c filter-chain.conf
0 S liam 6635 6603 0 65 -15 - 46585 ep_pol Mar24 ? 00:03:40 /usr/bin/pipewire-pulse
4 S root 100086 100077 0 92 12 - 23798 - 10:18 ? 00:00:00 /usr/bin/system76-scheduler pipewire
The before values don't seem right, niceness should be -15, not a mix of -12 and 0. The after values look correct and lead to less Rice Krispies effect in my recorded audio.
Could it be, system76-scheduler isn't able to set sched=(fifo)49
for some reason, and therefore doesn't set the other priorities (niceness, io)?
journalctl -u com.system76.Scheduler.service
turns up no errors (or anything else relevant), just the service stopping and starting successfully on reboot.
System info:
Audient iD4 audio interface, this issue happens when recording audio (and when listening, but to a lesser extent).
Ubuntu 23.10
My system76-scheduler configuration is default, besides the change described in OP.
from system76-scheduler.
Just in case it's useful information, adding sched=(fifo)49
back into the sound-server
profile -- and restarting the system76-scheduler service -- yields these results:
$ ps -elf | grep pipewire
0 S liam 6618 6603 1 10 - - 45014 ep_pol Mar24 ? 00:10:54 /usr/bin/pipewire
0 S liam 6634 6603 0 10 - - 6583 ep_pol Mar24 ? 00:00:00 /usr/bin/pipewire -c filter-chain.conf
0 S liam 6635 6603 0 10 - - 43519 ep_pol Mar24 ? 00:04:07 /usr/bin/pipewire-pulse
4 S root 109511 109502 0 92 12 - 23798 - 11:56 ? 00:00:00 /usr/bin/system76-scheduler pipewire
Edit: This looks better than my other results, since niceness values aren't applicable to processes with realtime priorities set (AFAICT, YMMV).
ps
also showing realtime priorities:
$ sudo ps -e -o pid,uid,pri,nice,rtprio,vsz,rss,tty,stat,start,time,comm | grep -E 'PID|pipewire'
PID UID PRI NI RTPRIO VSZ RSS TT STAT STARTED TIME COMMAND
7939 1000 89 - 49 141344 20924 ? S<sl 13:16:20 00:07:21 pipewire
7955 1000 89 - 49 26332 5888 ? S<sl 13:16:20 00:00:00 pipewire
7957 1000 89 - 49 167412 34064 ? S<Lsl 13:16:20 00:05:08 pipewire-pulse
from system76-scheduler.
I've been testing playing and recording audio over the past couple of days, and mine is now good. Here's what I did:
- My niceness values are the same as in my last
ps
example above ^^, i.e. realtime priorities are in effect, after I restarted system76-scheduler. - In
/etc/default/grub
I addedthreadirqs
toGRUB_CMDLINE_LINUX_DEFAULT
I'm not sure the realtime priorities will stick after a reboot, I'll have to wait and see.
from system76-scheduler.
Feel free to submit a PR with the priority adjustments
from system76-scheduler.
Related Issues (20)
- Support running without tweakable scheduler if cfs profiles are disabled HOT 2
- Child foreground niceness sometimes not applied
- Memory usage HOT 3
- High CPU usage + high laptop temps HOT 2
- On occasion, very high CPU usage HOT 2
- system76-scheduler daemon using 100% CPU HOT 1
- Make cfs-profiles configuration clearer HOT 1
- [Audio crackling] Possible priority wrongdoing for Pipewire and/or EasyEffects HOT 8
- 100% CPU usage HOT 4
- Pipewire - audio underrunning heavily at low buffer sizes when using external interface HOT 1
- Process nice values get reset when switching windows?
- fossilize-replay run by steam is not captured by execsnoop in amd64 architecture HOT 7
- policy mksSandbox (VMware Workstation Sandboxed Graphics Processes)
- Some USB storage devices will be blocked from registering with USB storage by BPF HOT 3
- Difficulty with assignments for Carla and Input Remapper
- scheduler conflicts HOT 2
- Does system76-scheduler replace Feral Interactive's gamemode?
- execsnoop example fails to build
- Internal restart of service with same PID resets nice value and never gets updated again HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from system76-scheduler.