Commit Graph

1531 Commits

Author SHA1 Message Date
Steffen Winter
e4e6ab1f19 test: add cpu name trim tests 2026-05-01 10:02:35 +00:00
Steffen Winter
5605b76872 ci: add workflow to check security flaws 2026-05-01 09:53:45 +00:00
Steffen Winter
5a877f614c ci: format workflow files 2026-05-01 09:53:45 +00:00
Steffen Winter
7880a3aaf3 ci: set runner concurrency limits 2026-05-01 09:53:45 +00:00
Steffen Winter
3edbb1fbe9 ci: use environment variables to mitigate template injections 2026-05-01 09:53:45 +00:00
Steffen Winter
f38d20996f ci: don't persist workflow credentials on runner 2026-05-01 09:53:45 +00:00
Steffen Winter
26347af61f ci: pin actions 2026-05-01 09:53:45 +00:00
Steffen Winter
e8befbf5f3 ci: require as little permissions as possible 2026-05-01 09:53:45 +00:00
aristocratos
7657384ed4 Fix cpu watt overflow in cpu box + division by zero fix for cpu.temp_max 2026-05-01 11:37:26 +02:00
Jakob P. Liljenberg
8f78fe1c4d Merge pull request #1598 from deniskhud/fix-non-ascii-proc 2026-05-01 10:16:19 +02:00
Jakob P. Liljenberg
07fcca8080 Merge pull request #1602 from Marcus441/theme-kanagawa-dragon 2026-05-01 10:13:12 +02:00
Jakob P. Liljenberg
378eaff612 Merge pull request #1539 from alephpiece/fix-gpu-pwr_total 2026-05-01 10:04:10 +02:00
Jakob P. Liljenberg
add24131c8 Merge pull request #1591 from deckstose/push-sxxxrqtzmtkx 2026-05-01 10:03:42 +02:00
one
92cf853cdb fix: use static_cast 2026-05-01 10:00:59 +02:00
one
2899c58118 fix: correct shared gpu vram and power percentage calculations 2026-05-01 10:00:59 +02:00
one
dac3a113cc fix: accumulate pwr_usage into pwr_total instead of mem_total in Gpu::collect() 2026-05-01 10:00:59 +02:00
Steffen Winter
ba18f63495 ci: add llvm 22 2026-05-01 09:59:12 +02:00
Steffen Winter
ba002b7208 ci: update freebsd version to 15 2026-05-01 09:59:12 +02:00
Steffen Winter
d05badd383 ci: fix gcc include path 2026-05-01 09:59:12 +02:00
Steffen Winter
2f75be9d2d ci: fix netbsd version in artifact 2026-05-01 09:59:12 +02:00
Jakob P. Liljenberg
9ac035f7bf Merge pull request #1631 from deckstose/push-lpqywtuxmsms 2026-05-01 09:56:22 +02:00
Steffen Winter
51f26f0955 ci: bump musl-cross version 2026-05-01 01:00:50 +02:00
omrash
a7d525bc10 fix: wrap std::thread in struct to force join in destructor like std::jthread (#1557)
Closes: https://github.com/aristocratos/btop/issues/1050
2026-04-26 12:36:51 +00:00
Jakob P. Liljenberg
17164c7fe9 Merge pull request #1622 from theRealWardo/fix-rocm-smi 2026-04-24 19:09:55 +02:00
Matt Ward
c63e2418e6 fix: read GPU/VRAM clocks when ROCm SMI reports version 1.x 2026-04-21 13:53:44 -07:00
Ryan Libby
b101fb378e fix: linux process cpu usage under-reported when vm guests active (#1609)
The Linux /proc/stat fields "guest" and "guest_nice" are already
included in "user" and "nice".  In Proc::collect do like Cpu::collect
does and don't double count them.  The double-counting caused the CPU
usage denominator to be too large when VM guests were active, causing
the reported CPU usage percentages of all processes to be too small.

Closes: https://github.com/aristocratos/btop/issues/1608
2026-04-13 08:38:34 +00:00
Marcus441
466562ce93 feat: add Kanagawa Dragon theme 2026-04-08 15:48:53 +10:00
Denis
c4c78690cb Merge branch 'main' into fix-non-ascii-proc 2026-04-07 18:02:39 +02:00
Jos Dehaes
6462ebcc63 Merge pull request #1587 from busterb/fix-openbsd-smt-online-cpus
Fix OpenBSD display of online CPUs
2026-04-07 16:55:26 +02:00
deniskhud
f6c2721706 fix: render a non-ascii chars in proc list 2026-04-03 13:01:17 +02:00
Brent Cook
adf5c8b7e7 only display online CPUs in output
coreCount now reflects only the schedulable CPUs. With hw.smt=0 on a
4-core/8-thread machine, coreCount becomes 4, so btop allocates 4
display slots instead of 8.

The collect loop now also checks CPUSTATS_ONLINE for each CPU and skips
offline CPUs, such as disabled hyperthreads.
2026-03-27 21:04:02 -05:00
Brent Cook
a49150b4b0 fix CPU mib queries for OpenBSD
btop uses i / 2 as the third MIB index when it should be i, exactly as
top does. This causes it to query the same CPU twice in a row and skip
half the CPUs entirely.

Also use the correct size for a single cpustats struct.
2026-03-26 06:43:54 -05:00
Yinghao
6164470cb8 fix: send signal to correct process when proc list is moving (#1581)
Process signal popup menus use the "current" selected process, which can drift
around. Fix by retaining the initial PID at popup creation.

Closes: https://github.com/aristocratos/btop/issues/846
2026-03-23 16:43:34 +00:00
Jakob P. Liljenberg
ef4dbe2c9c New AI contribution guidelines 2026-03-22 11:49:29 +01:00
Jakob P. Liljenberg
7fda07c095 Update AI generated code contribution guidelines 2026-03-22 11:45:25 +01:00
Yinghao
83e309cbc3 fix: always update properties of current menu option (#1579)
Closes: https://github.com/aristocratos/btop/issues/1531
2026-03-21 17:51:01 +00:00
Yinghao
e895a54626 fix: add missing format field (#1578) 2026-03-19 12:40:14 +00:00
Andrew Pam
cdc15a6081 feat: add support for AMD ROCm 7 (#1566)
The major version reported by the library is now 1, instead of 6 or 7, reported by ROCm 6.

Closes: https://github.com/aristocratos/btop/pull/1469
Closes: https://github.com/aristocratos/btop/issues/1540
2026-03-04 10:16:21 +00:00
renovate[bot]
1ec8b7379a chore(deps): update actions/upload-artifact action to v7 2026-02-27 06:35:14 +00:00
Jakob P. Liljenberg
d76e2ca412 Merge pull request #1541 from gneitzke/feature/apple-silicon-gpu-support
feat: Add Apple Silicon GPU support via IOReport API
2026-02-15 20:44:18 +01:00
Gary Neitzke
505533a573 Add RAII wrappers for CF/IO types and update menu text
- Add CFRef<T> template for CoreFoundation types (CFRelease)
- Add IORef wrapper for IOKit object types (IOObjectRelease)
- Refactor GPU code to use RAII wrappers for all local CF/IO objects
- Add 'apple' to shown_gpus description in btop_menu.cpp
2026-02-14 12:53:29 -08:00
aristocratos
112422b4c4 Ignore warning for -Wunused-result in ~DropPrivilegeGuard() for GCC 2026-02-14 21:00:33 +01:00
Gary Neitzke
a5179a9b42 fix: Guard AppleSilicon GPU code behind __APPLE__ for cross-platform builds
- Wrap AppleSilicon::shutdown() call and declaration with #ifdef __APPLE__
  so Linux GPU builds don't get undefined reference errors
- Add IOReport library linking in CMakeLists.txt for macOS CMake builds
2026-02-14 11:51:21 -08:00
Gary Neitzke
3ec2aeeb01 feat: Add Apple Silicon GPU support via IOReport API
Add GPU monitoring for Apple Silicon Macs using the IOReport framework
and IOHIDEventSystem for temperature readings.

Metrics supported:
- GPU utilization (from GPU Performance States residency)
- GPU power consumption (from Energy Model channel)
- GPU temperature (from IOHIDEventSystem thermal sensors)
- GPU clock speed (from DVFS frequency table + residency weighting)
- Memory usage (unified memory architecture, reports system RAM)

Implementation follows the existing Nvml/Rsmi/Intel backend pattern with
init/shutdown/collect<is_init> template functions in a new AppleSilicon
namespace under Gpu.

Build system changes:
- Enable GPU_SUPPORT on macOS in both CMakeLists.txt and Makefile
- Link IOReport library on macOS
- Add 'apple' to shown_gpus vendor filter

Closes #955
2026-02-14 11:44:17 -08:00
Barry Van Deerlin
09bd0cd3fa refactor: use fmt::format in detailed view for cpu usage
Bug: https://github.com/aristocratos/btop/issues/535
2026-02-11 07:45:47 +00:00
Jakob P. Liljenberg
8fee965556 Merge pull request #1493 from vandabbin/relocate-default-preset
Feat: Preset disabling options
2026-02-07 14:45:00 +01:00
Steffen Winter
1e1eb013cb refactor: remove references to GPU code in non-gpu build 2026-02-07 13:43:52 +00:00
Steffen Winter
45c80843b3 fix: avoid calling back on emtpy temps queue
Closes: https://github.com/aristocratos/btop/issues/1438
2026-02-07 13:43:33 +00:00
Steffen Winter
651b50c112 refactor: replace custom RAII lock with stdlib 2026-02-07 13:42:59 +00:00
Jakob P. Liljenberg
30af1fc227 Merge pull request #1492 from neocerambyx/patch-orange-theme
Create orange.theme
2026-02-07 14:34:22 +01:00