mirror of
https://github.com/XuehaiPan/nvitop.git
synced 2026-10-23 08:07:34 -06:00
[PR #229] feat: add standalone Debian (.deb) package build script #228
Labels
No labels
api
bug
bug
cli / tui
dependencies
documentation
documentation
documentation
duplicate
enhancement
exporter
invalid
pull-request
pynvml
question
question
upstream
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
github-starred/nvitop#228
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/XuehaiPan/nvitop/pull/229
Author: @parsabe
Created: 10/4/2026
Status: 🔄 Open
Base:
main← Head:feat/debian-package📝 Commits (4)
9cae58afeat: add standalone Debian (.deb) package build script04c7be0Update print statement from 'Hello' to 'Goodbye'6be99c3Revise README title and summary of changes16f3543Update README.md📊 Changes
2 files changed (+632 additions, -1446 deletions)
View changed files
📝
README.md(+179 -1446)➕
build_deb.sh(+453 -0)📄 Description
Pull Request: Standalone Debian Package (.deb), Application Menu Integration, and Universal Build System
Summary of Changes
In this pull request, a complete standalone Debian package (
.deb) and build pipeline have been developed fornvitop. This allows users on Ubuntu (22.04+), Debian (12+), Kali Linux, and other Debian-based distributions to install and runnvitopimmediately as a native application without needingpip, virtual environments, or manual configuration.Furthermore, seamless desktop environment integration has been implemented so
nvitopis available directly in system application menus (GNOME, KDE Plasma, XFCE / Kali Whisker Menu, etc.) with a dedicated application icon and automatic terminal launcher.What Has Been Done
1. Standalone Compilation & Packaging (
build_deb.sh)build_deb.sh, has been authored.nvidia-ml-py,psutil) are compiled and frozen using PyInstaller.externally-managed-environment) restriction present on modern Debian, Ubuntu, and Kali installations that blockspip install.nvitopand thenvisel(CUDA Visible Devices selection utility) entry points have been bundled into a unified multi-call dispatcher binary to minimize disk footprint.2. Desktop & Application Menu Integration
/usr/share/applications/nvitop.desktop)./usr/bin/nvitop-launcher). When launched from a graphical application menu (GNOME Dash, KDE Kickoff, XFCE Whisker Menu), the launcher automatically identifies and spawns the user's preferred terminal emulator (x-terminal-emulator,gnome-terminal,xfce4-terminal,konsole,alacritty,kitty, etc.). When invoked from an existing terminal, it runs directly./usr/share/icons/hicolor/scalable/apps/nvitop.svg/usr/share/icons/hicolor/{16,32,48,64,128,256}x{16,32,48,64,128,256}/apps/nvitop.png/usr/share/pixmaps/nvitop.{svg,png}3. Debian Package Standards & Automation
DEBIAN/controlwith correct dependencies (libc6 >= 2.14).DEBIAN/postinstandDEBIAN/postrm) have been written to automatically triggerupdate-desktop-databaseandgtk-update-icon-cacheupon installation and removal.dpkg-deb --root-owner-groupwith universalxzcompression.Files Included in This Submission
build_deb.sh.debpackage and assets automaticallynvitop_1.7.1-1_amd64.deb.debpackage ready for installation (~6.7 MB)PULL_REQUEST.mdFile Hierarchy Inside the Package:
Installation & Removal Instructions
To Install the Debian Package:
To Remove:
To Rebuild from Source at Any Time:
Application Documentation & Shortcuts Reference
1. Display Modes & Visual Bar Charts
nvitopfeatures real-time colorized visual bar charts and monitoring views:nvidia-smi).2. Process Contexts (Graphics vs. Compute)
Workloads are classified into two execution contexts under the
TYPEcolumn:G(Graphics): 3D, desktop window management, and display processes (e.g. Xorg, Wayland, browser rendering).C(Compute): Pure CUDA / AI compute processes (e.g. PyTorch, TensorFlow, Ollama).C+G: Mixed workloads utilizing both contexts.Process Metrics:
%SM: Percentage of GPU Streaming Multiprocessors (compute engines) utilized by the process.%GMBW: Percentage of GPU Memory Bandwidth utilized.%CPU/%MEM: Host CPU and RAM percentage consumed by the process.Process Filtering Options:
3. Interactive Keyboard Shortcuts (Monitor Mode)
When
nvitopis actively running, the following keyboard controls are supported:<Enter>/<Return>tfcah/?q<Up>/<Down><Home>/<End><Space><Esc>Ctrl-C/ISIGINT(Interrupt) to the selected processTSIGTERM(Terminate) to the selected processKSIGKILL(Force Kill) to the selected processer/<F5>Sorting Controls:
,/./on/oNog/oGGPU-MEM)os/oS%SM)oc/oC%CPU)om/oM%MEM)ou/oUUSER)op/oPPID)ot/oTTIME)4. CUDA Visible Devices Selector (
nvisel)The package also provides
nviselfor programmatic GPU selection in scripts:🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.