From 9d5d5683d974eb93562256234631bfd250328ff3 Mon Sep 17 00:00:00 2001 From: nippy Date: Sat, 29 Aug 2026 14:55:31 +0200 Subject: fix --- raveos-welcome/99-gpu-monitor.rules | 3 ++ raveos-welcome/CONTRIBUTORS.md | 5 +++ raveos-welcome/PKGBUILD | 49 ++++++++++++++-------------- raveos-welcome/contributors.json | 10 ++++++ raveos-welcome/gpu-optimization.service | 15 +++++++++ raveos-welcome/raveos-gpu-optimizer.sh | 57 +++++++++++++++++++++++++++++++++ 6 files changed, 115 insertions(+), 24 deletions(-) create mode 100644 raveos-welcome/99-gpu-monitor.rules create mode 100644 raveos-welcome/CONTRIBUTORS.md create mode 100644 raveos-welcome/contributors.json create mode 100644 raveos-welcome/gpu-optimization.service create mode 100644 raveos-welcome/raveos-gpu-optimizer.sh diff --git a/raveos-welcome/99-gpu-monitor.rules b/raveos-welcome/99-gpu-monitor.rules new file mode 100644 index 0000000..2d1186f --- /dev/null +++ b/raveos-welcome/99-gpu-monitor.rules @@ -0,0 +1,3 @@ +# RaveOS GPU Udev Rules for Permissions and Safe Dynamic Monitoring +KERNEL=="card[0-9]*", SUBSYSTEM=="drm", GROUP="video", MODE="0666" +KERNEL=="renderD[0-9]*", SUBSYSTEM=="drm", GROUP="video", MODE="0666" diff --git a/raveos-welcome/CONTRIBUTORS.md b/raveos-welcome/CONTRIBUTORS.md new file mode 100644 index 0000000..26df826 --- /dev/null +++ b/raveos-welcome/CONTRIBUTORS.md @@ -0,0 +1,5 @@ +# RaveOS Közreműködők / Contributors + +A RaveOS fejlesztésében részt vevő csapat és közreműködők: + +- 🛠️ **RaveOS Infrastructure Team** — Kernel, ArchISO & Package Maintainers diff --git a/raveos-welcome/PKGBUILD b/raveos-welcome/PKGBUILD index ad0d222..b4c09db 100644 --- a/raveos-welcome/PKGBUILD +++ b/raveos-welcome/PKGBUILD @@ -1,11 +1,16 @@ +# Maintainer: RaveOS Linux Team pkgname=raveos-welcome -pkgver=2.0.0 -pkgrel=12 -pkgdesc="RaveOS üdvözlő ablak - első bejelentkezéskor jelenik meg" -arch=('any') -url="https://git.rp1.hu/RaveOS/raveos-welcome" -license=('GPL') -depends=('python' 'python-pyqt6' 'polkit' 'networkmanager') +pkgver=2.2.1 +pkgrel=1 +pkgdesc="RaveOS Welcome Application and Safe GPU Performance Optimizer" +arch=('x86_64') +url="https://git.rp1.hu/RaveOS/RaveOS-PKGBUILD" +license=('GPL3') +depends=('python' 'python-pyqt6' 'polkit' 'networkmanager' 'bash' 'fastfetch' 'pciutils' 'lm_sensors') +optdepends=( + 'amdgpu_top: Advanced AMD GPU telemetry' + 'nvidia-utils: NVIDIA GPU performance tuning' +) source=() sha256sums=() @@ -16,27 +21,23 @@ SRCPKGDEST="${startdir}/build" LOGDEST="${startdir}/build" package() { - install -Dm755 "${startdir}/raveos_welcome.py" \ - "${pkgdir}/usr/bin/raveos-welcome" - - install -Dm644 "${startdir}/raveos-welcome.desktop" \ - "${pkgdir}/etc/xdg/autostart/raveos-welcome.desktop" - - install -Dm644 "${startdir}/raveos-welcome.svg" \ - "${pkgdir}/usr/share/raveos-welcome/raveos-welcome.svg" - - install -Dm644 "${startdir}/raveos-welcome.svg" \ - "${pkgdir}/usr/share/icons/hicolor/scalable/apps/raveos-welcome.svg" - - install -Dm755 "${startdir}/gaming-optimize.sh" \ - "${pkgdir}/usr/share/raveos-welcome/gaming-optimize.sh" - - install -Dm644 "${startdir}/hu.rp1.raveos-welcome.policy" \ - "${pkgdir}/usr/share/polkit-1/actions/hu.rp1.raveos-welcome.policy" + [ -f "${startdir}/raveos_welcome.py" ] && install -Dm755 "${startdir}/raveos_welcome.py" "${pkgdir}/usr/bin/raveos-welcome" + [ -f "${startdir}/raveos-welcome.desktop" ] && install -Dm644 "${startdir}/raveos-welcome.desktop" "${pkgdir}/etc/xdg/autostart/raveos-welcome.desktop" + [ -f "${startdir}/raveos-welcome.svg" ] && install -Dm644 "${startdir}/raveos-welcome.svg" "${pkgdir}/usr/share/raveos-welcome/raveos-welcome.svg" + [ -f "${startdir}/raveos-welcome.svg" ] && install -Dm644 "${startdir}/raveos-welcome.svg" "${pkgdir}/usr/share/icons/hicolor/scalable/apps/raveos-welcome.svg" + [ -f "${startdir}/gaming-optimize.sh" ] && install -Dm755 "${startdir}/gaming-optimize.sh" "${pkgdir}/usr/share/raveos-welcome/gaming-optimize.sh" + [ -f "${startdir}/hu.rp1.raveos-welcome.policy" ] && install -Dm644 "${startdir}/hu.rp1.raveos-welcome.policy" "${pkgdir}/usr/share/polkit-1/actions/hu.rp1.raveos-welcome.policy" if [ -d "${startdir}/brave-profile" ]; then cp -r "${startdir}/brave-profile" "${pkgdir}/usr/share/raveos-welcome/brave-profile" find "${pkgdir}/usr/share/raveos-welcome/brave-profile" -type d -exec chmod 755 {} + find "${pkgdir}/usr/share/raveos-welcome/brave-profile" -type f -exec chmod 644 {} + fi + + # Safe GPU Performance Optimizer & Systemd/Udev Units + [ -f "${startdir}/raveos-gpu-optimizer.sh" ] && install -Dm755 "${startdir}/raveos-gpu-optimizer.sh" "${pkgdir}/usr/bin/raveos-gpu-optimizer" + [ -f "${startdir}/gpu-optimization.service" ] && install -Dm644 "${startdir}/gpu-optimization.service" "${pkgdir}/usr/lib/systemd/system/gpu-optimization.service" + [ -f "${startdir}/99-gpu-monitor.rules" ] && install -Dm644 "${startdir}/99-gpu-monitor.rules" "${pkgdir}/etc/udev/rules.d/99-gpu-monitor.rules" + [ -f "${startdir}/contributors.json" ] && install -Dm644 "${startdir}/contributors.json" "${pkgdir}/usr/share/raveos-welcome/contributors.json" + [ -f "${startdir}/CONTRIBUTORS.md" ] && install -Dm644 "${startdir}/CONTRIBUTORS.md" "${pkgdir}/usr/share/doc/raveos-welcome/CONTRIBUTORS.md" } diff --git a/raveos-welcome/contributors.json b/raveos-welcome/contributors.json new file mode 100644 index 0000000..d72aad9 --- /dev/null +++ b/raveos-welcome/contributors.json @@ -0,0 +1,10 @@ +{ + "project": "RaveOS Linux", + "contributors": [ + { + "name": "RaveOS Team", + "role": "Distribution & Infrastructure Maintainers", + "url": "https://git.rp1.hu/RaveOS" + } + ] +} diff --git a/raveos-welcome/gpu-optimization.service b/raveos-welcome/gpu-optimization.service new file mode 100644 index 0000000..bdaed00 --- /dev/null +++ b/raveos-welcome/gpu-optimization.service @@ -0,0 +1,15 @@ +[Unit] +Description=RaveOS Safe GPU Optimization Service +After=graphical.target +Before=display-manager.service + +[Service] +Type=oneshot +User=root +ExecStart=/usr/bin/raveos-gpu-optimizer +TimeoutStartSec=30 +StandardOutput=journal +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target diff --git a/raveos-welcome/raveos-gpu-optimizer.sh b/raveos-welcome/raveos-gpu-optimizer.sh new file mode 100644 index 0000000..e24285a --- /dev/null +++ b/raveos-welcome/raveos-gpu-optimizer.sh @@ -0,0 +1,57 @@ +#!/usr/bin/env bash +# RaveOS Safe GPU Performance Optimizer & Stutter Preventer +# Prevents P-state lock lag, Wayland compositor micro-stuttering, and thermal throttling drops. + +set -euo pipefail + +# Root check +if [[ $EUID -ne 0 ]]; then + echo "[RaveOS-GPU] Error: Root permissions required." >&2 + exit 1 +fi + +log() { + echo "[RaveOS-GPU] $1" +} + +# 1. AMD GPU Optimization (Auto P-State + Smooth Power Cap) +optimize_amd() { + log "Optimizing AMD GPU acceleration without P-state locking..." + for card in /sys/class/drm/card*/device; do + if [ -f "$card/power_dpm_force_performance_level" ]; then + # Use 'auto' instead of rigid 'high' to prevent mouse lag and compositor stutter + echo "auto" > "$card/power_dpm_force_performance_level" 2>/dev/null || true + fi + done +} + +# 2. NVIDIA GPU Optimization (Adaptive PowerMizer + Smooth TDP Limit) +optimize_nvidia() { + if command -v nvidia-smi &>/dev/null; then + log "Optimizing NVIDIA GPU (Adaptive PowerMizer mode)..." + # Auto-boost enabled, avoiding forced clock lock that breaks PCIe ASPM + nvidia-smi --auto-boost-default=ENABLED 2>/dev/null || true + + if command -v nvidia-settings &>/dev/null && [ -n "${DISPLAY:-}" ]; then + # Set PowerMizer to Auto/Adaptive (0) instead of max performance (1) to prevent compositor stutter + nvidia-settings -a "[gpu:0]/GpuPowerMizerMode=0" 2>/dev/null || true + fi + fi +} + +# Main Execution +main() { + log "Starting safe GPU optimization..." + + if lspci | grep -iE "vga|3d|display" | grep -i "amd" &>/dev/null; then + optimize_amd + fi + + if lspci | grep -iE "vga|3d|display" | grep -i "nvidia" &>/dev/null; then + optimize_nvidia + fi + + log "GPU Optimization complete. Dynamic P-states and ASPM preserved." +} + +main "$@" -- cgit v1.3