feat(graphics): detect hybrid NVIDIA+iGPU and surface GPU + DE in Diagnostics
autoconfig_graphics gains a hybrid Intel/AMD + NVIDIA branch that keeps GSK renderer on Auto and DMA-BUF off so the iGPU handles compositing without the dGPU getting dragged in. detect_gpu_name is exposed and labels hybrid setups explicitly (e.g. "NVIDIA (driver 580) + Intel (i915)"). RuntimeDiagnostics gets runtime_gpu_name and runtime_desktop_environment so the Diagnostics panel can show what the app sees at runtime, which is the first thing useful to triage performance reports from log uploads. cc
This commit is contained in:
3 files changed
+84
-24
No files matched your search
@@ -40,6 +40,8 @@
|
||||
runtimeIsVm: boolean;
|
||||
runtimeHwAccelEnabled: boolean;
|
||||
runtimeForceX11Active: boolean;
|
||||
runtimeGpuName: string;
|
||||
runtimeDesktopEnvironment: string;
|
||||
devForceDmabuf: boolean;
|
||||
envWebkitDisableDmabuf: string | null;
|
||||
envWebkitDisableCompositing: string | null;
|
||||
@@ -306,9 +308,11 @@
|
||||
{ label: 'GDK Scale', saved: str(diag.gfxGdkScale), runtime: '—', status: 'info' },
|
||||
{ label: 'GDK DPI Scale', saved: str(diag.gfxGdkDpiScale), runtime: '—', status: 'info' },
|
||||
{ label: 'Compositing Mode', saved: '—', runtime: compositing, status: 'info' },
|
||||
{ label: 'GPU', saved: '—', runtime: diag.runtimeGpuName || 'Unknown', status: 'info' },
|
||||
{ label: 'GPU: NVIDIA', saved: '—', runtime: diag.runtimeHasNvidia ? 'Detected' : 'No', status: 'info' },
|
||||
{ label: 'GPU: Intel', saved: '—', runtime: diag.runtimeHasIntel ? 'Detected' : 'No', status: 'info' },
|
||||
{ label: 'GPU: AMD', saved: '—', runtime: diag.runtimeHasAmd ? 'Detected' : 'No', status: 'info' },
|
||||
{ label: 'Desktop Environment', saved: '—', runtime: diag.runtimeDesktopEnvironment || 'Unknown', status: 'info' },
|
||||
{ label: 'Wayland', saved: '—', runtime: diag.runtimeIsWayland ? 'Yes' : 'No (X11)', status: 'info' },
|
||||
{ label: 'VM', saved: '—', runtime: diag.runtimeIsVm ? 'Yes' : 'No', status: 'info' },
|
||||
{ label: 'Using Fallback', saved: '—', runtime: bool(diag.runtimeUsingFallback), status: diag.runtimeUsingFallback ? 'mismatch' : 'info' },
|
||||
|
||||
Reference in new issue
Block a user