Compare commits
3 Commits
ix/intel-g
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
de13e2329b | ||
|
|
6f78347a0b | ||
|
|
8d70194b8a |
17
debian/changelog
vendored
17
debian/changelog
vendored
@ -1,3 +1,20 @@
|
||||
pve-mod (1.0.7) stable; urgency=low
|
||||
|
||||
* 8d70194 fix(nag_screen): Patch typo (#318)
|
||||
* 2a122ef feat(node_info) Add configurable minimum-temperature ignore threshold (#316)
|
||||
* 0476410 fix(node_info): re-show sensor widgets when data becomes valid again after being hidden (#312)
|
||||
* 972c9ae fix(node_info): reap zombie pve_mod_worker and orphaned collector processes (#307)
|
||||
* 69e2d78 feat(node_info): UPS widget: redesign status panel with battery-charge progress bar (#310)
|
||||
* bdb3f9f fix(node_info): normalize UPS data — derive ups.realpower fallback and clean invalid battery.mfr.date (#309)
|
||||
* c768eac fix(nag_screen): Fix nag screen patch webui line offsets (#315)
|
||||
* 8a9b756 fix(node_info): hide GPU Details and GPU Fans when no GPU is present (#311)
|
||||
* f754331 fix(node_info): fix stale worker lock detection for zombie processes (#306)
|
||||
* e46734c fix(node_info): return average and core temps for intel (#302)
|
||||
* cee8d04 feat/fix(node_info): expose temp_unit in graphics API response & fix temperature conversion (#295)
|
||||
* 8ebc2b4 feat(node_info): add GPU utilization display with color-coded thresholds for NVIDIA GPUs (#296)
|
||||
|
||||
-- github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Sat, 22 Aug 2026 23:24:00 +0000
|
||||
|
||||
pve-mod (1.0.6) stable; urgency=low
|
||||
|
||||
* c21b973 remove buildtest file (#288)
|
||||
|
||||
1
debian/pve-mod.triggers
vendored
1
debian/pve-mod.triggers
vendored
@ -1,3 +1,4 @@
|
||||
interest-noawait /usr/share/pve-manager/js
|
||||
interest-noawait /usr/share/perl5/PVE
|
||||
interest-noawait /usr/share/pve-yew-mobile-gui
|
||||
interest-noawait /usr/share/javascript/proxmox-widget-toolkit
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
--- /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js.orig 2026-08-22 21:11:30.401400044 +0200
|
||||
+++ /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js 2026-08-22 21:12:57.664635944 +0200
|
||||
--- /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js.orig 2026-08-23 01:17:11.563403975 +0200
|
||||
+++ /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js 2026-08-23 01:19:00.972084488 +0200
|
||||
@@ -612,37 +612,8 @@
|
||||
),
|
||||
|
||||
@ -35,8 +35,8 @@
|
||||
- }
|
||||
- },
|
||||
- });
|
||||
++ // disable subscription nag screen
|
||||
++ orig_cmd();
|
||||
+ // disable subscription nag screen
|
||||
+ orig_cmd();
|
||||
},
|
||||
|
||||
assemble_field_data: function (values, data) {
|
||||
|
||||
@ -5,7 +5,7 @@ use warnings;
|
||||
use Exporter 'import';
|
||||
|
||||
use PVE::PVEMod::Config qw(%config $process_type $pve_mod_working_dir);
|
||||
use PVE::PVEMod::Utils qw(debug check_executable setup_collector_signals safe_write_json read_sysfs);
|
||||
use PVE::PVEMod::Utils qw(debug check_executable setup_collector_signals safe_write_json);
|
||||
use PVE::PVEMod::Store qw(update_intel_gpu_rrd);
|
||||
|
||||
our @EXPORT_OK = qw(
|
||||
@ -13,30 +13,10 @@ our @EXPORT_OK = qw(
|
||||
collector_for_intel_device
|
||||
);
|
||||
|
||||
use constant INTEL_VENDOR_ID => '8086';
|
||||
|
||||
# ============================================================================
|
||||
# Intel GPU — device discovery
|
||||
# ============================================================================
|
||||
|
||||
# Resolve the PCI vendor ID (lowercase, e.g. "8086") from either a
|
||||
# "vendor=XXXX" descriptor or a "DDDD:BB:DD.F" address looked up via sysfs.
|
||||
sub _get_pci_vendor_id {
|
||||
my ($path) = @_;
|
||||
|
||||
if ($path =~ /vendor=([0-9a-fA-F]{4})/) {
|
||||
return lc($1);
|
||||
}
|
||||
|
||||
if ($path =~ m{^pci:([0-9a-fA-F]{4}:[0-9a-fA-F]{2}:[0-9a-fA-F]{2}\.\d+)$}) {
|
||||
my $vendor = read_sysfs("/sys/bus/pci/devices/$1/vendor");
|
||||
$vendor =~ s/^0x//i;
|
||||
return lc($vendor);
|
||||
}
|
||||
|
||||
return undef;
|
||||
}
|
||||
|
||||
sub get_intel_gpu_devices {
|
||||
my @devices = ();
|
||||
my $fh;
|
||||
@ -63,11 +43,6 @@ sub get_intel_gpu_devices {
|
||||
chomp;
|
||||
if (/^(card\d+)\s+(.+?)\s+(pci:[^\s]+)/) {
|
||||
my ($card, $name, $path) = ($1, $2, $3);
|
||||
my $vendor = _get_pci_vendor_id($path);
|
||||
if (!defined $vendor || $vendor ne INTEL_VENDOR_ID) {
|
||||
debug(__LINE__, "Skipping non-Intel device: $card ($path) vendor=" . ($vendor // 'unknown'));
|
||||
next;
|
||||
}
|
||||
push @devices, {
|
||||
card => $card,
|
||||
name => $name,
|
||||
|
||||
@ -59,24 +59,6 @@ _check_nvidia_tool() {
|
||||
return 1
|
||||
}
|
||||
|
||||
# Resolve the PCI vendor ID (lowercase, e.g. "8086") from either a
|
||||
# "vendor=XXXX" descriptor or a "DDDD:BB:DD.F" address looked up via sysfs.
|
||||
_get_pci_vendor_id() {
|
||||
local path="$1" vendor=""
|
||||
if [[ "$path" =~ vendor=([0-9a-fA-F]{4}) ]]; then
|
||||
vendor="${BASH_REMATCH[1]}"
|
||||
elif [[ "$path" =~ ^pci:([0-9a-fA-F]{4}:[0-9a-fA-F]{2}:[0-9a-fA-F]{2}\.[0-9]+)$ ]]; then
|
||||
local vfile="/sys/bus/pci/devices/${BASH_REMATCH[1]}/vendor"
|
||||
[[ -f "$vfile" ]] && vendor=$(cat "$vfile")
|
||||
vendor="${vendor#0x}"
|
||||
fi
|
||||
echo "${vendor,,}"
|
||||
}
|
||||
|
||||
_is_intel_pci_device() {
|
||||
[[ "$(_get_pci_vendor_id "$1")" == "8086" ]]
|
||||
}
|
||||
|
||||
# --- standard API ------------------------------------------------------------
|
||||
|
||||
node_info_defaults() {
|
||||
@ -356,15 +338,7 @@ node_info_configure() {
|
||||
warn "No Intel GPUs in debug file."
|
||||
fi
|
||||
elif _check_or_install_tool intel_gpu_top intel-gpu-tools "Intel GPU tools (intel-gpu-tools)"; then
|
||||
local rawIntelCards
|
||||
rawIntelCards=$(intel_gpu_top -L 2>/dev/null | grep -E '^card[0-9]+' || true)
|
||||
# Filter out non-Intel devices (e.g. AMD cards misdetected when intel-gpu-tools is installed on non-Intel hardware)
|
||||
while IFS= read -r line; do
|
||||
[[ -z "$line" ]] && continue
|
||||
if [[ "$line" =~ (pci:[^[:space:]]+) ]] && _is_intel_pci_device "${BASH_REMATCH[1]}"; then
|
||||
intelCards+="${intelCards:+$'\n'}$line"
|
||||
fi
|
||||
done <<< "$rawIntelCards"
|
||||
intelCards=$(intel_gpu_top -L 2>/dev/null | grep -E '^card[0-9]+' || true)
|
||||
if [[ -n "$intelCards" ]]; then
|
||||
info "Intel GPU(s) detected:"
|
||||
echo "$intelCards" | while IFS= read -r line; do echo " $line"; done
|
||||
@ -389,7 +363,7 @@ node_info_configure() {
|
||||
echo "$json" > "$DEBUG_INTEL_FILE"
|
||||
info "Intel GPU device list saved to $DEBUG_INTEL_FILE"
|
||||
else
|
||||
warn "No Intel GPUs detected by intel_gpu_top (or none had an Intel PCI vendor ID)."
|
||||
warn "No Intel GPUs detected by intel_gpu_top."
|
||||
fi
|
||||
fi
|
||||
#endregion Intel GPU
|
||||
|
||||
Loading…
Reference in New Issue
Block a user