A modern graphical tool for managing Linux kernels and Mesa video drivers on Arch-based systems.
Big Kernel Manager is a GTK4/Adwaita desktop application designed for BigLinux and other Arch-based distributions. It provides an intuitive graphical interface for two critical system management tasks:
- Kernel Management — Install, remove, and switch between available Linux kernels with full visibility into version, type (LTS, RT, Xanmod), and current usage status.
- Mesa Video Driver Management — Switch between Mesa driver variants (Stable, Amber, TKG-Stable, TKG-Git) with automated conflict resolution and clear risk descriptions.
Application uses system accent colors and follows GNOME/Adwaita design guidelines.
- View all installed kernels with version details
- Identify the currently running kernel at a glance
- Browse and install available kernels from the repository
- Safely remove unused kernels with confirmation dialogs
- Badge indicators for LTS, RT, and In Use status
- Switch between four Mesa driver variants:
- Stable — Official Mesa release (Recommended)
- Amber — Classic OpenGL for legacy hardware
- TKG-Stable — Custom performance-patched build
- TKG-Git — Bleeding-edge development version
- Automatic conflict resolution during driver switching
- Clear risk labels: Recommended, Legacy, Performance, DEV
- Modern GTK4/Adwaita interface with dark theme support
- System accent color integration on tab buttons
- Asynchronous data loading with spinner indicators
- Real-time terminal output during operations
- Progress tracking for install/remove operations
- Toast notifications for user feedback
- Full translation support via GNU gettext
- 29 languages included: Bulgarian, Czech, Danish, German, Greek, English, Spanish, Estonian, Finnish, French, Hebrew, Croatian, Hungarian, Icelandic, Italian, Japanese, Korean, Dutch, Norwegian, Polish, Portuguese, Brazilian Portuguese, Romanian, Russian, Slovak, Swedish, Turkish, Ukrainian, and Chinese
usr/share/big-kernel-manager/
├── main.py # Application entry point
├── core/
│ ├── constants.py # App metadata and configuration
│ ├── base_manager.py # Base class for system managers
│ ├── kernel_manager.py # Kernel detection and operations
│ ├── mesa_manager.py # Mesa driver switching logic
│ ├── package_manager.py # Pacman wrapper for package operations
│ ├── exceptions.py # Custom exception classes
│ └── logging_config.py # Logging setup
├── ui/
│ ├── application.py # Adw.Application subclass
│ ├── window.py # Main window with tab navigation
│ ├── base_page.py # Base page with shared UI patterns
│ ├── kernel_page.py # Kernel management interface
│ ├── mesa_page.py # Mesa driver management interface
│ └── progress_dialog.py # Operation progress dialog
├── utils/
│ └── i18n.py # Internationalization setup
└── assets/
└── css/
└── style.css # Application stylesheet
| Dependency | Version | Purpose |
|---|---|---|
| Python | ≥ 3.10 | Runtime |
| GTK | 4.0 | UI toolkit |
| libadwaita | ≥ 1.0 | Adwaita widgets and styling |
| pacman | — | Package management (Arch Linux) |
| pkexec | — | Privilege escalation for system operations |
PyGObject— GObject Introspection bindings for GTK4 and Adwaita
sudo pacman -S big-kernel-manager# Clone the repository
git clone https://github.com/communitybig/big-kernel-manager.git
cd big-kernel-manager
# Run directly (requires dependencies installed)
python usr/share/big-kernel-manager/main.pycd pkgbuild
makepkg -siLaunch from your application menu or via terminal:
big-kernel-managerNote: Kernel and driver operations require administrator privileges. The application uses
pkexecto request elevated permissions when needed.
Translation files are located in the locale/ directory. To contribute a new translation:
- Copy the template file:
cp locale/big-kernel-manager.pot locale/<lang_code>.po
- Translate the
msgstrentries in the new.pofile - Compile the translation:
msgfmt locale/<lang_code>.po -o usr/share/locale/<lang_code>/LC_MESSAGES/big-kernel-manager.mo
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/my-feature) - Commit your changes (
git commit -m 'Add my feature') - Push to the branch (
git push origin feature/my-feature) - Open a Pull Request
This project is licensed under the MIT License — see the LICENSE file for details.
Developed by the BigLinux Team and the Community Big contributors.
Made with ❤️ for the BigLinux community