Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Title: WebKit WebGL1/2 context lost within milliseconds (NVMTL); Chrome ANGLE Metal stable on same GPU

Aperta
#452 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 2 giorni

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
20/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
macos, rust
Ambito
backend

Direzione di ricerca

Start by reproducing the WebGL1 and WebGL2 probes in Safari on the reported setup and compare their logs with Chrome's ANGLE Metal results. The report does not identify a driver file or failing test, and the cause is not established. Done means finding and fixing why WebKit contexts are lost within milliseconds, then confirming they remain alive and render.

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

Descrizione

bug
Send logs report ID

NM-3X7RY7RT

Where does it go wrong?

Booting macOS after the driver (black / grey screen, restarts)

What happens

Summary

On this setup, WebKit (Safari) can create both WebGL1 and WebGL2 contexts,
but each fires webglcontextlost about 7–18 ms after creation, before any
real drawing happens. The result is repeatable. The same GPU renders WebGL
fine in Chrome, so this looks like a WebKit + NVMTL interaction issue, not
broken WebGL itself.

Environment

  • Machine: Lenovo Legion R7000P 2023
  • CPU: AMD Ryzen 7 7840H / GPU: NVIDIA RTX 4060 Laptop
  • macOS: Tahoe 26.7.1
  • NullMoth driver: 2.6.4 (NVRM, NVAccel, NVRMFB, NVRMAGDC, NVMTLDriver)
  • system_profiler reports Metal 3
  • Display used for the probe: [internal / external — fill in before submitting]
  • Note: AMD 780M iGPU has no kext loaded, so it is not available as an
    alternate GPU.
  • 1401 report ID: 9BE1CC28-32ED-4624-86DA-2AA1334F2C48

Reproduction

  1. In Safari, open a WebGL1 probe and a WebGL2 probe (same probe set for both).
  2. Both contexts are created successfully.
  3. Within ~7–18 ms, webglcontextlost fires, before real drawing.
  4. Repeat runs give the same result.

Expected vs actual

  • Expected: contexts stay alive and render.
  • Actual: contexts are reclaimed almost immediately after creation, in WebKit only.

Contrast evidence (same machine, same GPU)

  • Chrome, ANGLE Metal → NVMTL: 120 consecutive frames, no context loss,
    pixel output correct.
  • Chrome, SwiftShader software backend: also runs normally.
  • This rules out the page code and the WebGL API itself as the cause.

Log clue (correlation only, not claimed root cause)

  • WebKit logs also show Invalid display 0x00000000, but no complete Metal
    error is present in the logs, so this is noted as correlated with the
    context loss, not asserted as the sole root cause.
  • Most plausible reading (not proven): WebKit is more sensitive to Metal
    interop / display-resource handling, and NVMTL's support for some shader,
    texture, or display paths is incomplete, so the system reclaims the WebGL
    context. Chrome's ANGLE path tolerates this better.

Current workaround

  • The affected app (launcher animation) already falls back to Chrome: it
    switches from native WebKit to Chrome fallback in ~190 ms and the animation
    then loads normally. So this is not a hard blocker for that app, but
    Safari/WebKit WebGL is unusable on this setup.

Offer

  • Happy to run further probes with the same WebGL1/2 probe set, provide full
    logs, or test a suggested change one variable at a time (e.g. a boot-arg
    such as -nvrmnoflip) and report back.
Written by you
  • I wrote this report myself. AI-written issues are closed without review (see CONTRIBUTING.md).
App or game (if it is one)

No response

Did you change anything yourself?

no official

Lingua principale
Rust
Stelle
2.5k
Fork
233
Merge medio
3g 14h
PR unite (30g)
14

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

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 nullmoth/nvidia-macos-driver

Tutte le issue di nullmoth/nvidia-macos-driver

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.