AI-Powered System Optimization for Fedora Linux
Deep Analysis • Smart Recommendations • One-Click Rollback
Features • Installation • Usage • CLI Interface • Architecture
Every optimization follows our SCAN → ANALYZE → EXPLAIN → CONFIRM → APPLY workflow:
┌─────────────────────────────────────────────────────────────────┐
│ 🧠 AI OPTİMİZASYON ÖNERİLERİ │
├─────────────────────────────────────────────────────────────────┤
│ 🧠 Bellek │
│ ┌──────────────────┬────────┬──────────┬───────────────┐ │
│ │ Parametre │ Mevcut │ Önerilen │ Öncelik │ │
│ ├──────────────────┼────────┼──────────┼───────────────┤ │
│ │ vm.swappiness │ 60 │ 5 │ 🟡 Önerilen │ │
│ │ vm.dirty_ratio │ 20 │ 5 │ 🟡 Önerilen │ │
│ └──────────────────┴────────┴──────────┴───────────────┘ │
│ → NVMe SSD tespit edildi. Düşük swappiness disk yerine │
│ RAM kullanımını önceliklendirir. │
│ │
│ Bu değişiklikleri uygulamak istiyor musunuz? [E/H]: │
└─────────────────────────────────────────────────────────────────┘
- Zero Configuration: Just clone and run. The system checks itself.
- Auto-Dependency: Automatically installs
rich,psutiland system tools if missing. - Smart Launcher:
run.shhandles root privileges and environment setup intelligently.
- Real-time Monitoring: Background monitoring of
fedoraclean_debug.log. - Error Analysis: Uses pattern recognition to analyze crashes and errors.
- Auto-Suggestions: Provides actionable solutions for detected problems.
- CPU Detection: Intel (Hybrid/Legacy), AMD (Zen/Pre-Zen), ARM, VM
- Disk Detection: NVMe, SATA SSD, HDD, eMMC
- Kernel Features: sched_ext, BORE, BBRv3, PREEMPT_RT, io_uring
- Form Factor: Laptop, Desktop, Server auto-detection
┌─────────────────────────────────────────┐
│ ↩️ GERİ AL MERKEZİ │
├─────────────────────────────────────────┤
│ 1. SON İŞLEMİ GERİ AL │
│ └─ Quick Optimize (5 dk önce) │
│ │
│ 2. İŞLEM GEÇMİŞİ │
│ └─ Tüm işlemleri gör │
│ │
│ 3. VARSAYILANLARA DÖN │
│ └─ Tüm optimizasyonları sıfırla │
└─────────────────────────────────────────┘
# Clone repository
git clone https://github.com/bingoweb/FedoraOptimizer.git
cd FedoraOptimizer
# Run (Auto-installs dependencies)
./run.sh
# Run with root privileges
sudo ./run.sh- Fedora 40+ (tested on Fedora 43)
- Python 3.12+
- Root privileges
- OS: Fedora Workstation 40, 41, 42, 43 (Rawhide)
- Desktop Environments: GNOME 45+, KDE Plasma 6+
- Architecture: x86_64, aarch64 (ARM)
- Immutable Variants (Silverblue/Kinoite): Fully supported, but some persistence methods differ due to read-only root.
- Virtual Machines: Deep hardware optimization is limited (CPUs often passed as "Common KVM processor").
- NVIDIA Proprietary: Some advanced power management features may be overridden by the driver.
- Root Requirement: This tool modifies system configurations and requires
sudo.
┌──────────────────────────────────────────────────────────────────────┐
│ FEDORA OPTİMİZER 2025 AI │
├──────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─ OPTİMİZASYON MENÜSÜ ─┐ ┌─ SİSTEM BİLGİSİ ───────────────────┐ │
│ │ │ │ │ │
│ │ 1 🔍 DERİN TARAMA │ │ CPU: Intel i5-1235U (4P+8E) │ │
│ │ 2 ⚡ HIZLI OPTİMİZE │ │ RAM: 16.0 GB DDR4 │ │
│ │ 3 🚀 TAM AUTO │ │ GPU: Intel Iris Xe │ │
│ │ 4 🎮 OYUN MODU │ │ DISK: NVMe SSD │ │
│ │ 5 💾 I/O SCHEDULER │ │ KERNEL: 6.12.5 │ │
│ │ 6 🌐 AĞ OPTİMİZE │ │ │ │
│ │ 7 🔧 KERNEL AYAR │ │ ✓ BBR aktif │ │
│ │ 8 ↩️ GERİ AL │ │ ✓ ZRAM aktif │ │
│ │ 0 ❌ ÇIKIŞ │ │ ✓ TRIM aktif │ │
│ │ │ │ │ │
│ └───────────────────────┘ └─────────────────────────────────────┘ │
│ │
│ KOMUT: 1-9 Seçenekler - 0 Çıkış │
└──────────────────────────────────────────────────────────────────────┘
| Key | Option | Description |
|---|---|---|
| 1 | 🔍 Deep Scan | Full system DNA analysis with scoring |
| 2 | ⚡ Quick Optimize | AI-driven quick optimization with proposals |
| 3 | 🚀 Full Auto | Complete automatic optimization |
| 4 | 🎮 Gaming Mode | GameMode, compositor disable, CPU governor |
| 5 | 💾 I/O Scheduler | NVMe/SSD/HDD optimal scheduler |
| 6 | 🌐 Network | TCP BBR, Fast Open, buffer tuning |
| 7 | 🔧 Kernel | sysctl parameter optimization |
| 8 | ↩️ Rollback | Undo changes with transaction history |
┌────────────────────────────────────────┐
│ 🧬 SİSTEM DNA RAPORU │
├────────────────────────────────────────┤
│ CPU: Intel i5-1235U (4P+8E Hibrit) │
│ └─ Governor: powersave ✓ │
│ └─ Scaling: intel_pstate │
│ └─ EPP: balance_performance │
│ │
│ RAM: 16GB DDR4-3200 │
│ └─ ZRAM: Aktif (8GB, lz4) ✓ │
│ └─ Swappiness: 5 ✓ │
│ │
│ DISK: NVMe Samsung 980 PRO │
│ └─ Scheduler: none ✓ │
│ └─ TRIM: Aktif ✓ │
│ └─ Sağlık: %2 aşınma, 42°C │
│ │
│ NETWORK: TCP BBR ✓ │
│ └─ Fast Open: Aktif ✓ │
├────────────────────────────────────────┤
│ SKOR: 87/100 🟢 │
└────────────────────────────────────────┘
┌────────────────────────────────────────┐
│ 🎮 OYUN MODU │
├────────────────────────────────────────┤
│ 1. Oyun Modunu Etkinleştir │
│ 2. CPU Performance Governor │
│ 3. Compositor Kapat (KDE) │
│ 4. Gaming Sysctl Parametreleri │
│ 5. Tüm Gaming Optimizasyonları │
│ 0. Geri │
└────────────────────────────────────────┘
fedoraclean/
├── src/
│ ├── modules/
│ │ ├── optimizer/ # Core optimization package
│ │ │ ├── facade.py # Main interface (FedoraOptimizer)
│ │ │ ├── hardware.py # Universal hardware detection
│ │ │ ├── engine.py # AI-driven proposals
│ │ │ ├── sysctl.py # Kernel parameters
│ │ │ └── ... # (models, backup, etc.)
│ │ ├── gaming.py # Gaming optimizations
│ │ ├── utils.py # Utilities and helpers
│ │ └── logger.py # Logging system
│ └── ui/
│ ├── tui_app.py # Main TUI application
│ ├── dashboard.py # Dashboard components
│ └── input_helper.py # Keyboard input handling
├── docs/
│ └── AI_MEMORY.md # AI context documentation
├── setup.sh # Dependency installer
├── run.sh # Application launcher
└── README.md # This file
| Category | Parameters | Examples |
|---|---|---|
| Memory | 10+ | vm.swappiness, vm.dirty_ratio, vm.vfs_cache_pressure |
| Network | 15+ | net.ipv4.tcp_congestion_control, net.core.rmem_max |
| Scheduler | 8+ | kernel.sched_autogroup_enabled, kernel.sched_latency_ns |
| Security | 5+ | kernel.unprivileged_bpf_disabled, kernel.dmesg_restrict |
| Disk Type | Recommended | Alternative |
|---|---|---|
| NVMe | none |
mq-deadline |
| SATA SSD | mq-deadline |
bfq |
| HDD | bfq |
mq-deadline |
- 🎮 GameMode integration
- ⚡ CPU Performance governor
- 🖥️ Compositor disable (KDE/GNOME)
- 🔧 Gaming-specific sysctl parameters
- ⚡ Hardware AI: Adapts to Laptop/Desktop form factors and CPU architectures
- 🔋 Smart Power: Auto-tunes disk writeback for battery life
- 🧠 Smart Profiles: Workload detection (Gaming/Dev/Server)
- ✨ AI-Driven Optimization Workflow
- ↩️ Transaction-Based Rollback System
- 🔍 Universal Hardware Detection
- 🧠 Smart Proposal System with Explanations
- 🛡️ Safe Integer Comparison Guards
- 📊 Enhanced Scoring System
- Improve process panel UX with responsive truncation and empty state
View Older Updates (v0.3.x)
- Add inline exit confirmation to TUI
- Improve dashboard process name truncation
- Add empty state to process dashboard
- Add defensive empty state to dashboard process panel
- Add empty state to process panel
- Add empty state to dashboard process list
- Improve dashboard process panel UX
- Improve process panel truncation and add empty state
- Add empty state to dashboard process panel
- Improve proposals table UX with box borders and inline reasons
- Improve dashboard process list responsiveness
- Improve proposal table readability by integrating reasons
- Improve Quick Optimize feedback and clean up TUI imports
- Improve process list memory display with absolute units
- Improve text truncation in dashboard
- Add color coding to process stats
- Improve dashboard network stats formatting
- Polish dashboard and fix double prompt interaction
- Fix duplicate dashboard rows and add system uptime
- Fix dashboard duplicates and add uptime
- Unify 'Press Any Key' prompt behavior
- Automate release workflow with changelog and readme updates
- Auto-Bootstrap: Brand new
run.shthat self-heals dependencies - ML Debug Console: Professional-grade error analysis
- Deep Stabilization: Zero silent failures, 100% robust modules
- Test Infrastructure (54+ tests)
- Security Hardening (Input validation)
- Modular Refactoring (Facade split)
- Fixed missing TUI methods
- Enhanced Code Quality (Pylint 8.73)
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Taylan Soylu
- GitHub: @bingoweb
Made with ❤️ for the Fedora community