diff --git a/src/linux/btop_collect.cpp b/src/linux/btop_collect.cpp index 0dc59a8..d500192 100644 --- a/src/linux/btop_collect.cpp +++ b/src/linux/btop_collect.cpp @@ -724,12 +724,12 @@ namespace Cpu { if (fs::exists(bat_dir / "power_now")) { new_bat.power_now = bat_dir / "power_now"; } - else if ((fs::exists(bat_dir / "current_now")) and (fs::exists(bat_dir / "current_now"))) { + else if ((fs::exists(bat_dir / "current_now")) and (fs::exists(bat_dir / "current_now"))) { new_bat.current_now = bat_dir / "current_now"; new_bat.voltage_now = bat_dir / "voltage_now"; - } - else { - new_bat.use_power = false; + } + else { + new_bat.use_power = false; } if (fs::exists(bat_dir / "AC0/online")) new_bat.online = bat_dir / "AC0/online"; @@ -1285,6 +1285,7 @@ namespace Gpu { "librocm_smi64.so", "librocm_smi64.so.5", // fedora "librocm_smi64.so.1.0", // debian + "librocm_smi64.so.6" }; for (const auto& l : libRocAlts) { @@ -1344,7 +1345,8 @@ namespace Gpu { } else if (version.major == 5) { if ((rsmi_dev_gpu_clk_freq_get_v5 = (decltype(rsmi_dev_gpu_clk_freq_get_v5))load_rsmi_sym("rsmi_dev_gpu_clk_freq_get")) == nullptr) return false; - } else if (version.major == 6) { + // In the release tarballs of rocm 6.0.0 and 6.0.2 the version queried with rsmi_version_get is 7.0.0.0 + } else if (version.major == 6 || version.major == 7) { if ((rsmi_dev_gpu_clk_freq_get_v6 = (decltype(rsmi_dev_gpu_clk_freq_get_v6))load_rsmi_sym("rsmi_dev_gpu_clk_freq_get")) == nullptr) return false; } else { @@ -1448,7 +1450,7 @@ namespace Gpu { if constexpr(is_init) gpus_slice[i].supported_functions.gpu_clock = false; } else gpus_slice[i].gpu_clock_speed = (long long)frequencies.frequency[frequencies.current]/1000000; // Hz to MHz } - else if (version_major == 6) { + else if (version_major == 6 || version_major == 7) { rsmi_frequencies_t_v6 frequencies; result = rsmi_dev_gpu_clk_freq_get_v6(i, RSMI_CLK_TYPE_SYS, &frequencies); if (result != RSMI_STATUS_SUCCESS) { @@ -1467,7 +1469,7 @@ namespace Gpu { if constexpr(is_init) gpus_slice[i].supported_functions.mem_clock = false; } else gpus_slice[i].mem_clock_speed = (long long)frequencies.frequency[frequencies.current]/1000000; // Hz to MHz } - else if (version_major == 6) { + else if (version_major == 6 || version_major == 7) { rsmi_frequencies_t_v6 frequencies; result = rsmi_dev_gpu_clk_freq_get_v6(i, RSMI_CLK_TYPE_MEM, &frequencies); if (result != RSMI_STATUS_SUCCESS) {