Update AppImage

This commit is contained in:
MacRimi
2025-10-28 22:12:57 +01:00
parent d30954167e
commit d03b667194
2 changed files with 9 additions and 15 deletions

View File

@@ -1360,7 +1360,11 @@ export function VirtualMachines() {
<Badge <Badge
key={index} key={index}
variant="outline" variant="outline"
className="bg-purple-500/10 text-purple-500 border-purple-500/20" className={
gpu.includes("NVIDIA")
? "bg-green-500/10 text-green-500 border-green-500/20"
: "bg-purple-500/10 text-purple-500 border-purple-500/20"
}
> >
{gpu} {gpu}
</Badge> </Badge>

View File

@@ -116,10 +116,9 @@ def parse_lxc_hardware_config(vmid, node):
# Detect GPU passthrough # Detect GPU passthrough
gpu_types = [] gpu_types = []
# Intel iGPU detection
if '/dev/dri' in config_content or 'renderD128' in config_content: if '/dev/dri' in config_content or 'renderD128' in config_content:
if 'Intel' not in gpu_types: if 'Intel/AMD GPU' not in gpu_types:
gpu_types.append('Intel iGPU') gpu_types.append('Intel/AMD GPU')
# NVIDIA GPU detection # NVIDIA GPU detection
if 'nvidia' in config_content.lower(): if 'nvidia' in config_content.lower():
@@ -127,11 +126,6 @@ def parse_lxc_hardware_config(vmid, node):
if 'NVIDIA GPU' not in gpu_types: if 'NVIDIA GPU' not in gpu_types:
gpu_types.append('NVIDIA GPU') gpu_types.append('NVIDIA GPU')
# AMD GPU detection
if 'amdgpu' in config_content.lower() or ('dev/dri' in config_content and 'card' in config_content):
if 'AMD GPU' not in gpu_types:
gpu_types.append('AMD GPU')
hardware_info['gpu_passthrough'] = gpu_types hardware_info['gpu_passthrough'] = gpu_types
# Detect other hardware devices # Detect other hardware devices
@@ -322,9 +316,6 @@ def get_intel_gpu_processes_from_text():
# Parse engine utilization from the bars # Parse engine utilization from the bars
# The bars are between the memory and name # The bars are between the memory and name
# We'll estimate utilization based on bar characters # We'll estimate utilization based on bar characters
bar_section = ' '.join(parts[3:-1])
# Simple heuristic: count █ characters for each engine section
engines = {} engines = {}
engine_names = ['Render/3D', 'Blitter', 'Video', 'VideoEnhance'] engine_names = ['Render/3D', 'Blitter', 'Video', 'VideoEnhance']
bar_sections = bar_section.split('||') bar_sections = bar_section.split('||')
@@ -4355,7 +4346,6 @@ def api_network_interface_metrics(interface_name):
return jsonify({'error': str(e)}), 500 return jsonify({'error': str(e)}), 500
# ... existing code ...
@app.route('/api/vms', methods=['GET']) @app.route('/api/vms', methods=['GET'])
def api_vms(): def api_vms():
@@ -5565,6 +5555,7 @@ def api_vm_details(vmid):
else: else:
return jsonify({'error': 'Failed to get VM details'}), 500 return jsonify({'error': 'Failed to get VM details'}), 500
except Exception as e: except Exception as e:
# print(f"Error getting VM details: {e}")
pass pass
return jsonify({'error': str(e)}), 500 return jsonify({'error': str(e)}), 500
@@ -5732,7 +5723,6 @@ if __name__ == '__main__':
cli.show_server_banner = lambda *x: None cli.show_server_banner = lambda *x: None
# Print only essential information # Print only essential information
# print("API endpoints available at: /api/system, /api/system-info, /api/storage, /api/proxmox-storage, /api/network, /api/vms, /api/logs, /api/health, /api/hardware, /api/prometheus, /api/node/metrics") print("API endpoints available at: /api/system, /api/system-info, /api/storage, /api/proxmox-storage, /api/network, /api/vms, /api/logs, /api/health, /api/hardware, /api/prometheus, /api/node/metrics")
app.run(host='0.0.0.0', port=8008, debug=False) app.run(host='0.0.0.0', port=8008, debug=False)