Skip to main content

Linux audio performance analyzer

Project description

Introduction

rtcqs is a Python utility to analyze your system and detect possible bottlenecks that could have a negative impact on the performance of your system when working with Linux audio. It is heavily inspired by raboof’s excellent realtimeconfigquickscan script.

Features

Basically the same as realtimeconfigquickscan:

  • Root check

  • Audio group check

  • CPU frequency check

  • High resolution timers check

  • Preempt RT check

  • rtprio check

  • Swappiness check

  • Filesystem check

Additional features:

  • Spectre/Meltdown mitigations check

  • Basic IRQ check of sound cards and USB ports

  • Power management check

  • tkinter GUI

Installation

GUI

If you want to use the GUI you will have to install the python3-tk package or similar for your distro.

Virtual Environment

Make sure the pip and the Python virtual environment module packages are installed, on Ubuntu these would be python3-pip and python3-venv. Then create a virtual environment in a directory of choice and install rtcqs in there.

mkdir -p ~/path/to/rtcqs
cd ~/path/to/rtcqs
python3 -m venv venv &&
. venv/bin/activate &&
pip install --upgrade rtcqs

You can now run rtcqs by simply running rtcqs in a terminal. The GUI can be run with rtcqs_gui. Next time you’d like to run the script or the GUI load the virtual environment again and run either rtcqs or rtcqs_gui.

. venv/bin/activate
rtcqs
rtcqs_gui

Editable Installation

It is also possible to use a so-called “editable installation”. This allows you to run the commands directly, without having to load the virtual environment.

mkdir -p ~/path/to/rtcqs
cd ~/path/to/rtcqs
git clone https://codeberg.org/rtcqs/rtcqs.git .
python3 -m venv venv
venv/bin/pip install -e .

You can now run rtcqs by running ~/path/to/rtcqs/venv/bin/rtcqs in a terminal. The GUI can be run with ~/path/to/rtcqs/venv/bin/rtcqs_gui.

Overview

When running the GUI it will immediately show the results of the checks. All checks have their own tab. Each tab title consists of a symbol that shows the check result and the name of the check. A ✔ means the check was successful while a ✘ means rtcqs encountered an issue. This way you can quickly spot which checks have issues.

Clicking ‘Cancel’ will close rtcqs. Clicking ‘About’ will bring up a popup window which displays the version and a short description.

https://codeberg.org/attachments/5092d94a-2a06-4be1-b04e-ca61ae6ed732

rtcqs main window (tkinter version)

https://codeberg.org/attachments/c0f72b82-470c-4f90-86d5-736226a146ed

rtcqs about window (tkinter version)

Future plans

  • Disk scheduler check (first asses what impact different schedulers have on performance)

  • Improve swappiness check (get amount of RAM and work with that)

  • Ditch PySimpleGUI which is not open source anymore and move to pygubu or even popsicle (how audio would that be)

Contact

To contact me send me a mail or if it’s a technical issue or question, use this project’s issue tracker.

Thanks

Many thanks of course to the original author of realtimeconfigquickscan, Arnout Engelen a.k.a. raboof.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rtcqs-0.6.2.tar.gz (25.7 kB view details)

Uploaded Source

Built Distribution

rtcqs-0.6.2-py3-none-any.whl (24.8 kB view details)

Uploaded Python 3

File details

Details for the file rtcqs-0.6.2.tar.gz.

File metadata

  • Download URL: rtcqs-0.6.2.tar.gz
  • Upload date:
  • Size: 25.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for rtcqs-0.6.2.tar.gz
Algorithm Hash digest
SHA256 0df795f641a174c7fa859d62349d0bdc7527ee6f1cd6044ae5c8ed24d500bc92
MD5 4b6276965ca5fa1b0b6892f83d270a5d
BLAKE2b-256 acfc6fb34305675d3fb54bd46dc9c69f77e7995366e473a28a9613589aa84e6f

See more details on using hashes here.

File details

Details for the file rtcqs-0.6.2-py3-none-any.whl.

File metadata

  • Download URL: rtcqs-0.6.2-py3-none-any.whl
  • Upload date:
  • Size: 24.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for rtcqs-0.6.2-py3-none-any.whl
Algorithm Hash digest
SHA256 074ad1a4a7f97e5d63d7c854465f7d262e276d758f09fa01e0744385d93d1765
MD5 ed44e025fa36086eb6fee3c34bcdc2d9
BLAKE2b-256 44db06242df315f506f2c803c4606870002893af57d6b7ca66ea833f59ec9206

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page