linuxmintrocketleague — Linux Gaming Diagnostics
A collection of diagnostic scripts and a logging-based analysis dashboard that tracks memory pressure, process scheduling, and GPU utilization while Rocket League runs — helping identify and fix performance bottlenecks on resource-constrained hardware.
bash rocketmode.sh --monitoropen dashboard.htmlFeatures
Real-time memory and process diagnostics suite built to optimize Rocket League performance on an aging Dell running Linux Mint.
Gaming-Focused
Tracks exactly the metrics that matter for a smooth 60fps gaming experience on Linux.
HTML Dashboard
Logs piped into a lightweight HTML dashboard for visual bottleneck analysis.
Process Tuning
Scripts to set CPU affinity, nice values, and GPU governor settings for optimal latency.
Memory Diagnostics
Tracks swap usage, page faults, and OOM events in real time during gameplay.
Documentation & Architecture
A high-fidelity Python diagnostic utility designed to audit memory usage on Linux systems. It parses system /proc endpoints directly, making it completely self-contained with zero external package dependencies.
Features
- RAM Memory Distribution Summary: Parses
/proc/meminfoto display total, active used, available, free, buffer/cache, kernel slab, and page table memory allocations. Includes a visual terminal progress bar. - Temporary Filesystems (tmpfs): Scans
/proc/mountsand usesstatvfsto calculate exact RAM consumption by virtual memory drives (e.g./run,/dev/shm). - Process Memory Table: Collects all active process statistics from
/proc/[pid]directories. Displays PID, User, Process Name, RSS (Resident Set Size), VSZ (Virtual Size), % RAM, and the full command line. - Sorting: Interactive sorting by RAM usage, Virtual Memory usage, name, or PID.
- Reporting & Exports:
- CLI: Colorized and Unicode-bordered tables.
- HTML: Translucent Glassmorphism dashboard featuring live search and interactive column sorting.
- Markdown: Formatted tables suitable for GitHub or Wiki pages.
- JSON: Raw structured data for automated consumption.
Usage
Navigate to the RocketMode folder and execute ram_inspector.py:
./ram_inspector.py [OPTIONS]
CLI Command Options
options:
-h, --help show this help message and exit
-n LIMIT, --limit LIMIT
Number of processes to list in terminal (default: 20)
-s {rss,vsz,name,pid}, --sort {rss,vsz,name,pid}
Column to sort processes by (default: rss)
-o HTML, --html HTML Export interactive HTML report to this file path
-m MARKDOWN, --markdown MARKDOWN
Export markdown report to this file path
-j JSON, --json JSON Export raw diagnostic data in JSON format to this file path
-no-color Disable terminal colors
Examples
Print top 15 memory-consuming processes to the terminal:
./ram_inspector.py -n 15Sort by Process Name instead of RAM usage:
./ram_inspector.py --sort nameExport all diagnostics to terminal, HTML, Markdown, and JSON simultaneously:
./ram_inspector.py -o report.html -m report.md -j report.json
Output Visuals
Terminal Table
The CLI outputs Unicode tables:
┌──────┬────────┬──────────────┬────────────────┬───────────────┬───────┬─────────────────┐
│ PID │ User │ Process Name │ RSS (Resident) │ VSZ (Virtual) │ % RAM │ Command Line │
├──────┼────────┼──────────────┼────────────────┼───────────────┼───────┼─────────────────┤
│ 1909 │ darian │ cinnamon │ 321.58 MB │ 4.36 GB │ 4.10% │ cinnamon │
└──────┴────────┴──────────────┴────────────────┴───────────────┴───────┴─────────────────┘
Interactive HTML Dashboard
The exported report.html features:
- A responsive modern dark theme layout.
- Real-time searching/filtering.
- Sorting by column.
- Translucent backdrop blur cards (Glassmorphism).
Repository Scripts Summary
This folder contains various scripts designed to optimize, launch, and monitor a Linux gaming environment (specifically for Rocket League).
Launch & Environment
launch_rocket_league.sh: Master launch script for Rocket League via Heroic Games Launcher. Coordinates environment cleanup, telemetry, and launch flags.clean_gaming_env.py: Cleans up the environment before gaming by terminating non-essential processes based on a whitelist to free up memory.
Optimization & Boosting
game_booster.sh: Stops desktop components and non-essential system services for a gaming boost mode, with an option to restore them later.rocket_booster_daemon.sh: Background daemon that automatically suspends resource-hogging apps (e.g., browsers, Discord) when Rocket League is running, and resumes them when it closes.install_booster_daemon.sh: Registers the RocketMode Booster Daemon to start automatically on user login.optimize_autostart.sh: Disables non-gaming background applications from launching at login.optimize_services.sh: Disables background system services (CUPS, Avahi, etc.) that are unnecessary for gaming.
Memory & Swap Management
ram_inspector.py: Diagnostic utility to inspect system RAM, tmpfs, and process memory, with CLI, HTML, and Markdown export capabilities.cap_zram.sh: Limits the ZRAM swap size to 1 GB.disable_hdd_swap.sh: Disables and removes the HDD/SSD swap file, keeping only ZRAM for swap.setup_swap.sh: Creates, configures, and enables an 8GB swap file.tune_system_memory.sh: Optimizes system kernel parameters (e.g.,vm.swappiness) for ZRAM and gaming workloads.take_ram_snapshot.sh: Captures a GPU VRAM snapshot and a RAM core dump of the running Rocket League process.
Telemetry & Diagnostics
game_logger.py: Telemetry logger daemon that tracks memory, ZRAM usage, game processes, and GPU usage during a gaming session.desktop_comparison.py: Compares Cinnamon’s memory footprint against a simulated XFCE footprint to calculate memory savings.test_controller.py: Reads and displays raw events from a controller device (e.g.,/dev/input/js0) for testing inputs.
System Fixes
apply_grub_patch.sh: Applies a GRUB patch (pci=noaer) to disable PCIe AER log flooding.fix_audio.sh: Applies temporary pin connectivity overrides to the Intel/Realtek Audio codec.make_audio_permanent.sh: Creates a persistent kernel firmware patch to permanently apply Realtek ALC3861 audio jack overrides.persist_audio.sh: Creates a systemd service to apply HDA jack overrides on boot.generate_melody.py: Generates a C major chord arpeggio WAV audio file (useful for testing audio output).
Related Projects
More from the Mavgo ecosystem