Skip to content

Repository files navigation

Big Driver Manager

Big Driver Manager

A modern graphical tool for managing Linux kernels and Mesa video drivers on Arch-based systems.

License: MITPython 3.10+GTK 4.0AdwaitaArch Linux29 Languages


Overview

Big Driver 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.

Screenshots

Application uses system accent colors and follows GNOME/Adwaita design guidelines.

Features

Kernel Management

  • 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

Mesa Video Driver Management

  • 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

User Experience

  • 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

Internationalization

  • 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

Architecture

usr/share/big-driver-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

Requirements

DependencyVersionPurpose
Python≥ 3.10Runtime
GTK4.0UI toolkit
libadwaita≥ 1.0Adwaita widgets and styling
pacmanPackage management (Arch Linux)
pkexecPrivilege escalation for system operations

Python Packages

  • PyGObject — GObject Introspection bindings for GTK4 and Adwaita

Installation

From BigLinux Repository

sudo pacman -S big-driver-manager

From Source

# Clone the repository
git clone https://github.com/communitybig/big-driver-manager.git
cd big-driver-manager
# Run directly (requires dependencies installed)
python usr/share/big-driver-manager/main.py

Building the Package

cd pkgbuild
makepkg -si

Usage

Launch from your application menu or via terminal:

big-driver-manager

Note: Kernel and driver operations require administrator privileges. The application uses pkexec to request elevated permissions when needed.

Translation

Translation files are located in the locale/ directory. To contribute a new translation:

  1. Copy the template file:
    cp locale/big-driver-manager.pot locale/<lang_code>.po
  2. Translate the msgstr entries in the new .po file
  3. Compile the translation:
    msgfmt locale/<lang_code>.po -o usr/share/locale/<lang_code>/LC_MESSAGES/big-driver-manager.mo

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/my-feature)
  3. Commit your changes (git commit -m 'Add my feature')
  4. Push to the branch (git push origin feature/my-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License — see the LICENSE file for details.

Credits

Developed by the BigLinux Team and the Community Big contributors.

Made with ❤️ for the BigLinux community

About

Show hardware informantion and install drivers

Resources

Stars

12 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages