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:

  • Simultaneous Multithreading (SMT, also known as hyper-threading) check

  • 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/6cf7e097-9e6c-40bb-9590-6e019548e66c

rtcqs main window (tkinter version)

https://codeberg.org/attachments/1588b115-5ad7-4217-a73d-236ea09fa5cc

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.6.tar.gz (25.9 kB view details)

Uploaded Source

Built Distribution

rtcqs-0.6.6-py3-none-any.whl (25.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for rtcqs-0.6.6.tar.gz
Algorithm Hash digest
SHA256 2a87016e5093c7be0cb8129b9f5634cc87318621531cdb4565ae2a7957dec671
MD5 846ef06b20dab92e3bbcc91cac8cedac
BLAKE2b-256 4e742da696255f501cc1c0718a8fa14e330e50713ffc1326259fcfe422a599b1

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for rtcqs-0.6.6-py3-none-any.whl
Algorithm Hash digest
SHA256 688573c9a394b03f713852ac1a096de790066701340f584566f4656a3f61f4ac
MD5 95bf181ba1b4b26ca11a57510192e491
BLAKE2b-256 1b5d03b4eb56b6dd62ba28abd0724625c13f4dc244065b5405270bf64e1b94c3

See more details on using hashes here.

Supported by

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