[Linux AppImage 1.1.16] WEBKIT_DISABLE_DMABUF_RENDERER=0 is overridden; sluggish UI

Aperta
#3,652 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
54/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
linux

Direzione di ricerca

Inizia dall’avvio di Linux AppImage e dal percorso di avvio dei processi figli di WebKit, quindi riproduci il controllo filtrato di /proc/PID/environ con WEBKIT_DISABLE_DMABUF_RENDERER=0. Il lavoro è completato quando il processo figlio rispetta un override di rendering esplicito, oppure quando sono documentati l’opt-in diagnostico supportato e la relativa restrizione a un valore predefinito sicuro; verifica che l’avvio rimanga funzionante.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

triage
Short summary

The Linux AppImage resets an explicit WEBKIT_DISABLE_DMABUF_RENDERER=0 override to 1 in its WebKit child, preventing an accelerated-rendering comparison while investigating sluggish UI interaction.

Affected version or release

1.1.16 (Linux x86_64 AppImage)

Installation context

Local Linux desktop, native X11 session (not XWayland); NVIDIA proprietary driver 580.178.04. Bundled WebKitGTK 2.50.4; system WebKitGTK 2.52.6.

What happened?

This was generated by AI during triage.

The app feels sluggish during basic typing, scrolling, and clicking. While investigating, a controlled relaunch was performed with:

env WEBKIT_DISABLE_DMABUF_RENDERER=0 ./GitHub-Copilot-linux-x64.AppImage

Inspection of only this environment variable in the running processes showed:

App process:      WEBKIT_DISABLE_DMABUF_RENDERER=0
WebKitWebProcess: WEBKIT_DISABLE_DMABUF_RENDERER=1

The startup/child-launch path therefore resets the explicit caller-supplied value. The app opens successfully, but the attempted accelerated comparison does not actually change the renderer configuration.

The ignored override is directly reproduced. Its contribution to the responsiveness problem is a strong hypothesis, not a verified before/after result.

Steps to reproduce
  1. Fully exit the app so an existing instance cannot handle the launch.

  2. Launch the 1.1.16 Linux AppImage with:

    env WEBKIT_DISABLE_DMABUF_RENDERER=0 ./GitHub-Copilot-linux-x64.AppImage
    
  3. Identify the app process and its WebKitWebProcess child.

  4. Inspect only WEBKIT_DISABLE_DMABUF_RENDERER in each process's /proc/PID/environ, substituting the appropriate process ID locally. Do not dump or share the full environment.

  5. Observe 0 in the app's original environment and 1 in the renderer's environment.

  6. Interact with the UI by typing, scrolling, and clicking. The renderer still receives the disabling flag, so this launch cannot serve as a valid hardware-acceleration A/B test.

No repository-specific content is required to reproduce the environment override.

Expected behavior

Respect an explicit rendering override, or provide a supported, documented diagnostic opt-in.

If the disabling flag is required for a known driver compatibility issue, retain safe defaults while explaining the restriction and whether an override is supported.

This report is not requesting that acceleration be enabled indiscriminately on configurations where it is known to fail.

Additional context
Sanitized performance observations
  • During an initial post-launch interaction capture, the WebKit main UI thread used approximately 84-100% of one CPU core over five consecutive roughly two-second intervals, with little scheduler waiting.
  • A subsequent 20-second userspace CPU profile collected 373 samples. Approximately 94.1% of sampled CPU time was on the main UI thread.
  • Sampled CPU distribution: 47.5% WebKit, 36.2% JavaScriptCore/JIT, 6.7% fontconfig, and 0.8% NVIDIA EGL driver. These are shares of sampled CPU time, not whole-machine utilization or measurements of GPU execution time.
  • No machine-wide CPU, memory, or GPU-capacity bottleneck was observed. Activity fell substantially after the UI settled.
  • Four instrumented terminal input-to-paint measurements within the later capture were 20-33 ms. This does not establish severe latency for every interaction, and it does not measure time waiting before the application's input handler runs.

The profile supports investigating frontend/rendering work, but does not prove that the flag explains all reported lag. Missing native debug symbols also limit function-level attribution.

Relevant upstream behavior

In bundled WebKitGTK 2.50.4, WEBKIT_DISABLE_DMABUF_RENDERER=1 makes rendererBufferTransportMode() return an empty mode set, so checkRequirements() returns false. HardwareAccelerationManager then disables hardware acceleration:

Related reports

No raw logs, profiler files, screenshots, conversation content, credentials, account identifiers, actual process/session IDs, machine names, local filesystem paths, or private repository details are attached.

Lingua principale
Nessun dato sulla lingua
Stelle
2.1k
Fork
157
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di github/app

Tutte le issue di github/app

Issue simili

Altre issue su Desktop Dev

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.