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

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rtcqs-0.6.7-py3-none-any.whl (24.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rtcqs-0.6.7.tar.gz
  • Upload date:
  • Size: 25.2 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.7.tar.gz
Algorithm Hash digest
SHA256 8561b27a45491563fb47e0fcd26fbba2a5d3241fde125269202cad4c9a680bce
MD5 bfe7ee6d2bb7a1f353b5b7cbe09b3cd9
BLAKE2b-256 77c99708271169d5b5a4f7ae1c8ed5ec37247208837df2873d17845c35588aba

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rtcqs-0.6.7-py3-none-any.whl
  • Upload date:
  • Size: 24.4 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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 5ed97e28c23f9499374a1706d306c91d8173faf1f0e3954c2d7e2e9659dcf2dc
MD5 0e3d0012b414d546981ccb62123189cf
BLAKE2b-256 a15f4b130c5a9fb4fed604384826c15cdc84b10979980fb9e46272c3fa75d425

See more details on using hashes here.

Supported by

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