Skip to content

Conversation

EPOCHvoyager
Copy link
Contributor

@EPOCHvoyager EPOCHvoyager commented Jul 18, 2025

Background

Configures the system for realtime task scheduling, sacrificing some performance for consistent latencies — useful primarily for audio engineering and production applications on the desktop. This should allow audio processing to be scheduled with very tight latencies — in the single digit millisecond range — without crackling or other forms of distortion (known in the Linux audio space as Xruns).

In the aforementioned use cases, even just a dozen milliseconds could disrupt the user in playing a MIDI instrument for sequencing, monitoring a microphone's output through headphones, or simply playing back complex audio projects.

Implementation

Fedora maintains a realtime-setup package, layered by this script with --apply-live to enable its included systemd services. The udev rules added for threadirqs and /dev/rtc access are given to the realtime group, which currently needs to be explicitly added to /etc/groups in Atomic Fedora.

As PREEMPT_RT has been in the mainline Linux kernel since 6.12, the only change required to equate modern kernels to the former RT kernel builds is the inclusion of the threadirqs kernel argument; given Bazzite enables full preemption by default.

Development Note (Work in Progress)

This is currently in a proof of concept stage. I still plan on adding an installation prompt along with a reversal script.

Supersedes #1726.

@KyleGospo KyleGospo force-pushed the testing branch 2 times, most recently from c21b858 to ced38d3 Compare July 20, 2025 07:26
@xXJSONDeruloXx
Copy link
Collaborator

Can you make this a toggle so user can easily undo the changes? Check out other ujust recipes that use ugum and our styling.

@EPOCHvoyager
Copy link
Contributor Author

Can you make this a toggle so user can easily undo the changes? Check out other ujust recipes that use ugum and our styling.

For sure, that's what I had planned.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants