To have most recent btop feature like support for Intel Graphics in btop
Checked on Ubuntu 24.04 and Ubuntu 25.10
Execute (as root):
apt install make lowdown g++-14 gcc-14 -y snap remove btop update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-14 1 update-alternatives --install /usr/bin/cpp cpp /usr/bin/cpp-14 1 update-alternatives --install /usr/bin/cc cc /usr/bin/cpp-14 1 apt remove -y btop git clone https://github.com/aristocratos/btop.git cd btop/ make GPU_SUPPORT=true make install update-alternatives --install /usr/bin/btop btop /usr/local/bin/btop 1 #apt remove -y binutils binutils-common binutils-x86-64-linux-gnu cpp cpp-13 cpp-13-x86-64-linux-gnu g++-14 gcc-14 cpp-x86-64-linux-gnu g++ g++-13 g++-13-x86-64-linux-gnu g++-x86-64-linux-gnu gcc gcc-13 gcc-13-base gcc-13-x86-64-linux-gnu gcc-x86-64-linux-gnu libasan8 libatomic1 libbinutils libcc1-0 libctf-nobfd0 libctf0 libgcc-13-dev libgomp1 libgprofng0 libhwasan0 libisl23 libitm1 liblsan0 libmpc3 libquadmath0 libsframe1 libstdc++-13-dev libtsan2 libubsan1 make lowdown
Execution example
██████╗ ████████╗ ██████╗ ██████╗ ██╔══██╗╚══██╔══╝██╔═══██╗██╔══██╗ ██╗ ██╗ ██████╔╝ ██║ ██║ ██║██████╔╝ ██████╗██████╗ ██╔══██╗ ██║ ██║ ██║██╔═══╝ ╚═██╔═╝╚═██╔═╝ ██████╔╝ ██║ ╚██████╔╝██║ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═════╝ ╚═╝ Makefile v1.6 PLATFORM ?| Linux ARCH ?| x86_64 GPU_SUPPORT :| true CXX ?| g++ (14.2.0) CC ?| cc (13.3.0) THREADS :| 22 REQFLAGS !| -std=c++23 WARNFLAGS :| -Wall -Wextra -pedantic OPTFLAGS :| -O2 LDCXXFLAGS :| -pthread -DFMT_HEADER_ONLY -D_GLIBCXX_ASSERTIONS -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_DEBUG -D_FILE_OFFSET_BITS=64 -fexceptions -fstack-clash-protection -fcf-protection -fstack-protector -DGPU_SUPPORT CXXFLAGS +| $(REQFLAGS) $(LDCXXFLAGS) $(OPTFLAGS) $(WARNFLAGS) LDFLAGS +| $(LDCXXFLAGS) $(OPTFLAGS) $(WARNFLAGS) Building btop++ (v1.4.6) Linux x86_64 Generating man page btop.1... Configuring obj/config.h Compiling src/linux/intel_gpu_top/igt_perf.c Compiling src/linux/intel_gpu_top/intel_device_info.c Compiling src/linux/intel_gpu_top/intel_name_lookup_shim.c Compiling src/linux/intel_gpu_top/intel_gpu_top.c Compiling src/btop_cli.cpp Compiling src/btop.cpp Compiling src/btop_config.cpp Compiling src/btop_menu.cpp Compiling src/btop_input.cpp Compiling src/btop_draw.cpp Compiling src/btop_log.cpp Compiling src/btop_shared.cpp Compiling src/btop_theme.cpp Compiling src/main.cpp Compiling src/btop_tools.cpp Compiling src/linux/btop_collect.cpp 11% -> obj/intel_device_info.c.o (32KiB) (00s) 11% -> obj/intel_name_lookup_shim.c.o(8.0KiB) (00s) 16% -> obj/igt_perf.c.o (8.0KiB) (00s) 22% -> obj/intel_gpu_top.c.o (20KiB) (00s) 28% -> obj/main.o (4.0KiB) (00s) 33% -> obj/btop_cli.o (264KiB) (08s) 39% -> obj/btop_tools.o (580KiB) (08s) 45% -> obj/btop_log.o (304KiB) (09s) 50% -> obj/btop_input.o (584KiB) (09s) 56% -> obj/btop_shared.o (584KiB) (09s) 61% -> obj/btop_theme.o (632KiB) (09s) 67% -> obj/btop_menu.o (920KiB) (11s) 73% -> obj/btop_config.o (672KiB) (13s) 78% -> obj/btop.o (788KiB) (14s) 84% -> obj/btop_draw.o (1.3MiB) (20s) 90% -> obj/linux/btop_collect.o (1.3MiB) (28s) Linking and optimizing binary... 100% -> bin/btop (2.2MiB) (00s) Build complete in (29s) Installing binary to: /usr/local/bin/btop Installing doc to: /usr/local/share/doc/btop Installing themes to: /usr/local/share/btop/themes Installing desktop entry to: /usr/local/share/applications/btop.desktop Installing PNG icon to: /usr/local/share/icons/hicolor/48x48/apps/btop.png Installing SVG icon to: /usr/local/share/icons/hicolor/scalable/apps/btop.svg Installing man page to: /usr/local/share/man/man1/btop.1
Intel 285H
1.4.6
1.4.5
With both GPU and CPU Power in Watts (since btop version: 1.4.4+65c7d0b)
Options
1.4.4
To get GPU Load for Intel Graphics
1.3.0
1.4.0
root@server6:~/btop# cat CHANGELOG.md ## v1.4.6 References | Description | Author(s) --- | --- | --- #1272 | Skip 'H' and 'HX' suffix in AMD cpu name trimming | @ramdomPTM #1268 | feature: add process renice functionality | @goddamnparticle #1285 | Revert "Use /sys/dev/block/MAJOR:MINOR instead of /sys/block/NAME for disk I/O" #1270 | @deckstose #1277 | feat: Introduce cpu frequency display modes | @emiliopedrollo #1282 | Fix CPU frequency detection for LoongArch CPUs | @Twopic2 #1275 | fix arrow keys that send 'O' instead of '[' | @vandabbin #1251 | OpenBSD: battery: add support for watthour and watts sensors | @shtrophic #1208 | Add Gotham theme | @jrebs #1291 | Fix macOS deadlocks and race conditions in collector threads #1292 | @kuzmeech #1296 | fix: btop crash on arm cpu | @emiliopedrollo @zenofile #984 | Added ability to set which gpu vendors to enable | @thedustinmiller #1274 | added tree toggle of expand/collapse for children of process | @irabrine #1300 | Use right key codes to match f1 and f2 keys | @vandabbin #1305 | Handle missing SMC gracefully on macOS | @achille #1309 | Fix redraw in proc list when changing sort order | @vandabbin #1304 | Fix load average and GPU watts leaking past box border | @vandabbin #1220 | feat: respect effective cpus from cgroup | @deckstose #1218 | feat: display container engine | @deckstose #1315 | feat: raise cpp standard to c++23 | @deckstose d0cbaf7 | Add configuration toggle for terminal synchronization | @aristocratos #1306 | Implement feat Process list pausing | @vandabbin #1322 | flip name, command, and user sorting | @vandabbin #1334 | fix tty theme for pause banner | @vandabbin #1325 | test: add test harness with ctest | @deckstose #1339 | fix: skip first argument of argv | @AlvaroParker #1357 | feat: add --themes-dir flag | @adeci #1359 | fix: don't over-/underflow when parsing --update argument | @yinghao-w #1362 | fix segfault on musl systems | @v1cont #1363 | Pass only static duration strings to Config::set in Config::apply_preset | @yinghao-w #1366 | fix: cpu per-thread totals not reaching 100% | @Tom94 #1367 | Fix: Align boxes when Cpu bottom and Gpu on | @yinghao-w #1372 | Minor fixes and improvements for NetBSD | @fraggerfox #1377 | Fixed GPU rendering | @TheSovietPancakes #1379 | Fix: Always collect GPU data when cpu_graph_lower = "Auto" | @yinghao-w #1393 | Fix: humanized units shortening | @yinghao-w #1401 | Feat: add mouse dragging of scrollbar | @yinghao-w #1399 | feat: add cli option to dump default config | @deckstose e969f43 | Added "save_config_on_exit" option to configuration | @aristocratos ## v1.4.5 References | Description | Author(s) --- | --- | --- #1254 | Bump bundled fmt to 12.0.0 | @deckstose #1242 | Enable vim movement in help menu | @botantony #948 | Remove reduntant symbols in tree view | @Denizantip #1249 | Use /sys/dev/block/MAJOR:MINOR instead of /sys/block/NAME for disk I/O | @CountBleck #1227 | feat: display CPU power draw & fix GPU+load avg overwriting core info | @Tom94 and @YuriiShkrobut 4f5abbb | Fix locale issues | @aristocratos #1165 | Add encode and decode meters on Nvidia GPUs | @sam-kirby #1197 | linux: Battery Time-to-full | @RadsammyT #1203 | Convert ascii escape codes in mountpoint names before reading statvfs | @deckstose #1198 | Fix presets erroring with gpu* usage | @entropylost #1191 | Fix --tty/--no-tty flag having no effect | @deckstose ## v1.4.4 References | Description | Author(s) --- | --- | --- #1185 | Fix auto-detection of CPU temp on Ampere boards | @bexcran 589c133 | Fixed floating_humanizer() to work correctly when numeric delimiter isn't a dot. | @aristocratos #1157 | Add command line option to set an inital filter | @imwints #1172 | Make 100ms the minimal refresh rate. Exit gracefully if integer conversion in CLI parser fails. | @imwints #1031 | Lock/unlock config to avoid infinite recursion | @Jacajack #1156 | Fix incorrect positioning and start symbol of second title introduced in 2538d89 | @xDMPx ffcd064 | Fix dangling reference warnings for GCC 13 and later | aristocratos ## v1.4.3 References | Description | Author(s) --- | --- | --- c3b225f | Revert e266ccd which broke str_to_upper() and str_to_lower() | @aristocratos #1137 | Enable additional checks in libc++ with the new hardening mode | @imwints #1135 | Remove redundant optimization flag | @imwints #1139 | Ignore incomplete filter regex, issue #1133 | @imwints ## v1.4.2 References | Description | Author(s) --- | --- | --- f1482fe | Fix process arguments appearing outside proc box by replacing ASCII control codes with blankspace, issue #1080 | @aristocratos #1130 | Fix problems shown by clang-tidy's performance checks | @imwints #1120 | Fix wrong error message and documentation of renamed option --utf-force | @t-webber @imwints #1128 | Flatten cmake module path | @imwints #1129 | CMake: Remove option to use mold | @imwints #1047 | Update Terminus font link, fix typo, spelling, and grammar | @QinCai-rui #929 | Please clang with sanitizers | @bad-co-de #1126 | Fix MacOS tree-mode + aggregate memory/thread scaling issue | @xaskii #993 | Fix typo: Mhz -> MHz | @NyCodeGHG ## v1.4.1 References | Description | Author(s) --- | --- | --- #1111 #1112 | Various code fixes | @imwints #930 #931 | Various code fixes | @bad-co-de #1061 | Fixed typo | @polluks #1110 | Move the config parser in it's own module | @imwints #1101 | Adding a menu option to show bitrates in base 10 separate from the setting to show bytes/bits in base 10 | @georgev93 #1079 | Allow MidnightBSD to build btop using the existing freebsd support. | @laffer1 #1098 | Use XDG_STATE_HOME to save logs | @imwints #1092 | Bump CMake version to 3.25 required for LINUX variable | @imwints #1058 | Replace brackets with arrows in net and proc box | @taha-yassine #1091 | Bump bundled fmt to 11.1.4 | @imwints #725 | cmake: link to CMAKE_DL_LIBS | @alalazo #990 | Fix phoenix-night.theme marked as executable | @sertonix #1034 | Add Kanagawa-lotus and Kanagawa-wave themes | @philikarus #973 | Bump NetBSD version to 10.1 and FreeBSD version to 14.2. | @fraggerfox #1072 | Add dark version of adwaita theme: adwaita-dark | @k0tran #1036 | Resetting last selection on page navigation in optionsMenu to avoid unordered_map error | @seth-wood #1029 | Share the CPU name trimming code between platforms | @yarrick #1033 | Update Ryzen name trimming | @yarrick #1030 | Drop macos 12 build, add v14 and v15 | @yarrick #1028 | Fix cmake-macos workflow | @yarrick #1027 | Bump version of deprecated upload-artifact step | @yarrick #1025 | Update obsolete egrep call | @tywkeene b52069c | Fix menu crash when GPU_SUPPORT=false, issue #989 | @aristocratos #961 | Add 'Everforest Ligth Medium' theme | @mstuttgart #960 | Support intel GPUs before Gen-6 (patch from upstream) | @w8jcik #958 | intel_name_lookup_shim.c (get_intel_device_name): Fix SEGFAULT | @artyom-poptsov 2e7208d | Fix rsmi_measure_pcie_speeds not saving, issue #934 | @aristocratos f3446ed | Show GPU Watt fractions when below 100W | @aristocratos | + more from @imwints @aristocratos Big thanks to @imwints for helping out with project maintenance, PR reviews and merging! ## v1.4.0 References | Description | Author(s) --- | --- | --- #703 | NetBSD Support | @fraggerfox #903 | Intel GPU support | @bjia56 161e8f4 | Added warnings when toggling boxes and terminal size is to small | @aristocratos 4210f5f | Fix missing core percentages, issue #792 | @aristocratos 35857f8 | Various fixes for drawing GPU related information | @aristocratos #879 | fix divide 0 error when caculating disk usage percentage (#791) | @flylai #884 | fix io_graph_speeds parsing | @feihtthief #863 | V1 of Phoenix Night theme | @Firehawke 3f384c0 | Fixed missing CPU core temps when too small to show core temp graphs, issues #792 #867 | @aristocratos 97d2fb5 | Fixed missing IO graphs in IO mode, issue #867 | @aristocratos #840 | fix zero temp (#467) | @joske #850 | Fix comments (parsing) in theme files | @acidghost #806 | Add regex filtering | @imwints #836 | Fix typo in file existences check for voltage_now | @vsey #835 | Show time in days when remaining battery exceeds an estimation of 24h | @imwints #819 | (AMD Gpu) fix pwr_usage not being defined correctly during rsmi collection | @kalkafox #831 | macOS: fix crash if there exists a uid not associated with any user | @thecoder-001 #796 | Fix rsmi device name buffer size | @davc0n #807 | Add gruvbox_light theme | @kk9uk #724 | Create man page for btop in Markdown | @ottok #734 | Include metadata in binary version output `btop --version` | @imwints #771 | collect: Fix reading of battery power draw on Linux | @Derppening






