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
- 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;Escreturns 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
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.AppImageSource 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