this post was submitted on 14 Nov 2025
103 points (98.1% liked)

Asklemmy

51401 readers
785 users here now

A loosely moderated place to ask open-ended questions

Search asklemmy ๐Ÿ”

If your post meets the following criteria, it's welcome here!

  1. Open-ended question
  2. Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.
  3. Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
  4. Not ad nauseam inducing: please make sure it is a question that would be new to most members
  5. An actual topic of discussion

Looking for support?

Looking for a community?

~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~

founded 6 years ago
MODERATORS
 

When reflexes acquired in your job are invading your daily life.

-When i was an intern in a retail, i had to fight against the urge to store the shelves during my own shopping sessions.

you are viewing a single comment's thread
view the rest of the comments
[โ€“] runiq@feddit.org 2 points 2 weeks ago* (last edited 2 weeks ago)

Sure. The following are the bits that I'm pretty sure are universal. The rest -- mostly configuring my audio interface -- is IMO fairly specific to my system and can be found in my dotfiles.

  • Limits for Pipewire:
    # /etc/security/limits.d/25-pw-rlimits.conf
    @pipewire   - rtprio  95
    @pipewire   - nice    -19
    @pipewire   - memlock 4194304
    
  • Add the realtime group and grant it access to /dev/cpu_dma_latency so Ardour can prevent the system from going into idle:
    # /etc/udev/rules.d/40-realtime-privileges.rules
    KERNEL=="cpu_dma_latency", GROUP="realtime"
    
  • Add threadirqs and preempt=full to the kernel commandline
  • Disable VM swap readahead since Kinoite uses ZRAM anyways:
    # /etc/sysctl.d/50-audio.conf
    vm.page-cluster = 0
    
  • Set IO scheduler to None for SSDs and NVMe:
    # /etc/udev/rules.d/60-block-scheduler.rules
    ACTION=="add|change", SUBSYSTEM=="block", ATTR{queue/rotational}=="0", KERNEL=="nvme?n?", ATTR{queue/scheduler}="none"
    ACTION=="add|change", SUBSYSTEM=="block", ATTR{queue/rotational}=="0", KERNEL=="sd?", ATTR{queue/scheduler}="none"
    

I'm not using a preempt kernel or anything like that; I've only gotten into audio when Pipewire had already hit the scene and I've found it to be good enough with these settings.