Conversation
…25W, system tray, sin auto-aplicar TDP al inicio - run-ryzen-master-commander.sh: lanzar app con PYTHONPATH correcto (sin pkexec para evitar error xcb) - install-polkit-rmc.sh: instalar política polkit para ryzenadj/nbfc sin pedir contraseña - polkit: allow_any/allow_inactive/allow_active=yes; ryzenadj vía /snap/bin/ryzenadj - bin/ryzen-master-commander-helper: usar /snap/bin/ryzenadj - nbfc_manager: corregir NameError en callbacks; is_nbfc_configured usa helper - src/__init__.py: quitar import main para evitar RuntimeWarning - src/main.py: detección tema oscuro con PyQt6 QPalette (ColorGroup/ColorRole) - profile_manager: botones 15W y 25W (25W con --max-performance); no restaurar TDP al inicio; desplegable con opción No aplicar - Perfiles TDP: Por-defecto-15W.json, LenovoV15-22W.json (tctl 70) - main_window: opciones 15W y 25W en el menú del system tray Made-with: Cursor
… en errores; lm-sensors e inicio nbfc en instalador - nbfc_manager: al elegir perfil en el diálogo, aplicar config y luego arrancar servicio (callbacks encadenados); pasar parent a update_nbfc_configs; mismo flujo para config recomendado - main_window: comprobar nbfc al iniciar y poner Manual si no está corriendo; mensaje de error de auto fan solo una vez por sesión; arreglo check_nbfc_running - system_utils: avisar una sola vez por sesión si nbfc o sensors fallan (no spamear cada 5s) - Build/install-standalone.sh: instalar lm-sensors; tras instalar nbfc ejecutar nbfc update, systemctl enable nbfc_service, nbfc config -s auto y nbfc start - Build/README: lm-sensors en dependencias - Build/: install-standalone.sh, create-bundle.sh, README.md, RyzenMasterCommander-bundle.tar.gz Made-with: Cursor
|
Thank you for your contribution! This looks to add some really good improvements at the app level, but introduces some breaking changes for non-Ubuntu systems. See below for details. Critical Issues — Linux Compatibility1. Hardcoded
|
Title:
Ubuntu 24.04.4: installer, polkit, 15W/25W presets, NBFC fixes, and Build package
Description:
This PR adds improvements focused on Ubuntu 24.04.4: an automated installer, better NBFC handling, and a ready-to-use Build package so users can install without cloning the full repo.
Installer and Build package
Build/ folder with:
install-standalone.sh – One-shot installer: installs system deps (python3-venv, python3.X-venv, python3-pip, libxcb-cursor0, lm-sensors), extracts the app bundle, creates venv, installs polkit policy, desktop shortcut, and optionally ryzenadj (snap) and nbfc (apt or .deb from nbfc-linux releases). After installing nbfc, it runs nbfc update, systemctl enable nbfc_service, and tries nbfc config -s auto and nbfc start.
RyzenMasterCommander-bundle.tar.gz – App sources only (no Build/ inside).
create-bundle.sh – Regenerates the bundle from the repo.
README.md – Installation and dependency notes (English, target: Ubuntu 24.04.4).
No auto-apply of TDP on startup; user chooses profile or 15W/25W.
15W and 25W preset buttons (25W uses --max-performance); same presets in the system tray menu.
Polkit and helpers
Polkit policy updated so ryzenadj and nbfc can run via pkexec without repeated password prompts (allow_any / allow_inactive / allow_active = yes).
ryzen-master-commander-helper and polkit policy use /snap/bin/ryzenadj when the snap is installed.
install-polkit-rmc.sh – Installs the polkit policy; run-ryzen-master-commander.sh – Runs the app with correct PYTHONPATH (no pkexec at launch to avoid Qt xcb issues).
NBFC
When the user selects a config in the NBFC dialog, set_nbfc_config and start_nbfc_service are chained with callbacks so the service is started only after the config is applied.
At startup, if NBFC is not running, the app defaults to Manual fan control to avoid “Error setting automatic fan control” and QProcess warnings.
is_nbfc_configured uses the helper script; update_nbfc_configs receives parent to avoid QProcess being destroyed early.
nbfc_manager: fixed NameErrors in async callbacks (closure over callback / process).
Other
system_utils: warn only once per session when nbfc or sensors are missing (no repeated messages every 5s).
main_window: single “automatic fan control unavailable” message per session when NBFC is not running.
main.py: dark mode detection uses PyQt6 QPalette (ColorGroup/ColorRole); src/init.py: removed import main to avoid runpy warning.
TDP profiles: LenovoV15-22W.json, Por-defecto-15W.json (tctl 70°C).
Build/README.md: dependencies listed (system, optional, Python); target Ubuntu 24.04.4.
Tested on Ubuntu 24.04.4 and a Lenovo V15 G3 (5825U) with nbfc config “Lenovo ThinkPad T14 Gen2”.