KManager / scripts /check_kiro_gpu.py
StarrySkyWorld's picture
Initial commit
494c89b
#!/usr/bin/env python3
"""
Проверка GPU в процессах Kiro.
Определяет используется ли SwiftShader (software rendering).
"""
import sys
try:
import psutil
except ImportError:
print("❌ Установи psutil: pip install psutil")
sys.exit(1)
def check_kiro_gpu():
"""Проверяет GPU процессы Kiro."""
print("🔍 Проверка GPU в Kiro...\n")
gpu_processes = []
for proc in psutil.process_iter(['pid', 'name', 'cmdline', 'memory_info']):
try:
if proc.info['name'] and 'kiro' in proc.info['name'].lower():
cmdline = proc.info['cmdline'] or []
cmdline_str = " ".join(cmdline).lower()
if "--type=gpu-process" in cmdline_str:
mem_mb = proc.info['memory_info'].rss / (1024**2)
is_swiftshader = "swiftshader" in cmdline_str
use_angle = "--use-angle=" in cmdline_str
# Извлекаем параметры
angle_backend = "unknown"
if use_angle:
for arg in cmdline:
if arg.startswith("--use-angle="):
angle_backend = arg.split("=")[1]
break
gpu_processes.append({
'pid': proc.info['pid'],
'memory_mb': mem_mb,
'swiftshader': is_swiftshader,
'angle': angle_backend,
'cmdline': cmdline_str
})
except (psutil.NoSuchProcess, psutil.AccessDenied):
continue
if not gpu_processes:
print("❌ GPU процессы Kiro не найдены")
return
print(f"Найдено GPU процессов: {len(gpu_processes)}\n")
for i, gpu in enumerate(gpu_processes, 1):
print(f"GPU Process #{i} (PID {gpu['pid']}):")
print(f" Память: {gpu['memory_mb']:.0f} MB")
if gpu['swiftshader']:
print(f" Режим: 🔴 SwiftShader (Software Rendering)")
print(f" ANGLE: {gpu['angle']}")
print(f" ⚠️ ПРОБЛЕМА: Используется программный рендеринг!")
print(f" 💡 Это причина лагов!")
else:
print(f" Режим: ✅ Hardware Acceleration")
print(f" ANGLE: {gpu['angle']}")
print()
# Итоговый вердикт
has_swiftshader = any(g['swiftshader'] for g in gpu_processes)
print("=" * 60)
if has_swiftshader:
print("🔴 ВЕРДИКТ: Kiro использует Software Rendering")
print("\nПричины:")
print(" 1. Драйвера видеокарты устарели или не установлены")
print(" 2. Видеокарта в блоклисте Chromium")
print(" 3. Проблемы с DirectX/OpenGL")
print("\nРешения:")
print(" 1. Обнови драйвера видеокарты")
print(" 2. Проверь: Ctrl+Shift+P → 'Preferences: Configure Runtime Arguments'")
print(" 3. Добавь в argv.json: \"ignore-gpu-blocklist\": true")
else:
print("✅ ВЕРДИКТ: Hardware Acceleration работает")
print(" Лаги не связаны с GPU")
if __name__ == "__main__":
check_kiro_gpu()