Skip to content

Repository files navigation

Linux Device Manager

Test CI Release CI GitHub release Java 25 License: GPL v3 Platform: Linux

A native GTK device manager for Linux — every bus, driver, and kernel event in one clean category tree, with safe enable/disable.

Linux Device Manager (LDM) combines sysfs, udev, and proven tools — lspci, lsusb, modinfo, journalctl, dmesg — with detail views, driver info, and a polkit-protected privileged helper for device actions.

Features · Installation · Building from source

LDM main window

Features

  • Category tree — Multimedia, Network, Storage, USB, PCI, and more, with functional categories taking priority
  • Detail tabs — General, Advanced, Driver, and Kernel logs/events, loaded lazily and cached until refresh
  • Safe Enable / Disable — USB authorization + driver bind/unbind via polkit helper, with state verification
  • Accurate identity — canonical sysfs paths deduplicate aliases; controllers stay separate from their disks/NICs
  • USB composites classified by all functions; Driver tab shows each binding and its owning module
  • Kernel logs as current-boot snapshots matched to device/interface IDs, not shared driver names
  • Fast search — type in tree, Ctrl+F, or search field; Esc returns focus; right-click / Shift+F10 / Menu key menu
  • Responsive scans — coalesced refreshes with status spinner until all work finishes
  • Native GTK4 UI defined in Cambalache (main.ui), XDG-compliant, no hardcoded home paths

Installation

Requirements
  • GTK 4 (>= 4.14.5)
  • policykit-1, udev/systemd
  • Optional detail enrichment: lspci (pciutils), lsusb (usbutils), modinfo (kmod), lshw, journalctl, dmesg, udevadm

Packages are produced for Debian/Ubuntu (.deb), Fedora/RHEL (.rpm), Arch (pkg.tar.zst), plus a portable AppImage. Each bundles a trimmed Java 25 runtime via jlink.

# Debian/Ubuntu
sudo apt install ./linux-device-manager_*.deb  # or sudo dpkg -i linux-device-manager_*.deb

# Fedora/RHEL
sudo rpm -i linux-device-manager-*.rpm

# Arch
sudo pacman -U linux-device-manager-*.pkg.tar.zst

# AppImage
chmod +x LinuxDeviceManager-*-x86_64.AppImage
./LinuxDeviceManager-*-x86_64.AppImage

Building from source

Source builds use the ldm-dev Docker image (eclipse-temurin:25-jdk-jammy + GTK 4.14.5, hardware tooling, Xvfb, packaging toolchain) so host and CI share one environment.

make build     # build the ldm-dev Docker image
make compile   # compile and package check
make test      # full suite under Xvfb (headless GTK env pre-set)
make package   # build .deb, .rpm, pkg.tar.zst, AppImage
make run       # launch the app with GUI forwarding
make debug     # launch with suspended JDWP on port 5005

About

Windows Device Manager-like graphical tool for Linux

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages