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.
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.
Right, if you insist: Fedora Kinoite, Thinkpad X1 Carbon 4th Gen, some sysctl tweaks for low-latency audio.
Yesterday I realized my password database (which I sync between computers/phones via Syncthing) was broken, because I had failed to regularly manage upgrades for my Syncthing container, and Syncthing had recently released a v2.0. My monitoring was insufficient and so I hadn’t noticed the Syncthing container on my laptop hadn’t been running since ~September. When I got Syncthing running again, I had already made changes to my password database on all three synced devices, so Syncthing generated a number of
password.sync-conflict-<date>-<time>.kdbxfiles. Normally that’s not a big deal because my password manager has the ability to merge two password databases together, but this time around 400 entries showed issues when merging.So, armed with a big ol’ mug of mulled wine, I bit the bullet and started checking entries manually. After a trip to the KeePassXC bug tracker and the merger code, it turned out that the entries only differred in a few seconds in the
_LAST_MODIFIEDattribute, which can happen when my laptop is a) on battery, which causes the system clock to go a little off when the voltage drops and b) disconnected from the internet so the NTP client doesn’t have a change to sync time. Both happened a lot during the months the time my password database had failed to sync – we had gone to Paris (lovely place, can wholly recommend a visit) and my GF’s daughter is in the habit of watching shows on the computer without plugging in the power.So I shrugged, merged anyway, ignored the error messages, deleted the
sync-conflictfiles, and called it a day. Maybe the wine played a role in that decision, maybe not.Thank you for coming to my TED talk.
Can you alaborate on the sysctl tweaks for low-latency audio? I have a carbon gen4 as well.
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.
# /etc/security/limits.d/25-pw-rlimits.conf @pipewire - rtprio 95 @pipewire - nice -19 @pipewire - memlock 4194304realtimegroup and grant it access to/dev/cpu_dma_latencyso Ardour can prevent the system from going into idle:# /etc/udev/rules.d/40-realtime-privileges.rules KERNEL=="cpu_dma_latency", GROUP="realtime"threadirqsandpreempt=fullto the kernel commandline# /etc/sysctl.d/50-audio.conf vm.page-cluster = 0Nonefor 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.