From 934a9e3cf28114afe5e5578ed6d241481310f5f1 Mon Sep 17 00:00:00 2001 From: aristocratos Date: Tue, 2 Jan 2024 15:29:53 +0100 Subject: Squashed commit of the following: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit commit 285fb215d12a5e0c686b29e1039027cbb2b246da Author: aristocratos Date: Thu Dec 28 13:10:18 2023 +0100 Proc::draw() -> Use std::erase_if() instead of for loops commit 2fba934cde14d72e3ed58c389dc2e24d7297475b Author: aristocratos Date: Wed Dec 27 00:54:28 2023 +0100 Fixed leftover code in GPU init logging false errors commit ad14554f32cc9c19f3cdc8e28ea6012a974a533a Author: aristocratos Date: Tue Dec 26 19:32:43 2023 +0100 Try alternative names for GPU libraries during GPU init commit a8fda16bf6ead94bc5ffafa3e622ee60b1d92d7b Merge: e15e0b7 2796af3 Author: Jakob P. Liljenberg Date: Tue Dec 26 19:19:14 2023 +0100 Merge pull request #696 from aristocratos/map_safety commit 2796af3f37f07ba838d2eeb06e3d798f5ab00e55 Author: aristocratos Date: Tue Dec 26 19:18:37 2023 +0100 Document DEBUG flag for Makefile commit f484326bf20a8deb4ac942aec2b5d9173d58ad4b Merge: b4eb397 e15e0b7 Author: aristocratos Date: Tue Dec 26 19:11:26 2023 +0100 Merge branch 'main' into map_safety commit b4eb397fc69696db18c6f2b90b79172882c39128 Author: aristocratos Date: Mon Dec 25 10:52:52 2023 +0100 Fix errors commit 3c04a7a380a5a27630193e8805ef5f9d249cecb3 Author: aristocratos Date: Mon Dec 25 10:41:15 2023 +0100 Added more checks and debug logging commit 8b81c4a4ecfd7a3e56960befc2b3726f9dddd92d Author: aristocratos Date: Mon Dec 25 03:28:35 2023 +0100 Return const refs commit f836233b64aeee1513be9dc74c4dc60b6248e578 Author: aristocratos Date: Mon Dec 25 02:49:24 2023 +0100 Remove robin_hood.h commit 3a8ceacaf89e7443014613dbc888b8b1657832fe Author: aristocratos Date: Mon Dec 25 02:37:32 2023 +0100 Fix call to compact and missing utility include commit e15e0b71881641ea6d6751e3acd46631d91b494b Author: aristocratos Date: Mon Dec 25 02:27:38 2023 +0100 Revert "Replace robin_hood map and set with STD alternative and add safeVal() function for map/vector access with fallback" This reverts commit 6c87ab61969f028e49ad596139cff53eb6c3becc. commit ced47a960f649d3c4e81c91128fe97a81e4c4ad5 Author: aristocratos Date: Mon Dec 25 02:26:13 2023 +0100 Replace robin_hood map and set with STD alternative and add safeVal() function for map/vector access with fallback commit 6c87ab61969f028e49ad596139cff53eb6c3becc Author: aristocratos Date: Mon Dec 25 02:16:15 2023 +0100 Replace robin_hood map and set with STD alternative and add safeVal() function for map/vector access with fallback commit a2325371d432f62b362fe1a9531a79c79fc56baa Merge: aab2e8c b598f02 Author: Jakob P. Liljenberg Date: Sun Dec 17 19:56:31 2023 +0100 Merge pull request #690 from aristocratos/osx-fix commit b598f02468480a54fe1e283d02db5228969f7522 Merge: b1fe377 aab2e8c Author: Jakob P. Liljenberg Date: Sun Dec 17 12:06:39 2023 +0100 Merge branch 'main' into osx-fix commit aab2e8cc552c752cbb15675c8ab96e1bd785ad3b Author: Jakob P. Liljenberg Date: Sun Dec 17 12:03:47 2023 +0100 Fixed test-snap-can-build.yml commit b1fe3779e1b18c9087cbf399afbcfb3622cebd12 Merge: 7805242 2d15c41 Author: Jakob P. Liljenberg Date: Sun Dec 17 11:56:14 2023 +0100 Merge branch 'main' into osx-fix commit 2d15c41555024dba0c1e0af91220fa2f8406b9f4 Merge: fe699b4 2d3e453 Author: Jakob P. Liljenberg Date: Sun Dec 17 11:54:49 2023 +0100 Merge pull request #684 from kz6fittycent/main commit 2d3e453ed527f2d045b9e615422f708820438298 Merge: 0a38864 fe699b4 Author: kz6fittycent Date: Fri Dec 15 12:02:11 2023 -0600 Merge branch 'main' into main commit 0a388647ccbdaa68a8939a8df806afee29b63489 Author: kz6fittycent Date: Fri Dec 15 12:01:45 2023 -0600 Update test-snap-can-build.yml whoops commit 49f425f35657d9f448e112968a2405421bd1b378 Author: kz6fittycent Date: Fri Dec 15 12:00:48 2023 -0600 Update test-snap-can-build.yml https://github.com/aristocratos/btop/pull/684#issuecomment-1852801811 commit 780524267fe16b11638ca002d636c5feb8cbd5b2 Author: Jos Dehaes Date: Fri Dec 15 09:02:57 2023 +0100 conditional compile on Big Sur and up commit fe699b433398818cf2145d2ca4d2e364a089a4d2 Author: aristocratos Date: Tue Dec 12 23:20:09 2023 +0100 Version bump to 1.3.0 in preparation for upcoming release commit 2d2df23198b6b08bdce21ee0d4f7e3a2b6c37d0b Merge: d7b581e b71538e Author: aristocratos Date: Tue Dec 12 23:19:31 2023 +0100 Merge branch 'main' of github.com:aristocratos/btop commit d7b581eda4560e969459d5f4a1e0ef811e5a08be Author: aristocratos Date: Tue Dec 12 23:17:36 2023 +0100 Updated changes commit b71538eabe06607042201e21af9a078277f3b3e8 Merge: a017056 730af5d Author: Jakob P. Liljenberg Date: Tue Dec 12 23:07:39 2023 +0100 Merge pull request #666 from muneebmahmed/macos-clang commit 730af5d4e1a09996f9e83c6aa26382a11964b03f Merge: 0246b1b a017056 Author: Jakob P. Liljenberg Date: Tue Dec 12 23:05:52 2023 +0100 Merge branch 'main' into macos-clang commit a017056ea07f6532b333f3e6f10a023505fb0470 Author: aristocratos Date: Tue Dec 12 23:05:07 2023 +0100 Added swap to ignore for statvfs() since it will always fail commit e770cccaf82cb75fe1e61c227284929e5a4acde1 Author: aristocratos Date: Tue Dec 12 22:55:48 2023 +0100 Added try->catch for get_zfs_stat_file() to avoid fs error commit 0246b1b971a3f991540acd72ef66b5481d9bc76f Author: Muneeb Ahmed <32603485+muneebmahmed@users.noreply.github.com> Date: Mon Nov 20 12:18:40 2023 -0800 Enable macos clang Apple clang uses different versioning from LLVM, so 15.0.0 is compatible commit 6282f36f8fe2fc1fa95a5858c044fbc6c7d965cf Merge: cfd20a3 be73160 Author: Jakob P. Liljenberg Date: Tue Dec 12 22:06:02 2023 +0100 Merge pull request #675 from imwints/cmake commit be731600f1ec6cb58edc6947d41d2709c6d33635 Merge: f4b14ce cfd20a3 Author: Jakob P. Liljenberg Date: Tue Dec 12 22:01:21 2023 +0100 Merge branch 'main' into cmake commit 450b59b657618beb7a88f34072210e27cab43ca5 Merge: 875f08b cfd20a3 Author: Jakob P. Liljenberg Date: Tue Dec 12 21:55:27 2023 +0100 Merge branch 'main' into main commit cfd20a374b11b75d73e043979d0b6dd4314d2919 Merge: 14e664e b6a8696 Author: Jakob P. Liljenberg Date: Tue Dec 12 21:48:55 2023 +0100 Merge pull request #677 from imwints/cpu-model commit b6a86962e23422b6f09ea40347cd4a7a49ae6647 Merge: 8096433 14e664e Author: Jakob P. Liljenberg Date: Tue Dec 12 21:47:01 2023 +0100 Merge branch 'main' into cpu-model commit 14e664e7564f595d911e462414357caade91eede Merge: 0d35746 5902484 Author: Jakob P. Liljenberg Date: Tue Dec 12 21:41:55 2023 +0100 Merge pull request #679 from masiboss/main commit 875f08ba5ea72327573235a265f13c0441ee67e5 Author: kz6fittycent Date: Tue Dec 12 14:27:16 2023 -0600 Update snapcraft.yaml - opengl - Testing opengl plug commit 3ee4b18e57bc9dfe3124ad615bc68aab1772c283 Author: kz6fittycent Date: Tue Dec 12 14:14:59 2023 -0600 Update bug_report.md - added snap info for bug reports to delineate commit 2973a76f2b3183b571e6706e523aa42f6b1b7f69 Merge: fb782a2 0d35746 Author: kz6fittycent Date: Tue Dec 12 14:06:44 2023 -0600 Merge branch 'aristocratos:main' into main commit fb782a2ab32cc60ff6bcaec5ae13514ce5ca5390 Author: kz6fittycent Date: Tue Dec 12 14:02:27 2023 -0600 Create test-snap-can-build.yml commit 5902484f39fea0751093368e3181ac8cbe37e9a6 Author: masiboss <32394683+masiboss@users.noreply.github.com> Date: Thu Dec 7 21:42:11 2023 +0100 simplify removal of "Apple" commit 5beb9e12e5645e64644eb8465b097468172e244f Author: masiboss <32394683+masiboss@users.noreply.github.com> Date: Thu Dec 7 20:56:40 2023 +0100 in case apple decides to add another suffix to the cpu name commit 1b2f11b41234f7cdf83212c81cdbf086f491049d Author: masiboss <32394683+masiboss@users.noreply.github.com> Date: Thu Dec 7 20:49:34 2023 +0100 cut less of cpu name if frequency is not shown commit bcf4ad8ab6a8b69f17ad7936a36595f15dbc0953 Author: masiboss <32394683+masiboss@users.noreply.github.com> Date: Thu Dec 7 19:50:12 2023 +0100 fix array out of bounds on regular m chip commit aeefcacbc9c48aa5fad658b07f046d20a0b863c7 Author: masiboss <32394683+masiboss@users.noreply.github.com> Date: Thu Dec 7 19:34:11 2023 +0100 fix cpu version not included commit 23698940df1b387d131a250f754f3f47b8480833 Author: masiboss <32394683+masiboss@users.noreply.github.com> Date: Thu Dec 7 19:23:58 2023 +0100 strip "Apple" from name of Apple silicon chips commit 809643373648c510788706404d5ec00ba714baba Author: Steffen Winter Date: Tue Dec 5 02:34:24 2023 +0100 Fix printed model name for older Intel CPU commit f4b14ce97e35d439bcc3207c3eb78da442c92fa9 Author: Steffen Winter Date: Tue Dec 5 01:00:14 2023 +0100 Add CMake compile instructions for macOS commit 97b35d97206417a5170324f7d98b815bec002b36 Author: Steffen Winter Date: Sat Dec 2 00:35:13 2023 +0100 Add cmake workflow for all platforms commit e35538fa29e7975a6ca92bb2c0fd0e36d8108ba5 Author: Steffen Winter Date: Sat Dec 2 00:34:32 2023 +0100 Patch RPATH on FreeBSD, support OSX and format commit 0d357468b50a13b48868b4969b4f19000c90d5d6 Merge: ebc46ca 00f58b6 Author: Jakob P. Liljenberg Date: Fri Dec 1 22:52:51 2023 +0100 Merge pull request #674 from imwints/bsd-workflow Provide FreeBSD static release binaries commit 00f58b6228c1ea99ab32d0ec48c3d4aa93611614 Author: Steffen Winter Date: Thu Nov 30 23:07:52 2023 +0100 Provide FreeBSD static release binaries Bumps vmaction@freesdb-vm to version 1 which runs on Linux and doesn't hang all the time. Also uses clang for full static compilation commit ebc46ca12cc0ee0172ac44ad6f9bdd30c72e3685 Author: Jakob P. Liljenberg Date: Mon Nov 27 18:21:42 2023 +0100 Clean up compile instructions commit d1384c9341e73a5289a4d754fdcce847c4dca736 Merge: 2b0cc37 6f12e35 Author: Jakob P. Liljenberg Date: Mon Nov 27 17:53:39 2023 +0100 Merge pull request #671 from imwints/cmake-gpu Bring GPU support to CMake and improve how Make handles the ROCm library build commit 6f12e3555d9558266e5ffc7f6847f0a7273db5b8 Author: Steffen Winter Date: Mon Nov 27 00:33:11 2023 +0100 Properly invoke CMake to build ROCm * Build an optimized library by default * Only build the library target * ROCm is build with debug symbols when `make DEBUG=true` * Enable LTO * Use the more generic CMake build command instead of calling make directly, this always uses all cores by default and makes it easier to switch to another generator e.g. Ninja * Use a variable to store the ROCm source directory. The directory can be changed with `make ROCM_DIR=` * The static library is now directly linked by CMake and not created off of the object files from a shared library build * The C++ compiler used to compile btop is now used to compile ROCm to avoid name mangling when `CXX` from the environment and `make CXX=` differ * CMake is invoked from btop's root directory commit 0585bc9cfbcb023ad10b57cbf52cc90623e6d307 Author: Steffen Winter Date: Mon Nov 27 00:31:10 2023 +0100 Suppress all output from ROCm build Similar to including external include files with `-isystem`, ignore output from ROCm build since these warnings aren't a concern here commit 831be262b0a88090bde36eee0dcac8e8abb7569b Author: Steffen Winter Date: Mon Nov 27 00:29:14 2023 +0100 Remove ROCm object files with `make clean/distclean` commit 2f59e61d875b86cb99d9d24819dea607239ad517 Author: Steffen Winter Date: Sun Nov 26 22:56:58 2023 +0100 Add GPU options for cmake based builds commit 7588d96dd4e0fdbba4943bddd7709004876aa7ab Author: Steffen Winter Date: Sun Nov 26 21:40:29 2023 +0100 Add check for header commit ebbb769a6aaf0a6245111eb55f239d5c45be0cb9 Author: Steffen Winter Date: Sun Nov 26 21:39:13 2023 +0100 Move calls to find_package to where they're required commit ed0fa34a9d628b21a1abed6034ab866c4db72445 Author: Steffen Winter Date: Sun Nov 26 19:39:29 2023 +0100 Bump required CMake version commit 2b0cc3763271a9aae5242dbb7174bfec5c5fdae5 Author: Jakob P. Liljenberg Date: Sat Nov 25 23:11:54 2023 +0100 Update compile instructions for Gpu support commit 359c67136b75efe80bb1d2471d0e87ab5ed5b20c Author: aristocratos Date: Sat Nov 25 22:49:26 2023 +0100 Update changelog commit 5b01235315034f9c75880d0d08ab085b4a804751 Merge: 0267eba 0bb8599 Author: Jakob P. Liljenberg Date: Sat Nov 25 21:57:32 2023 +0100 Merge pull request #529 from romner-set/main Add GPU monitoring support commit 0bb8599a967c92a2767bcf7f488d5e1acfabeef8 Merge: 94d4502 0267eba Author: Jakob P. Liljenberg Date: Sat Nov 25 21:51:09 2023 +0100 Merge branch 'main' into main commit 94d4502901124ff20146a0b6f5c30efe5b4d2a32 Author: aristocratos Date: Sat Nov 25 21:48:50 2023 +0100 Readme update and Makfile fixes. commit 19bcff894bd8f018bc3c76607b1dd91200537923 Author: aristocratos Date: Sat Nov 25 21:01:11 2023 +0100 Squashed commit of the following: commit 0267eba2bbebd6f166b24358159d7fb094fae052 Merge: 50bbab0 e81cf2b Author: Jakob P. Liljenberg Date: Wed Nov 15 21:43:18 2023 +0100 Merge pull request #659 from ivanp7/patch-1 Add alternative key codes for Delete, Insert, Home, End commit 50bbab05122b2f8c35c90e4a6e01d5c52e5eca60 Merge: 9edbf27 5a14c7b Author: Jakob P. Liljenberg Date: Wed Nov 15 21:35:50 2023 +0100 Merge pull request #660 from stradicat/feature/elementarish Elementarish theme: color update according to Elementary palette commit 5a14c7b6fa41a7fe7061c0aa2f2d0c0fe530e495 Merge: 979506f 71eb414 Author: Dennis Mayr Date: Wed Nov 15 17:27:34 2023 -0300 Merge branch 'main' of https://github.com/stradicat/btop commit 979506f18ecdc1475b882d7dadc220386169b7db Author: Dennis Mayr Date: Wed Nov 8 11:17:47 2023 -0300 Elementarish theme: color update according to Elementary palette commit 71eb4142e8204303af091555067b93d82e5dcec1 Author: Dennis Mayr Date: Wed Nov 8 11:17:47 2023 -0300 Elementarish theme: color update according to Elementary palette commit e81cf2b7ff4111e279e1111127e49c6858d83d5e Author: vân <3432246+ivanp7@users.noreply.github.com> Date: Tue Nov 7 15:12:27 2023 +0000 Add alternative key codes for Insert, Home, End commit f9452ff6d56af721fb5526ede11206c7d3b885b8 Author: vân <3432246+ivanp7@users.noreply.github.com> Date: Mon Nov 6 13:31:53 2023 +0000 Add alternative Delete key code Delete key not always produces ^[[3~, on some terminals (like st) it produces ^[[P. commit 9edbf27f1b6d5844a97325fcda732762ba086a99 Merge: 2a864f6 ff1f51c Author: Jakob P. Liljenberg Date: Sat Oct 21 02:09:55 2023 +0200 Merge pull request #649 from nobounce/workflow-timeout Set FreeBSD workflow timeout commit ff1f51ccbb6d6133292e57ba1b8edb8b6c941fc9 Author: Steffen Winter Date: Wed Oct 18 22:26:36 2023 +0200 Set FreeBSD workflow timeout Recently the FreeBSD workflow has started to hang in a boot loop when the VM starts up. The issue is being tracked upstream but there is not response at the moment. To work around this set a timeout to not waste CI minutes. Other workflows might also want this change since they don't take 20 minutes anyway. commit 2a864f6f2ea60df16b3f015885eb3c18a48b9b78 Merge: 636eb25 b2bf8ef Author: Jakob P. Liljenberg Date: Sat Oct 7 10:40:54 2023 +0200 Merge pull request #643 from DecklynKern/main Fix scrollbar not clearing sometimes. commit b2bf8ef504f29650f8fe0adab41c3cac35b67567 Author: DecklynKern Date: Fri Oct 6 17:33:38 2023 -0600 Fix scrollbar not clearing sometimes. commit 636eb25f5e31a7af337b024873b2ceb42650ebdb Merge: 260c0f6 b5ba2fc Author: Jakob P. Liljenberg Date: Sat Sep 30 19:51:03 2023 +0200 Merge pull request #623 from rahulaggarwal965/main Add keybind for toggling memory display mode in PROC box commit b5ba2fc9635e540142d3dd3eccd866865c9393fd Author: Rahul Aggarwal Date: Wed Sep 20 22:55:56 2023 -0400 Add keybind for toggling memory display mode in PROC box commit 260c0f662313fe0d0df859645f5731af04fc9fa7 Merge: 52bfff7 e6a06eb Author: Jakob P. Liljenberg Date: Sat Sep 30 18:56:25 2023 +0200 Merge pull request #635 from lvxnull/editorconfig Add hpp files to .editorconfig commit e6a06eb729f11fb8b14f104a041c8504772a8c95 Author: lvxnull <86745229+lvxnull@users.noreply.github.com> Date: Thu Sep 28 19:44:47 2023 +0200 Add hpp files to .editorconfig commit 52bfff7ceb3d259b1a71002fcbfb20261294bdd7 Merge: 1f72e56 19dbbe1 Author: Jakob P. Liljenberg Date: Sat Sep 30 18:55:08 2023 +0200 Merge pull request #636 from nobounce/performance-iili Minor string initialization improvement commit 19dbbe1a17f7e6453709c37a23859e5d73591e53 Author: nobounce Date: Fri Sep 29 12:20:59 2023 +0200 Minor string initialization improvement commit 1f72e56c7d6e70f8851134c0a28e17fb0a824a71 Merge: 278a0e6 cdcf8bc Author: Jakob P. Liljenberg Date: Fri Sep 29 10:43:21 2023 +0200 Merge pull request #633 from crestfallnatwork/main [fix] Made disks statvfs logic asynchronous. commit cdcf8bc92978c826d9c1768b547df3b7484003f2 Author: crestfalln Date: Fri Sep 29 09:07:27 2023 +0530 fixed bug where updated disks stats overrided disk io data commit 9b4e85f08dc3be40d8f4904093cd2bdd096e60fa Author: crestfalln Date: Thu Sep 28 04:57:05 2023 +0530 fixed bug where updated disks stats overrided disk io data commit 889623874ef6233610ed529bff18e1ba2c407e14 Author: crestfalln Date: Wed Sep 27 23:57:06 2023 +0530 made disks stat logic async commit 278a0e6b171a5f967e0680f679c20d9fc8d58c6f Merge: d16adc9 e89519f Author: Jakob P. Liljenberg Date: Thu Sep 28 18:32:09 2023 +0200 Merge pull request #630 from lvxnull/signal-list Fix signal list on non-linux/weird linux platforms commit e89519fbb2cd53ddb06ab0a39093c19fc595277c Author: lvxnull <86745229+lvxnull@users.noreply.github.com> Date: Sun Sep 24 21:44:38 2023 +0200 Fix signal list on non-linux/weird linux platforms commit d16adc9fd03322d46f1b84e5ebe7d426f726a5cc Merge: 2c3ac48 f34b408 Author: Jakob P. Liljenberg Date: Thu Sep 28 18:20:42 2023 +0200 Merge pull request #618 from nobounce/aggregate-child-processes Add option to accumulate a child's resources in parent in tree-view commit f34b40892fef31f657cbe8066c8b0d41ed37c0fc Author: nobounce Date: Sun Sep 24 16:34:50 2023 +0200 Make process thread count better readable when wider than 5 digits commit 6027cedd424e963bc6fe9017252ed4f1c9f8634b Author: nobounce Date: Thu Sep 14 23:27:05 2023 +0200 Add option to accumulate a child's resources in parent in tree-view commit 2c3ac4855de49563edd4ef199b0be74babc7ce32 Merge: f90dc37 5c6a281 Author: Jakob P. Liljenberg Date: Wed Sep 13 21:14:56 2023 +0200 Merge pull request #589 from nobounce/cmake Add CMake support for Linux commit f90dc37c26024f28c2a88d87d041fca1f1b5db1e Merge: 0cac861 68a49c1 Author: Jakob P. Liljenberg Date: Wed Sep 13 20:27:05 2023 +0200 Merge pull request #610 from SidVeld/feature/horizon-theme Horizon theme commit 5c6a2810021c352584a0834c95eff4ece7454c0e Author: nobounce Date: Tue Aug 29 20:39:00 2023 +0200 Add CMake support Linux is completly supported FreeBSD is not able to create a static executable for now. See https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=273398 MacOS was not tested commit 68a49c10a63371b65beb670f7a55ccb43fe38311 Author: SidVeld Date: Wed Sep 6 18:03:31 2023 +0300 Add horizon theme commit 0cac8619105521999d603efaeb7d7eed8c38d746 Merge: 31be436 f798acd Author: Jakob P. Liljenberg Date: Tue Sep 5 19:27:38 2023 +0200 Merge pull request #609 from scorpion-26/byteconv Fix short conversion of 1000-1023 *iB commit f798acdaf71455684883df0ffb31d29293f788b2 Author: scorpion-26 Date: Tue Sep 5 18:00:47 2023 +0200 Fix short conversion of 1000-1023*iB floating_humanizer([1000-1024], true) with base 8 returns "2K", whereas it should return "1.0K" to align with other formats. The conversion is also broken for all other units(e.g. 1023M is also broken and returns "2G") commit 31be4362ce122182862ac338a9a479cde3a4c8e2 Author: aristocratos Date: Sun Aug 27 02:00:07 2023 +0200 FreeBSD Github action 13.1 -> 13.2 and static libgcc and libstdc++ commit fc523fd1d0ef49443367056e30653933efc8920c Author: aristocratos Date: Sun Aug 27 01:36:26 2023 +0200 Fix for FreeBSD github action not failing "correctly"... commit b87772611cb6290e834c6beb27eaceea46a10d90 Author: aristocratos Date: Sat Nov 25 20:44:45 2023 +0100 Added definition GPU_SUPPORT to toggle GPU related code commit 0267eba2bbebd6f166b24358159d7fb094fae052 Merge: 50bbab0 e81cf2b Author: Jakob P. Liljenberg Date: Wed Nov 15 21:43:18 2023 +0100 Merge pull request #659 from ivanp7/patch-1 Add alternative key codes for Delete, Insert, Home, End commit 50bbab05122b2f8c35c90e4a6e01d5c52e5eca60 Merge: 9edbf27 5a14c7b Author: Jakob P. Liljenberg Date: Wed Nov 15 21:35:50 2023 +0100 Merge pull request #660 from stradicat/feature/elementarish Elementarish theme: color update according to Elementary palette commit 5a14c7b6fa41a7fe7061c0aa2f2d0c0fe530e495 Merge: 979506f 71eb414 Author: Dennis Mayr Date: Wed Nov 15 17:27:34 2023 -0300 Merge branch 'main' of https://github.com/stradicat/btop commit 979506f18ecdc1475b882d7dadc220386169b7db Author: Dennis Mayr Date: Wed Nov 8 11:17:47 2023 -0300 Elementarish theme: color update according to Elementary palette commit 71eb4142e8204303af091555067b93d82e5dcec1 Author: Dennis Mayr Date: Wed Nov 8 11:17:47 2023 -0300 Elementarish theme: color update according to Elementary palette commit e81cf2b7ff4111e279e1111127e49c6858d83d5e Author: vân <3432246+ivanp7@users.noreply.github.com> Date: Tue Nov 7 15:12:27 2023 +0000 Add alternative key codes for Insert, Home, End commit f9452ff6d56af721fb5526ede11206c7d3b885b8 Author: vân <3432246+ivanp7@users.noreply.github.com> Date: Mon Nov 6 13:31:53 2023 +0000 Add alternative Delete key code Delete key not always produces ^[[3~, on some terminals (like st) it produces ^[[P. commit 9edbf27f1b6d5844a97325fcda732762ba086a99 Merge: 2a864f6 ff1f51c Author: Jakob P. Liljenberg Date: Sat Oct 21 02:09:55 2023 +0200 Merge pull request #649 from nobounce/workflow-timeout Set FreeBSD workflow timeout commit ff1f51ccbb6d6133292e57ba1b8edb8b6c941fc9 Author: Steffen Winter Date: Wed Oct 18 22:26:36 2023 +0200 Set FreeBSD workflow timeout Recently the FreeBSD workflow has started to hang in a boot loop when the VM starts up. The issue is being tracked upstream but there is not response at the moment. To work around this set a timeout to not waste CI minutes. Other workflows might also want this change since they don't take 20 minutes anyway. commit 2a864f6f2ea60df16b3f015885eb3c18a48b9b78 Merge: 636eb25 b2bf8ef Author: Jakob P. Liljenberg Date: Sat Oct 7 10:40:54 2023 +0200 Merge pull request #643 from DecklynKern/main Fix scrollbar not clearing sometimes. commit b2bf8ef504f29650f8fe0adab41c3cac35b67567 Author: DecklynKern Date: Fri Oct 6 17:33:38 2023 -0600 Fix scrollbar not clearing sometimes. commit 636eb25f5e31a7af337b024873b2ceb42650ebdb Merge: 260c0f6 b5ba2fc Author: Jakob P. Liljenberg Date: Sat Sep 30 19:51:03 2023 +0200 Merge pull request #623 from rahulaggarwal965/main Add keybind for toggling memory display mode in PROC box commit b5ba2fc9635e540142d3dd3eccd866865c9393fd Author: Rahul Aggarwal Date: Wed Sep 20 22:55:56 2023 -0400 Add keybind for toggling memory display mode in PROC box commit 260c0f662313fe0d0df859645f5731af04fc9fa7 Merge: 52bfff7 e6a06eb Author: Jakob P. Liljenberg Date: Sat Sep 30 18:56:25 2023 +0200 Merge pull request #635 from lvxnull/editorconfig Add hpp files to .editorconfig commit e6a06eb729f11fb8b14f104a041c8504772a8c95 Author: lvxnull <86745229+lvxnull@users.noreply.github.com> Date: Thu Sep 28 19:44:47 2023 +0200 Add hpp files to .editorconfig commit 52bfff7ceb3d259b1a71002fcbfb20261294bdd7 Merge: 1f72e56 19dbbe1 Author: Jakob P. Liljenberg Date: Sat Sep 30 18:55:08 2023 +0200 Merge pull request #636 from nobounce/performance-iili Minor string initialization improvement commit 19dbbe1a17f7e6453709c37a23859e5d73591e53 Author: nobounce Date: Fri Sep 29 12:20:59 2023 +0200 Minor string initialization improvement commit 1f72e56c7d6e70f8851134c0a28e17fb0a824a71 Merge: 278a0e6 cdcf8bc Author: Jakob P. Liljenberg Date: Fri Sep 29 10:43:21 2023 +0200 Merge pull request #633 from crestfallnatwork/main [fix] Made disks statvfs logic asynchronous. commit cdcf8bc92978c826d9c1768b547df3b7484003f2 Author: crestfalln Date: Fri Sep 29 09:07:27 2023 +0530 fixed bug where updated disks stats overrided disk io data commit 9b4e85f08dc3be40d8f4904093cd2bdd096e60fa Author: crestfalln Date: Thu Sep 28 04:57:05 2023 +0530 fixed bug where updated disks stats overrided disk io data commit 889623874ef6233610ed529bff18e1ba2c407e14 Author: crestfalln Date: Wed Sep 27 23:57:06 2023 +0530 made disks stat logic async commit 278a0e6b171a5f967e0680f679c20d9fc8d58c6f Merge: d16adc9 e89519f Author: Jakob P. Liljenberg Date: Thu Sep 28 18:32:09 2023 +0200 Merge pull request #630 from lvxnull/signal-list Fix signal list on non-linux/weird linux platforms commit e89519fbb2cd53ddb06ab0a39093c19fc595277c Author: lvxnull <86745229+lvxnull@users.noreply.github.com> Date: Sun Sep 24 21:44:38 2023 +0200 Fix signal list on non-linux/weird linux platforms commit d16adc9fd03322d46f1b84e5ebe7d426f726a5cc Merge: 2c3ac48 f34b408 Author: Jakob P. Liljenberg Date: Thu Sep 28 18:20:42 2023 +0200 Merge pull request #618 from nobounce/aggregate-child-processes Add option to accumulate a child's resources in parent in tree-view commit f34b40892fef31f657cbe8066c8b0d41ed37c0fc Author: nobounce Date: Sun Sep 24 16:34:50 2023 +0200 Make process thread count better readable when wider than 5 digits commit 6027cedd424e963bc6fe9017252ed4f1c9f8634b Author: nobounce Date: Thu Sep 14 23:27:05 2023 +0200 Add option to accumulate a child's resources in parent in tree-view commit 2c3ac4855de49563edd4ef199b0be74babc7ce32 Merge: f90dc37 5c6a281 Author: Jakob P. Liljenberg Date: Wed Sep 13 21:14:56 2023 +0200 Merge pull request #589 from nobounce/cmake Add CMake support for Linux commit f90dc37c26024f28c2a88d87d041fca1f1b5db1e Merge: 0cac861 68a49c1 Author: Jakob P. Liljenberg Date: Wed Sep 13 20:27:05 2023 +0200 Merge pull request #610 from SidVeld/feature/horizon-theme Horizon theme commit 5c6a2810021c352584a0834c95eff4ece7454c0e Author: nobounce Date: Tue Aug 29 20:39:00 2023 +0200 Add CMake support Linux is completly supported FreeBSD is not able to create a static executable for now. See https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=273398 MacOS was not tested commit 68a49c10a63371b65beb670f7a55ccb43fe38311 Author: SidVeld Date: Wed Sep 6 18:03:31 2023 +0300 Add horizon theme commit 0cac8619105521999d603efaeb7d7eed8c38d746 Merge: 31be436 f798acd Author: Jakob P. Liljenberg Date: Tue Sep 5 19:27:38 2023 +0200 Merge pull request #609 from scorpion-26/byteconv Fix short conversion of 1000-1023 *iB commit f798acdaf71455684883df0ffb31d29293f788b2 Author: scorpion-26 Date: Tue Sep 5 18:00:47 2023 +0200 Fix short conversion of 1000-1023*iB floating_humanizer([1000-1024], true) with base 8 returns "2K", whereas it should return "1.0K" to align with other formats. The conversion is also broken for all other units(e.g. 1023M is also broken and returns "2G") commit 975525d38f60b2a3f3257dcf170226fc06b32f62 Author: aristocratos Date: Sun Aug 27 12:34:46 2023 +0200 Fix: Cpu gpu stats always shown when show_gpu_info is On and sizing issues commit 08abf0b9301e9d48f363ec8ffee161b351c4716d Author: aristocratos Date: Sun Aug 27 01:28:36 2023 +0200 Quickfixes for MacOS and FreeBSD compilation. commit 7290109f80175c8f140fa6abd67ad0183e1f21ec Author: aristocratos Date: Sun Aug 27 00:58:30 2023 +0200 Merge fix commit 283d4632427b0a5e3c8f8518e3db3fdd8b257f9c Merge: efddad4 c296ac1 Author: aristocratos Date: Sun Aug 27 00:56:22 2023 +0200 Merge branch 'main' into pr/romner-set/529 commit efddad42dce74ff4553307e30e4cfa58210dc377 Author: aristocratos Date: Sun Aug 27 00:39:57 2023 +0200 Changed: cpu_graph_lower Auto defaults to cpu_graph_upper when show_gpu_info is Off commit a9bc0874d48dfef157a95d075e5e81ad248faa87 Author: aristocratos Date: Sun Aug 27 00:31:07 2023 +0200 Added show_gpu_info setting and Auto options for cpu graphs commit b3970ee19cb6d240fcf40cd0077e61ae346da3af Author: aristocratos Date: Sat Aug 26 20:52:59 2023 +0200 Fixed: Key 5-0 gpu box toggle commit bd5d697830f65adb0ce6c4bd7e292e34c10079db Author: aristocratos Date: Sat Aug 26 20:29:43 2023 +0200 Squashed commit of the following: commit c296ac13cd4c16a11e137c309b7452bab096312e Merge: 9a1e760 091c30a Author: Jakob P. Liljenberg Date: Sat Aug 26 19:29:57 2023 +0200 Merge pull request #590 from nobounce/dangling-reference-config Convert parameters and config keys to std::string_view commit 9a1e760a661c9a160dd83e6d3ab710bf36b19b04 Merge: 9c8af4d 22e64ca Author: Jakob P. Liljenberg Date: Sat Aug 26 19:20:18 2023 +0200 Merge pull request #602 from jfouquart/main Fix getting zfs pool name with '.' char in freebsd commit 9c8af4df436c2847eefa66d2e0eb7ebfd75d70cf Merge: 8a49d8c 2217cbe Author: Jakob P. Liljenberg Date: Sat Aug 26 19:18:55 2023 +0200 Merge pull request #601 from joske/cleanup [macos] don't check /sys on macos commit 8a49d8cf456d0a15db65e7dc704d627b75a0fe43 Merge: 1556388 008fcd8 Author: Jakob P. Liljenberg Date: Sat Aug 26 19:18:07 2023 +0200 Merge pull request #600 from joske/makefile [macos/freebsd] support gcc13 commit 1556388c83644d122fab9241aa876232d94d1928 Merge: 1b126f5 d17e1a2 Author: Jakob P. Liljenberg Date: Sat Aug 26 19:14:00 2023 +0200 Merge pull request #599 from joske/main [macos] fix temp sensor on system with many cores commit d17e1a2dac79458940319d7117a21bdcd73ed53c Author: Jos Dehaes Date: Fri Aug 25 16:18:39 2023 +0200 fix some warnings commit 4d8aa6b11896dac99f81019e6dea11cc8d8856f1 Author: Jos Dehaes Date: Fri Aug 25 15:52:58 2023 +0200 fix core check commit 22e64caaff3d5877b7a494980a8ee3f17ea8f824 Author: Jonathan Fouquart Date: Fri Aug 25 09:37:49 2023 +0200 Fix getting zfs pool name with '.' char in freebsd commit 2217cbe143dd5aa45dbd50b4dc829577e2e1ccda Author: Jos Dehaes Date: Wed Aug 23 16:01:04 2023 +0200 [macos] don't check /sys on macos commit 008fcd889e862f1d378d331dab51b3d3ce9d9f3c Author: Jos Dehaes Date: Wed Aug 23 16:05:00 2023 +0200 also add g++13 commit 0fdca5eb0385253969e029fdfcf1fb9cff83ea33 Author: Jos Dehaes Date: Wed Aug 23 15:54:07 2023 +0200 support gcc13 commit dcbdb7360d44b4071ec0fe0757a0875a12147c8a Author: Jos Dehaes Date: Wed Aug 23 15:46:47 2023 +0200 [macos] fix temp sensor on system with many cores commit 1b126f55e38de76a2cca796593ef1554828d61e6 Author: aristocratos Date: Fri Aug 4 01:08:27 2023 +0200 Update Makefile for partial static compilation on freebsd commit c8ec6bbb000a865f14c50414e456955c473a2f3a Author: aristocratos Date: Thu Aug 3 23:08:33 2023 +0200 Fix freebsd nullptr changes and makefile for gcc12 and newer commit 8a33aab5885f828d7d0d2523aff31f9c33170332 Merge: 94e5c02 e4abcef Author: Jakob P. Liljenberg Date: Sun Jul 30 13:21:48 2023 +0200 Merge pull request #539 from nobounce/replace-NULL-nullptr Modernize using nullptr. commit 94e5c02d113f3fc8956d63ef4f0eecebfbf31b9d Author: aristocratos Date: Thu Jul 27 20:51:21 2023 +0200 Better text editing commit 091c30ab2be074836bb8d9a4f658cec9a5b36303 Author: nobounce Date: Thu Jul 27 14:17:54 2023 +0200 Convert parameters and config keys to std::string_view Using std::string_view instead of std::string& silences a new warning from GCC 13, -Wdangling-reference Also switch return type of `getI` from int& to int, trivial types are cheaper to copy by value commit e4abcefbf92e5d94ad169e1e47c0fbec7279fa6f Author: nobounce Date: Wed Jul 26 16:19:17 2023 +0200 Use nullptr instead of NULL. See https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2431.pdf TLDR: NULL is of type int and relies on proper implicit pointer conversion which may lead to issues when using overloaded functions It is also considered a 'best practise' for modern C++ and conveys the programmers intention more precisly. commit d53307f14cfa9cb416a3d1c8919d4f61cbb20bf7 Author: nobounce Date: Sun Jul 23 19:53:36 2023 +0200 Fix path to Linux CI file in itself The CI file has a list of dependent files including itself. The path was not updated when the CI was split into different files commit 594f42b9ebf886b70f6cdf0fb909d53eb6c5407f Merge: aca2e4b 53d6eba Author: Jakob P. Liljenberg Date: Wed Jul 26 15:38:01 2023 +0200 Merge pull request #584 from nobounce/nb/fix-ci-path Fix path to Linux CI file in itself commit aca2e4be7568186e122f1506fa25bdfb8c4f7f2a Author: aristocratos Date: Wed Jul 26 14:38:48 2023 +0200 Fix whitespace indent -> tab indent commit 33faa01910309895763011dce2a3194b889a0b6a Author: aristocratos Date: Wed Jul 26 14:34:15 2023 +0200 Revert fmt submodule to static fmt folder in include commit 53d6ebabc052a618001fa857eff25d5252a89210 Author: nobounce Date: Sun Jul 23 19:53:36 2023 +0200 Fix path to Linux CI file in itself The CI file has a list of dependent files including itself. The path was not updated when the CI was split into different files commit 346c9e479be1328c2fb133a457259b09884a1db3 Author: romner Date: Wed Jul 19 16:53:58 2023 +0200 Fix GPU text overflow in CPU panel, again commit 3a5e5fd5d37da33cbec48635f5c97502c824755b Author: romner Date: Wed Jul 19 16:22:45 2023 +0200 Improve 0-10 key input commit 972b2b6a011e9376090e1d14997550120eb37f36 Author: romner Date: Wed Jul 19 15:54:35 2023 +0200 Fix available boxes in menu & config description commit 1f73453aeca76cd04d7154c3bc82b6ebf64ba593 Author: romner Date: Wed Jul 19 15:34:23 2023 +0200 Fix crashes when trying to open nth GPU box with only n-1 GPUs in the system commit 46c6be0a296e922a265f1ad6ec0cfdcb487783d7 Author: romner Date: Sun Jul 16 17:19:09 2023 +0200 Fix GPU horizontal text overflow in CPU panel commit 85fb28cee6e6953ce5aed4725ce82bf65a7e5ade Author: romner Date: Fri Jul 14 02:39:44 2023 +0200 Fix RSMI_STATIC=true and add GPU section to README.md commit 3fad8a6fdec3b3efb5d4d407d969cec5e62ffa7a Author: romner-set Date: Mon Jun 26 13:10:31 2023 +0200 Add GPU options commit 746f716a027d0a76d0e48640052c73f9fc188450 Author: romner-set Date: Fri Jun 16 11:11:57 2023 +0200 Remove lib/rocm_smi_lib and add instructions for obtaining it to README commit d8ebbe1181346234edce4dfa030c3b63ab025942 Author: romner Date: Thu Jun 8 20:24:01 2023 +0200 Join NVML PCIe threads only if PCIe TX/RX is supported by GPU commit be1098915169cfb6a87c5fbad7b90cdb078b8257 Author: romner Date: Tue Jun 6 19:47:07 2023 +0200 Parallelize NVML PCIe TX/RX data collection commit 85892a9fe3968b9c72806eb0cb030cf77bd1e3e4 Author: aristocratos Date: Mon Jun 5 21:59:26 2023 +0200 Fix type: ulong -> size_t and compare std::cmp_less commit 85a10f0305cf0e8881c7ad02a8d3d483fe3186b0 Author: romner Date: Fri Jun 2 16:14:24 2023 +0200 Fix ROCm SMI makefile flags commit cd6979277dcc83f80e4e4f9671078592920f2177 Author: romner Date: Fri Jun 2 15:44:44 2023 +0200 Fix error when ROCm SMI static compilation fails commit daaa45324fb3f73a8f755277a91c2007c18b9bbc Author: romner Date: Fri Jun 2 15:34:12 2023 +0200 Load ROCm SMI dynamically by default, optionally statically compile and link commit 093edfe948c0ec4e55bb3f4e3888f13779db2886 Author: aristocratos Date: Thu Jun 1 19:49:00 2023 +0200 Minor changes in wording... commit b9a4d31fa48b33d6b892ebb9c828dd1ba3e7fde0 Author: aristocratos Date: Thu Jun 1 19:37:53 2023 +0200 Fix Makefile dependency order and layout commit a0163ce22007cc5016add0aeba567970d5f1d25e Author: romner Date: Thu Jun 1 16:42:02 2023 +0200 Statically link ROCm SMI commit b2df0696fdaacd7a4553180d065d160cb7405fe2 Author: romner-set Date: Thu Jun 1 03:41:56 2023 +0200 Dynamically load NVML commit 547f17dda33365f15610829448d0afa7472fc013 Author: romner-set Date: Tue May 30 18:24:50 2023 +0200 Add more GPU graph types to the CPU panel commit 842c761a731d64d477dce1181feadfe03de508cf Author: romner-set Date: Mon May 22 09:46:20 2023 +0200 Fix crash when all GPU panels are open but the CPU panel is closed commit 8c96bd51e96dfd602f3ba41da2e162f729a398dc Author: romner Date: Sun May 21 20:34:47 2023 +0200 Handle GPUs which cannot report certain stats in GPU panel commit 414d7eb94c6073823e7874c3947686c23929eb19 Author: romner Date: Sun May 21 18:02:50 2023 +0200 Handle GPUs which cannot report certain stats in btop_collect.cpp and CPU panel commit 005de97e6d1c162154bfa0255be83ba462f8f660 Author: aristocratos Date: Sun May 21 13:58:11 2023 +0200 Add missing fmt prefixes commit 1fee2bc08b9215ce728f16be2ee8a3068ae45618 Author: aristocratos Date: Sun May 21 13:52:19 2023 +0200 Add DebugTimer class and change some Logger::error calls to Logger::debug commit 2e68c0b916a4fb72c70b2fac2f7c25c8fb45b75b Author: aristocratos Date: Sat May 20 17:27:20 2023 +0200 Fixed key > gpu_names check commit 04ed16a9f6846a3231eee0016268e177b21a10db Author: aristocratos Date: Sat May 20 17:15:45 2023 +0200 Merged changes from main commit 8c710a2b687954bd66f07b02265da420bf645379 Author: aristocratos Date: Sat May 20 01:41:04 2023 +0200 Makefile auto detection and initial logic for excluding gpu code when libs are missing commit 8bae1ec092814368b04fb49827c7b89c327c62d6 Author: aristocratos Date: Sat May 20 00:13:00 2023 +0200 Fixed debug timer for gpu commit 01acfd603eda8b40829a6453d1fdb22f9e472238 Author: romner-set Date: Fri May 19 16:42:32 2023 +0200 Bind GPU panel to 5,6,7,8,9,0 and fully implement multi-GPU support commit 22a463976d107a1e5849621e2a11f3e1071ed884 Author: romner Date: Thu May 18 16:07:05 2023 +0200 Add GPU info to CPU panel commit c352bf26137daa0d242fa52ef11ecd6550bf0823 Author: romner-set Date: Mon May 15 19:42:55 2023 +0200 Add ROCm SMI backend for AMD GPU support commit 917d568a77b9e693a6d6a2c7fab57f957eff988d Author: romner-set Date: Mon May 15 13:58:54 2023 +0200 Add multi-GPU support for NVML data collection commit 2d27f2ff610d4894997ffbcede70ed5f716a4f94 Author: romner Date: Sun May 14 17:40:50 2023 +0200 Fix crash when no nvidia GPU is detected commit 0e0025a2c3dd521f9bcdb1bb9b0d76508a4663af Author: romner Date: Sun May 14 17:31:39 2023 +0200 Update makefile text, fix typo and adhere to contibuting guidelines commit bcffcdf19f4d2cb774b916f43493ec7c051ac92a Author: romner Date: Sun May 14 16:53:06 2023 +0200 Make GPU window's size dynamic and integrate it with the rest of btop commit 95b32283083ca2b74824a94ce97561b323ea1d17 Author: romner Date: Sat May 13 19:41:51 2023 +0200 Improve GPU side panel commit adcdc583b098156abc639a068238ef277f166153 Author: romner Date: Sat May 13 00:27:23 2023 +0200 Add GPU side panel commit d522a91ef4a95ccd2ff0df45271ff86fc119ab67 Author: romner Date: Fri May 12 19:34:47 2023 +0200 Add rudimentary, fullscreen single-GPU NVML utilization graph --- README.md | 439 +++++++++++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 367 insertions(+), 72 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 2eecb90..f220e86 100644 --- a/README.md +++ b/README.md @@ -33,12 +33,33 @@ * [Compilation Linux](#compilation-linux) * [Compilation macOS](#compilation-macos-osx) * [Compilation FreeBSD](#compilation-freebsd) +* [GPU compatibility](#gpu-compatibility) * [Installing the snap](#installing-the-snap) * [Configurability](#configurability) * [License](#license) ## News +##### 25 November 2023 + +GPU monitoring added for Linux! + +Compile from git main to try it out. + +Use keys `5`, `6`, `7` and `0` to show/hide the gpu monitoring boxes. `5` = Gpu 1, `6` = Gpu 2, etc. + +Gpu stats/graphs can also be displayed in the "Cpu box" (not as verbose), see the cpu options menu for info and configuration. + +Note that the binaries provided on the release page (when released) and the continuous builds will not have gpu support enabled. + +Because the GPU support relies on loading of dynamic gpu libraries, gpu support will not work when also static linking. + +See [Compilation Linux](#compilation-linux) for more info on how to compile with gpu monitoring support. + +Many thanks to [@romner-set](https://github.com/romner-set) who wrote the vast majority of the implementation for GPU support. + +Big update with version bump to 1.3 coming soon. + ##### 28 August 2022 [![btop4win](https://github.com/aristocratos/btop4win/raw/master/Img/logo.png)](https://github.com/aristocratos/btop4win) @@ -305,15 +326,45 @@ Also needs a UTF8 locale and a font that covers: ## Compilation Linux - Needs GCC 10 or higher, (GCC 11 or above strongly recommended for better CPU efficiency in the compiled binary). + Requires at least GCC 10 or Clang 16. The makefile also needs GNU coreutils and `sed` (should already be installed on any modern distribution). - For a `cmake` based build alternative see the [fork](https://github.com/jan-guenter/btop/tree/main) by @jan-guenter + ### GPU compatibility -1. **Install dependencies (example for Ubuntu 21.04 Hirsute)** + Btop++ supports NVIDIA and AMD GPUs out of the box on Linux x86_64, provided you have the correct drivers and libraries. + + Compatibility with Intel GPUs using generic DRM calls is planned, as is compatibility for FreeBSD and macOS. + + Gpu support will not work when static linking glibc (or musl, etc.)! + + For x86_64 Linux the flag `GPU_SUPPORT` is automatically set to `true`, to manually disable gpu support set the flag to false, like: - Use gcc-10 g++-10 if gcc-11 isn't available + `make GPU_SUPPORT=false` (or `cmake -DBTOP_GPU=false` with CMake) + + * **NVIDIA** + + You must use an official NVIDIA driver, both the closed-source and [open-source](https://github.com/NVIDIA/open-gpu-kernel-modules) ones have been verified to work. + + In addition to that you must also have the `nvidia-ml` dynamic library installed, which should be included with the driver package of your distribution. + + * **AMD** + + AMDGPU data is queried using the [ROCm SMI](https://github.com/RadeonOpenCompute/rocm_smi_lib) library, which may or may not be packaged for your distribution. If your distribution doesn't provide a package, btop++ is statically linked to ROCm SMI with the `RSMI_STATIC=true` make flag. + + This flag expects the ROCm SMI source code in `lib/rocm_smi_lib`, and compilation will fail if it's not there. The latest tested version is 5.6.x, which can be obtained with the following command: + + ```bash + git clone https://github.com/RadeonOpenCompute/rocm_smi_lib.git --depth 1 -b rocm-5.6.x lib/rocm_smi_lib + ``` + +
+ + +### With Make + + +1. **Install dependencies (example for Ubuntu 21.04 Hirsute)** ```bash sudo apt install coreutils sed git build-essential gcc-11 g++-11 @@ -328,51 +379,51 @@ Also needs a UTF8 locale and a font that covers: 3. **Compile** - Append `VERBOSE=true` to display full compiler/linker commands. - - Append `STATIC=true` for static compilation. - - Notice! If using LDAP Authentication, usernames will show as UID number for LDAP users if compiling statically with glibc. - - Append `QUIET=true` for less verbose output. + ```bash + make + ``` - Append `STRIP=true` to force stripping of debug symbols (adds `-s` linker flag). + Options for make: - Append `ARCH=` to manually set the target architecture. - If omitted the makefile uses the machine triple (output of `-dumpmachine` compiler parameter) to detect the target system. + | Flag | Description | + |---------------------------------|-------------------------------------------------------------------------| + | `VERBOSE=true` | To display full compiler/linker commands | + | `STATIC=true` | For static compilation | + | `QUIET=true` | For less verbose output | + | `STRIP=true` | To force stripping of debug symbols (adds `-s` linker flag) | + | `DEBUG=true` | Sets OPTFLAGS to `-O0 -g` and enables more verbose debug logging | + | `ARCH=` | To manually set the target architecture | + | `GPU_SUPPORT=` | Enable/disable GPU support (Enabled by default on X86_64 Linux) | + | `RSMI_STATIC=true` | To statically link the ROCm SMI library used for querying AMDGPU | + | `ADDFLAGS=` | For appending flags to both compiler and linker | + | `CXX=` | Manualy set which compiler to use | - Use `ADDFLAGS` variable for appending flags to both compiler and linker. + Example: `make ADDFLAGS=-march=native` might give a performance boost if compiling only for your own system. - For example: `ADDFLAGS=-march=native` might give a performance boost if compiling only for your own system. + Notice! If using LDAP Authentication, usernames will show as UID number for LDAP users if compiling statically with glibc. - If `g++` is linked to an older version of gcc on your system specify the correct version by appending `CXX=g++-10` or `CXX=g++-11`. +4. **Install** ```bash - make + sudo make install ``` -4. **Install** - Append `PREFIX=/target/dir` to set target, default: `/usr/local` Notice! Only use "sudo" when installing to a NON user owned directory. +5. **(Optional) Set suid bit to make btop always run as root (or other user)** + ```bash - sudo make install + sudo make setuid ``` -5. **(Optional) Set suid bit to make btop always run as root (or other user)** - No need for `sudo` to enable signal sending to any process and to prevent /proc read permissions problems on some systems. Run after make install and use same PREFIX if any was used at install. Set `SU_USER` and `SU_GROUP` to select user and group, default is `root` and `root` - ```bash - sudo make setuid - ``` - * **Uninstall** ```bash @@ -397,16 +448,94 @@ Also needs a UTF8 locale and a font that covers: make help ``` +
+
+ + +### With CMake (Community maintained) + + +1. **Install build dependencies** + + Requires Clang / GCC, CMake, Ninja and Git + + For example, with Debian Bookworm: + + ```bash + sudo apt install cmake git g++ ninja-build + ``` + +2. **Clone the repository** + + ```bash + git clone https://github.com/aristocratos/btop.git && cd btop + `````` + +3. **Compile** + + ```bash + # Configure + cmake -B build -G Ninja + # Build + cmake --build build + ``` + + This will automatically build a release version of btop. + + Some useful options to pass to the configure step: + + | Configure flag | Description | + |---------------------------------|-------------------------------------------------------------------------| + | `-DBTOP_STATIC=` | Enables static linking (OFF by default) | + | `-DBTOP_LTO=` | Enables link time optimization (ON by default) | + | `-DBTOP_USE_MOLD=` | Use mold to link btop (OFF by default) | + | `-DBTOP_PEDANTIC=` | Compile with additional warnings (OFF by default) | + | `-DBTOP_WERROR=` | Compile with warnings as errors (OFF by default) | + | `-DBTOP_GPU=` | Enable GPU support (ON by default) | + | `-DBTOP_RSMI_STATIC=` | Build and link the ROCm SMI library statically (OFF by default) | + | `-DCMAKE_INSTALL_PREFIX=` | The installation prefix ('/usr/local' by default) | + + To force any other compiler, run `CXX= cmake -B build -G Ninja` + +4. **Install** + + ```bash + cmake --install build + ``` + + May require root privileges + +5. **Uninstall** + + CMake doesn't generate an uninstall target by default. To remove installed files, run + ``` + cat build/install_manifest.txt | xargs rm -irv + ``` + +6. **Cleanup build directory** + + ```bash + cmake --build build -t clean + ``` + +
+ ## Compilation macOS OSX - Needs GCC 10 or higher, (GCC 11 or above strongly recommended for better CPU efficiency in the compiled binary). + Requires at least GCC 10 or Clang 16. - GCC 12 needed for macOS Ventura. If you get linker errors on Ventura you'll need to upgrade your command line tools (Version 14.0) is bugged. + With GCC, version 12 (or better) is needed for macOS Ventura. If you get linker errors on Ventura you'll need to upgrade your command line tools (Version 14.0) is bugged. The makefile also needs GNU coreutils and `sed`. Install and use Homebrew or MacPorts package managers for easy dependency installation +
+ + +### With Make + + 1. **Install dependencies (example for Homebrew)** ```bash @@ -419,50 +548,49 @@ Also needs a UTF8 locale and a font that covers: git clone https://github.com/aristocratos/btop.git cd btop ``` - 3. **Compile** - Append `VERBOSE=true` to display full compiler/linker commands. - - Append `STATIC=true` for static compilation (only libgcc and libstdc++ will be static!). - - Append `QUIET=true` for less verbose output. + ```bash + gmake + ``` - Append `STRIP=true` to force stripping of debug symbols (adds `-s` linker flag). + Options for make: - Append `ARCH=` to manually set the target architecture. - If omitted the makefile uses the machine triple (output of `-dumpmachine` compiler parameter) to detect the target system. + | Flag | Description | + |---------------------------------|-------------------------------------------------------------------------| + | `VERBOSE=true` | To display full compiler/linker commands | + | `STATIC=true` | For static compilation (only libgcc and libstdc++) | + | `QUIET=true` | For less verbose output | + | `STRIP=true` | To force stripping of debug symbols (adds `-s` linker flag) | + | `DEBUG=true` | Sets OPTFLAGS to `-O0 -g` and enables more verbose debug logging | + | `ARCH=` | To manually set the target architecture | + | `ADDFLAGS=` | For appending flags to both compiler and linker | + | `CXX=` | Manualy set which compiler to use | - Use `ADDFLAGS` variable for appending flags to both compiler and linker. + Example: `gmake ADDFLAGS=-march=native` might give a performance boost if compiling only for your own system. - For example: `ADDFLAGS=-march=native` might give a performance boost if compiling only for your own system. +4. **Install** ```bash - gmake + sudo gmake install ``` -4. **Install** - Append `PREFIX=/target/dir` to set target, default: `/usr/local` Notice! Only use "sudo" when installing to a NON user owned directory. +5. **(Recommended) Set suid bit to make btop always run as root (or other user)** + ```bash - sudo gmake install + sudo gmake setuid ``` -5. **(Recommended) Set suid bit to make btop always run as root (or other user)** - No need for `sudo` to see information for non user owned processes and to enable signal sending to any process. Run after make install and use same PREFIX if any was used at install. Set `SU_USER` and `SU_GROUP` to select user and group, default is `root` and `wheel` - ```bash - sudo gmake setuid - ``` - * **Uninstall** ```bash @@ -487,12 +615,92 @@ Also needs a UTF8 locale and a font that covers: gmake help ``` +
+
+ + +### With CMake (Community maintained) + + +1. **Install build dependencies** + + Requires Clang, CMake, Ninja and Git + + ```bash + brew update --quiet + brew install cmake git llvm ninja + ``` + +2. **Clone the repository** + + ```bash + git clone https://github.com/aristocratos/btop.git && cd btop + ``` + +3. **Compile** + + ```bash + # Configure + export LLVM_PREFIX="$(brew --prefix llvm)" + export CXX="$LLVM_PREFIX/bin/clang++" + export CPPFLAGS="-I$LLVM_PREFIX/include" + export LDFLAGS="-L$LLVM_PREFIX/lib -L$LLVM_PREFIX/lib/c++ -Wl,-rpath,$LLVM_PREFIX/lib/c++ -fuse-ld=$LLVM_PREFIX/bin/ld64.lld" + cmake -B build -G Ninja + # Build + cmake --build build + ``` + + _**Note:** btop uses lots of C++ 20 features, so it's necessary to be specific about the compiler and the standard library. If you get a compile with Apple-Clang or GCC, feel free to add the instructions here._ + + This will automatically build a release version of btop. + + Some useful options to pass to the configure step: + + | Configure flag | Description | + |---------------------------------|-------------------------------------------------------------------------| + | `-DBTOP_LTO=` | Enables link time optimization (ON by default) | + | `-DBTOP_USE_MOLD=` | Use mold to link btop (OFF by default) | + | `-DBTOP_PEDANTIC=` | Compile with additional warnings (OFF by default) | + | `-DBTOP_WERROR=` | Compile with warnings as errors (OFF by default) | + | `-DCMAKE_INSTALL_PREFIX=` | The installation prefix ('/usr/local' by default) | + + To force any specific compiler, run `CXX= cmake -B build -G Ninja` + +4. **Install** + + ```bash + cmake --install build + ``` + + May require root privileges + +5. **Uninstall** + + CMake doesn't generate an uninstall target by default. To remove installed files, run + ``` + cat build/install_manifest.txt | xargs rm -irv + ``` + +6. **Cleanup build directory** + + ```bash + cmake --build build -t clean + ``` + +
+ ## Compilation FreeBSD - Needs GCC 10 or higher, (GCC 11 or above strongly recommended for better CPU efficiency in the compiled binary). + Requires at least GCC 10 or Clang 16. Note that GNU make (`gmake`) is required to compile on FreeBSD. +
+ + +### With gmake + + 1. **Install dependencies** ```bash @@ -508,47 +716,47 @@ Also needs a UTF8 locale and a font that covers: 3. **Compile** - Append `VERBOSE=true` to display full compiler/linker commands. - - Append `STATIC=true` for static compilation (only libgcc and libstdc++ will be static!). - - Append `QUIET=true` for less verbose output. + ```bash + gmake + ``` - Append `STRIP=true` to force stripping of debug symbols (adds `-s` linker flag). + Options for make: - Append `ARCH=` to manually set the target architecture. - If omitted the makefile uses the machine triple (output of `-dumpmachine` compiler parameter) to detect the target system. + | Flag | Description | + |---------------------------------|-------------------------------------------------------------------------| + | `VERBOSE=true` | To display full compiler/linker commands | + | `STATIC=true` | For static compilation (only libgcc and libstdc++) | + | `QUIET=true` | For less verbose output | + | `STRIP=true` | To force stripping of debug symbols (adds `-s` linker flag) | + | `DEBUG=true` | Sets OPTFLAGS to `-O0 -g` and enables more verbose debug logging | + | `ARCH=` | To manually set the target architecture | + | `ADDFLAGS=` | For appending flags to both compiler and linker | + | `CXX=` | Manualy set which compiler to use | - Use `ADDFLAGS` variable for appending flags to both compiler and linker. + Example: `gmake ADDFLAGS=-march=native` might give a performance boost if compiling only for your own system. - For example: `ADDFLAGS=-march=native` might give a performance boost if compiling only for your own system. +4. **Install** ```bash - gmake + sudo gmake install ``` -4. **Install** - Append `PREFIX=/target/dir` to set target, default: `/usr/local` Notice! Only use "sudo" when installing to a NON user owned directory. +5. **(Recommended) Set suid bit to make btop always run as root (or other user)** + ```bash - sudo gmake install + sudo gmake setuid ``` -5. **(Recommended) Set suid bit to make btop always run as root (or other user)** - No need for `sudo` to see information for non user owned processes and to enable signal sending to any process. Run after make install and use same PREFIX if any was used at install. Set `SU_USER` and `SU_GROUP` to select user and group, default is `root` and `wheel` - ```bash - sudo gmake setuid - ``` - * **Uninstall** ```bash @@ -573,6 +781,93 @@ Also needs a UTF8 locale and a font that covers: gmake help ``` +