Skip to content

¿WebGL 2 o WebGPU no son compatibles? Cómo solucionarlo en todos los navegadores (2026) ​

Última actualización: septiembre de 2026.

Una ventana del navegador que muestra el lienzo negro de un juego y una advertencia de incompatibilidad con WebGL

Si un juego o una página 3D indica que tu navegador no es compatible con WebGL 2 o WebGPU, la causa casi siempre es una de estas cuatro: la aceleración por hardware está desactivada, tu GPU o controlador figura en la lista de bloqueo del navegador, el navegador es demasiado antiguo para la API o estás usando una máquina virtual o una sesión de escritorio remoto sin una GPU real. Activa la aceleración por hardware, actualiza el controlador gráfico, actualiza el navegador y confirma el resultado con una prueba de compatibilidad. Para WebGPU, comprueba también la plataforma: a fecha de septiembre de 2026, Firefox solo lo incluye en Windows y en Mac con Apple Silicon, mientras que Chrome en Linux solo lo incluye para Intel Gen12+ y hardware NVIDIA reciente.

Esta es la página de solución de problemas. Para entender las dos API y elegir cuál usar como base, consulta WebGPU frente a WebGL para juegos.

Respuesta rápida ​

  • Primero, haz un diagnóstico: abre el comprobador de WebGL y WebGPU. Muestra si WebGPU, WebGL 2 y WebGL 1 funcionan e identifica la GPU que utiliza tu navegador. Si el renderizador indica SwiftShader, llvmpipe o «Software», se está renderizando mediante la CPU y debes aplicar las soluciones que aparecen a continuación.
  • Chrome y Edge: ve a Configuración, Sistema, activa «Usar aceleración gráfica cuando esté disponible» y reinicia el navegador. Comprueba chrome://gpu (o edge://gpu). Si WebGL aparece como «Software only» o «Unavailable», actualiza el controlador de la GPU. Como último recurso: chrome://flags/#ignore-gpu-blocklist.
  • Firefox: ve a Ajustes, General, Rendimiento, desmarca «Usar la configuración de rendimiento recomendada» y marca «Usar aceleración de hardware cuando esté disponible». Consulta la sección Gráficos de about:support. Como último recurso: en about:config, establece webgl.force-enabled en true.
  • Safari: actualiza a Safari 26 para usar WebGPU y a Safari 15 o una versión posterior para usar WebGL 2. No hay ningún ajuste de aceleración que puedas activar.
  • El mensaje de Unity «does not support graphics API WebGL 2» significa que canvas.getContext('webgl2') no devolvió nada. Se aplican las mismas soluciones y, en Safari, indica que la versión es anterior a la 15.
  • Dispositivo del trabajo o centro educativo, máquina virtual o escritorio remoto: la GPU está bloqueada por una política o no está disponible. Pide ayuda al departamento de TI o juega en un dispositivo con una GPU real.

Referencia rápida ​

Compatibilidad con WebGPU a fecha de septiembre de 2026, según la wiki sobre el estado de implementación de WebGPU (actualizada el 13 de agosto de 2026), las notas de las versiones de Firefox y WebKit, y caniuse.

NavegadorWindowsmacOSLinuxAndroidiOS y iPadOS
Chrome y Edge113+ (Windows en ARM: tras una opción experimental)113+144+ en Intel Gen12+, 147+ en NVIDIA (controlador 535.183.01+) con Wayland; el resto, tras opciones experimentales121+ en Android 12+ con GPU ARM, Qualcomm o Intel; 139+ para Imagination en Android 16+; Samsung Xclipse en desarrolloUsa el motor WebKit de Apple, así que debes probarlo en el dispositivo
Firefox141+ (22 de julio de 2025)145+ en macOS 26 con Apple Silicon; 147+ en todas las versiones compatibles de macOS con Apple Silicon; solo Nightly en Mac con IntelSolo Nightly; lanzamiento previsto para 2026Tras una opción experimentalUsa el motor WebKit de Apple
Safarin/d26+ (15 de septiembre de 2025, en macOS Tahoe, Sequoia y Sonoma)n/dn/d26+
Dónde se incluye WebGPU actualmenteVersiones estables, septiembre de 2026. Los números indican la primera versión que lo activa por defecto.WindowsmacOSLinuxAndroidiOS, iPadOSChrome, EdgeFirefoxSafari113+ARM: opción experimental113+Algunas GPU144+ Intel Gen12+147+ NVIDIA121+Android 12+139+ ImaginationMotor WebKitconsulta Safari141+145+ / 147+Solo Apple SiliconIntel: NightlySolo Nightlyprevisto para 2026Opción experimentalMotor WebKitconsulta Safarin/d26+De Tahoe a Sonoman/dn/d26+IncluidoIncluido en cierto hardwareOpción experimentalNo incluido en versiones establesTodos los navegadores de iOS y iPadOS usan el motor WebKit de Apple, por lo que allí cuenta la fila de Safari.
La misma tabla presentada como cuadrícula. El verde significa que está activado por defecto en la versión estable. Dos celdas aparecen parcialmente en verde porque la respuesta depende de la GPU: Chrome en Linux (Intel Gen12+ o NVIDIA reciente con Wayland) y Firefox en macOS (solo Apple Silicon). Firefox en Linux y Android, y Chrome en Windows sobre ARM, siguen necesitando Nightly o una opción experimental.

WebGL 2 es la referencia mínima. Según caniuse, está disponible en Chrome 56+, Edge 79+, Firefox 51+, Safari 15+ y Safari para iOS 15+, mientras que la página de compatibilidad de Unity indica Chrome 58+ en Android. Si WebGL 2 falla en cualquier navegador actual, el problema está en el equipo, no en la versión del navegador.

Diagnóstico en 30 segundos ​

Empieza por el comprobador de WebGL y WebGPU. Se ejecuta al cargar la página y no sube ningún dato. Fíjate en tres elementos.

En un equipo con el problema, la página tiene este aspecto.

El comprobador muestra un aviso naranja de que no hay renderizado por GPU disponible, un lienzo negro y tres tarjetas rojas con «No» para WebGPU, WebGL 2 y WebGL 1
Así aparece en el comprobador un navegador bloqueado o limitado al renderizado por software: el aviso naranja, un lienzo de renderizado negro sin lectura de FPS y las tres tarjetas de API marcadas con «No». Observa el cuadro «Cómo solucionarlo», que ya señala la aceleración por hardware.

Qué API funcionan. Si WebGL 2 funciona y solo falla WebGPU, consulta la tabla anterior, porque WebGPU depende conjuntamente del navegador, el sistema operativo y la GPU, y la respuesta podría ser «todavía no está disponible en esta plataforma». Si WebGL 2 también falla, sigue leyendo: eso apunta a la aceleración, los controladores o una lista de bloqueo.

La línea del renderizador. Una GPU real aparece como algo parecido a «ANGLE (NVIDIA, NVIDIA GeForce RTX 4060 ...)» o «Apple M2». SwiftShader, llvmpipe, «Microsoft Basic Render Driver» o cualquier elemento que contenga «software» significa que el navegador está renderizando mediante la CPU. Los juegos funcionan con extrema lentitud y WebGPU no aparece.

La página de información de la GPU del navegador. En Chrome, escribe chrome://gpu en la barra de direcciones (en Edge: edge://gpu). «Graphics Feature Status» muestra WebGL y WebGL2 como «Hardware accelerated», «Software only, hardware acceleration unavailable» o «Unavailable», mientras que la sección «Problems Detected», situada más abajo, explica el motivo y normalmente identifica una entrada de la lista de bloqueo o un controlador. En Firefox, about:support incluye una sección de gráficos donde «Compositing» muestra si la aceleración está activada, y un registro de fallos o decisiones explica cualquier bloqueo. Safari no tiene una página equivalente.

«Renderizado por software» significa lo siguiente: los navegadores mantienen una lista de combinaciones de GPU y controladores que se sabe que provocan cierres inesperados o errores de renderizado. Cuando tu equipo coincide con una entrada, desactivan la función o recurren a un rasterizador mediante la CPU. La lista de bloqueo de Chromium desactiva toda la aceleración por GPU para Microsoft Basic Render Driver («GPU access is blocked if users don't have proper graphics driver installed after Windows installation»), para VMware y VirtualBox, y para controladores antiguos de Intel y NVIDIA. Las entradas dependen de las versiones de los controladores, por eso «actualizar el controlador» resuelve tantos de estos problemas. Una cosa cambió en 2026. Chromium solía recurrir a SwiftShader, una implementación de WebGL por CPU, cuando la GPU estaba bloqueada, por lo que WebGL «funcionaba», aunque lentamente. La documentación de políticas de Edge de Microsoft indica que, a partir de la versión 144, SwiftShader está obsoleto y que «la creación del contexto WebGL falla en situaciones donde se utiliza SwiftShader». La documentación de SwiftShader de Chromium dice lo mismo para Chrome, con --enable-unsafe-swiftshader como opción de activación. Un equipo incluido en la lista de bloqueo que antes ejecutaba el juego lentamente ahora muestra un error de «no compatible».

En conjunto, el diagnóstico consiste en tres preguntas formuladas en un orden fijo, cada una con una única solución asociada.

Tres preguntas, tres solucionesResponde con el comprobador y la página de GPU del navegador. Un no te lleva a la derecha; un sí, hacia abajo.Lienzo negro o error de «no compatible»Abre el comprobador y lee la línea del renderizadorsísísínonono¿Está activa la aceleración por hardware?chrome://gpu o about:support lo confirma tras reiniciarActívala. Chrome: Configuración, Sistema.Firefox: Ajustes, General, Rendimiento.Reinicia: el ajuste requiere volver a abrirlo.¿El renderizador identifica una GPU real?SwiftShader, llvmpipe o Basic Render Driver: noActualiza el controlador desde el fabricante.¿Bloqueo obsoleto? Ignora la lista de GPU.Máquina virtual o escritorio remoto: usa el host.¿Tu navegador ofrece WebGPU aquí?Solo si WebGL 2 funciona pero WebGPU fallaActualiza el navegador y consulta la tabla.Firefox: solo Windows y Apple Silicon.Chrome en Linux: Intel Gen12+ y NVIDIA.Vuelve a ejecutar el comprobadorWebGL 2: Compatible; WebGPU: según la tabla
Avanza por la columna izquierda y detente ante el primer no. El orden importa: actualizar el controlador no sirve de nada mientras la aceleración esté desactivada, y la pregunta sobre WebGPU solo se aplica cuando WebGL 2 ya funciona, porque la ausencia de WebGPU en un equipo en buen estado suele deberse a la plataforma, no a un fallo.

Chrome y Edge ​

Chrome y Edge comparten el motor Chromium, así que todo lo explicado aquí se aplica a ambos. Sustituye chrome:// por edge:// cuando sea necesario.

El interruptor de aceleración por hardware ​

Abre Configuración y después Sistema, y asegúrate de que «Usar aceleración de gráficos cuando esté disponible» esté activado (en Edge se encuentra en Sistema y rendimiento). Reinicia el navegador, porque el ajuste solo se aplica después de volver a abrirlo. Está desactivado con sorprendente frecuencia, ya que muchos consejos para «solucionar el parpadeo de Chrome» recomiendan apagarlo. Después, abre chrome://gpu. Si WebGL y WebGL2 indican «Hardware accelerated», ya está resuelto. Si no, el navegador está rechazando tu GPU deliberadamente y el motivo aparece en «Problems Detected».

Windows ​

La causa habitual es un controlador obsoleto o genérico. Si el renderizador indica «Microsoft Basic Render Driver», Windows no tiene ningún controlador real para tu GPU y Chromium lo interpreta como «bloquearlo todo». Instala directamente el controlador de NVIDIA, AMD o Intel en lugar de esperar a Windows Update. En un portátil con dos GPU, Configuración de Windows, Sistema, Pantalla, Gráficos te permite asignar el navegador a la GPU de alto rendimiento. Un navegador que use el chip integrado puede superar el comprobador, pero funcionar con extrema lentitud en un juego exigente.

Windows en ARM (portátiles Snapdragon) es un caso especial para WebGPU: la wiki sobre el estado de la implementación indica que está disponible mediante chrome://flags/#enable-unsafe-webgpu o el modificador --enable-unsafe-webgpu. WebGL 2 funciona con normalidad.

macOS ​

Los Mac rara vez tienen este problema porque Apple distribuye el controlador junto con el sistema operativo. Si Chrome en un Mac informa de renderizado por software, sospecha del interruptor de aceleración, de una versión muy antigua de macOS o de una máquina virtual. Actualizar macOS equivale a actualizar el controlador.

Linux ​

Linux es donde WebGPU presenta más salvedades. Según la wiki, Chrome ofrece WebGPU de forma predeterminada en Linux para Intel Gen12 y posteriores desde Chrome 144, y para NVIDIA con el controlador 535.183.01 o posterior bajo Wayland desde Chrome 147. Todo lo demás (AMD, Intel anteriores y NVIDIA en X11) requiere la combinación de indicadores que especifica la wiki: --enable-unsafe-webgpu --ozone-platform=x11 --use-angle=vulkan --enable-features=Vulkan,VulkanFromANGLE. El despliegue ejecuta WebGPU sobre Vulkan mientras el resto del navegador continúa usando OpenGL, por lo que se habilita por familias de GPU.

Para WebGL 2 en Linux, la cuestión es si Mesa está usando tu GPU o el rasterizador por software llvmpipe. Si el renderizador indica llvmpipe, actualiza los controladores Mesa de tu GPU (o el controlador propietario de NVIDIA).

Ignorar la lista de bloqueo ​

chrome://flags/#ignore-gpu-blocklist («Override software rendering list») hace que Chrome utilice tu GPU incluso si está incluida en la lista de bloqueo. Es la opción adecuada cuando la lista rechaza tu GPU por error o cuando prefieres sufrir fallos gráficos ocasionales antes que quedarte sin WebGL. No es adecuada cuando el bloqueo existe porque el controlador provoca cierres inesperados, así que intenta actualizarlo primero.

Chrome en Android ​

WebGL 2 está disponible en Chrome para Android desde la versión 58, por lo que, en cualquier teléfono actual, un fallo de WebGL 2 suele deberse a un controlador de GPU bloqueado que en Android no se puede actualizar por separado. Busca una actualización del sistema y después prueba chrome://flags/#ignore-gpu-blocklist, que también existe en Android.

WebGPU llegó a Android en Chrome 121 para Android 12 o posterior con GPU ARM, Qualcomm o Intel, y en Chrome 139 para GPU Imagination con Android 16 o posterior. La wiki todavía indica que las GPU Xclipse de Samsung (teléfonos Galaxy con Exynos) siguen en desarrollo, así que un Galaxy Exynos completamente actualizado puede indicar que no dispone de WebGPU. No es un fallo por tu parte.

Firefox ​

Aceleración por hardware y anulación del bloqueo ​

Abre Ajustes, General, desplázate hasta Rendimiento, desmarca «Usar ajustes de rendimiento recomendados» y asegúrate de que «Usar aceleración de hardware cuando esté disponible» esté marcado. Reinicia Firefox. Después, consulta about:support, Gráficos: «Composición» debería indicar WebRender, y un bloqueo de WebGL aparecerá en el registro de fallos o de decisiones con el controlador o la función que se ha bloqueado.

La página de Mozilla sobre controladores gráficos bloqueados documenta las anulaciones. En about:config, establece webgl.force-enabled en true para ignorar un bloqueo de WebGL y layers.acceleration.force-enabled en true para ignorar un bloqueo de composición. En palabras de Mozilla: «hazlo bajo tu propia responsabilidad. Normalmente existen buenos motivos para bloquear las funciones». Actualiza primero el controlador.

WebGPU: qué Firefox y en qué sistema operativo ​

Firefox es donde «WebGPU no compatible» suele deberse simplemente a la plataforma. Según las notas de las versiones: Firefox 141 (22 de julio de 2025) activó WebGPU en Windows. Firefox 145 (11 de noviembre de 2025) añadió macOS 26 Tahoe en Apple Silicon. Firefox 147 amplió la compatibilidad a «dispositivos con procesadores Apple Silicon en todas las versiones compatibles de macOS». Los Mac con Intel, Linux y Android siguen fuera: la página de funciones experimentales de MDN indica que, para «otras plataformas, como Linux y macOS en Intel Silicon, está activado en Nightly», mientras que la wiki prevé Linux para 2026 y señala que Android requiere un indicador.

La preferencia es dom.webgpu.enabled en about:config. En una plataforma donde Firefox aún no lo ofrece oficialmente, cambiarla a true en la versión estable expone una implementación que Mozilla todavía no ha terminado para ese sistema operativo, así que pueden producirse cierres inesperados. Si hoy quieres WebGPU en Firefox para Linux, utiliza Nightly, donde está activado de forma predeterminada. Caniuse marca Firefox como «desactivado de forma predeterminada» porque registra los indicadores por navegador, no por sistema operativo; no dejes que esa página convenza a un usuario de Windows de que no dispone de WebGPU.

Safari ​

Safari no tiene ningún interruptor de aceleración ni una lista de bloqueo que puedas ignorar. La versión lo determina todo.

WebGL 2 requiere Safari 15 o posterior en macOS e iOS. La página de compatibilidad de Unity lo dice claramente: «Apple Safari no admite WebGL 2 en versiones anteriores a Safari 15». Un Mac limitado a una versión antigua de macOS no puede instalar una versión más reciente de Safari, por lo que la solución es actualizar macOS o instalar Chrome o Firefox, que ejecutan WebGL 2 en versiones anteriores de macOS.

WebGPU se incorporó en Safari 26.0 el 15 de septiembre de 2025 para macOS Tahoe, Sequoia y Sonoma, además de iOS 26, iPadOS 26 y visionOS 26, y está activado de forma predeterminada. La publicación sobre la versión de WebKit afirma que WebGPU «sustituye a WebGL en macOS, iOS, iPadOS y visionOS, y es la opción preferida para nuevos sitios y aplicaciones web». Si utilizas Safari 26 y WebGPU sigue fallando, comprueba que la página se sirva mediante HTTPS (WebGPU solo funciona en contextos seguros en todos los navegadores) y que no esté dentro de una vista web integrada.

En Safari 17 y 18, WebGPU está disponible mediante un indicador de función. En macOS, abre Ajustes de Safari, Avanzado, marca «Mostrar funciones para desarrolladores web» y aparecerá una pestaña de indicadores de funciones desde la que puedes activar WebGPU. En iOS 18, la ruta es Ajustes, Apps, Safari, Avanzado, Indicadores de funciones (en versiones anteriores de iOS: Ajustes, Safari, Avanzado). Es una implementación preliminar, adecuada para una demostración, pero no para publicar un juego que dependa de ella.

Sea cual sea el navegador que hayas corregido, vuelve a cargar el comprobador. Un resultado correcto tiene este aspecto.

Comprobador que muestra un aviso morado de que todo está listo, un triángulo con degradado renderizado a 60 FPS mediante WebGPU y tarjetas de Compatibilidad para WebGPU y WebGL 2
Esto es lo que deberías ver después de aplicar la solución: el triángulo se renderiza a 60 FPS, la línea de renderizado en tiempo real identifica WebGPU y tanto WebGPU como WebGL 2 aparecen como Compatibles. Es normal que WebGL 1 indique No aquí. El comprobador solicita primero WebGL 2 a un lienzo, y un lienzo solo puede contener un tipo de contexto, por lo que la comprobación del sistema antiguo devuelve un resultado vacío.

Portátiles de empresa, Chromebooks escolares, máquinas virtuales y escritorio remoto ​

Si los interruptores no aparecen o los cambios no se conservan, comprueba quién administra el dispositivo. Los navegadores administrados pueden tener la aceleración desactivada mediante una política. Tanto Chrome como Edge tienen una política HardwareAccelerationModeEnabled, y la documentación de Microsoft indica que, cuando está desactivada, el navegador «desactiva la aceleración gráfica». El interruptor de Configuración aparece atenuado o vuelve a su estado anterior, y chrome://policy muestra las políticas aplicadas. Desde Chromium 144 también existe EnableUnsafeSwiftShader, una política temporal que mantiene disponible la antigua alternativa por CPU en equipos sin GPU. Si administras un aula informática que acaba de perder el acceso a todos los sitios WebGL, esa política sirve como solución provisional mientras resuelves los problemas con los controladores.

Las máquinas virtuales presentan una GPU virtual que los navegadores rechazan. La lista de bloqueo de Chromium contiene entradas explícitas («No usar renderizado acelerado por GPU con VMware en Windows», «El controlador de VirtualBox es inestable en Linux», «Los controladores de Parallels anteriores a la versión 7 tienen errores») que desactivan todas las funciones aceleradas. Activa la aceleración 3D en la configuración de la máquina virtual con las herramientas de invitado actualizadas, o acepta que la máquina virtual sirve para probar la ruta sin GPU y juega en el equipo anfitrión.

El escritorio remoto es el mismo problema con otro aspecto. Una sesión RDP, un escritorio Citrix o Horizon, o un PC en la nube suele exponer un adaptador de pantalla básico, por lo que el navegador no detecta ninguna GPU utilizable. Ejecuta el navegador en el equipo local en lugar de hacerlo dentro de la sesión.

Los Chromebooks son el caso sencillo: ChromeOS incluye WebGPU desde Chrome 113, así que un fallo allí casi siempre se debe a una política o a un dispositivo que ya no recibe actualizaciones.

El error de Unity «does not support graphics API WebGL 2» ​

Este es el texto exacto que ven los jugadores:

Your browser does not support graphics API "WebGL 2" which is required for this content.

Procede del cargador web de Unity cuando la solicitud de contexto webgl2 devuelve null. La página de compatibilidad con navegadores de Unity indica que las compilaciones web necesitan un navegador «compatible con WebGL 2», con WebGL 2 como API gráfica predeterminada, por lo que el cargador no tiene ninguna alternativa a menos que el desarrollador haya añadido una.

Si eres jugador, estas son las causas por orden de probabilidad: la aceleración por hardware está desactivada, el controlador de la GPU está en la lista de bloqueo (y desde Chromium 144 SwiftShader ya no lo rescata), estás usando una máquina virtual o una sesión remota, o utilizas Safari 14 o una versión anterior. Si el comprobador confirma que WebGL 2 funciona, pero el juego sigue fallando, probablemente la página se encuentre en un marco incrustado o una vista web sin acceso a la GPU; abrir directamente la URL del juego debería solucionarlo.

Si eres desarrollador, la lista Graphics APIs de Player Settings, Web, Other Settings determina con qué frecuencia se encontrarán los jugadores con este problema. Con Auto Graphics API activado, Unity prueba primero WebGL 2, y los hilos de la comunidad señalan que aparece la misma advertencia cuando la alternativa WebGL 1 ha funcionado, pero WebGL 2 no, por lo que el mensaje por sí solo no indica si el juego llegó a ejecutarse. El espacio de color Linear obliga a usar únicamente WebGL 2. Añadir «WebGL 1 (Deprecated)» permite que los navegadores muy antiguos sigan ejecutando el juego a costa del posprocesado y de los formatos de textura, y aumenta el archivo de datos en aproximadamente 1,5 MB según la medición de un desarrollador. Unity 6 también permite añadir WebGPU, que todavía figura como experimental, y su guía de activación indica que Unity utiliza la primera API de la lista y recurre sucesivamente a las siguientes, por lo que el orden seguro es WebGPU y después WebGL 2. Elijas lo que elijas, sustituye el texto de error predeterminado de tu plantilla por algo que indique al jugador cómo actuar.

Del síntoma a la causa ​

Lienzo negro o vacío, sin errores. Se ha creado un contexto, pero la GPU no está dibujando. Las causas habituales son un contexto perdido justo después de crearlo, una GPU incapaz de procesar el shader o una extensión de privacidad que falsea los datos de WebGL. Prueba una ventana privada con las extensiones desactivadas y después revisa la consola en busca de «context lost» o errores de compilación de shaders.

«WebGL context lost» durante la partida. Las notas de MDN sobre la pérdida de contexto enumeran las causas: páginas que compiten por la GPU, un portátil que cambia entre la GPU integrada y la dedicada, el navegador que reinicia la GPU para interrumpir un bloqueo provocado por otra pestaña o un controlador que se actualiza en segundo plano. Cierra otras pestañas que hagan un uso intensivo de la GPU, conecta el portátil a la corriente para que deje de cambiar de GPU y vuelve a cargar la página. Si ocurre siempre, el juego está agotando la memoria de la GPU de tu dispositivo, lo cual es un error del juego y no un ajuste del navegador.

Se ejecuta a entre 1 y 5 fps. Renderizado por software. Comprueba si el renderizador muestra SwiftShader, llvmpipe o «Software» y después corrige la aceleración o los controladores. En un teléfono, una relación de píxeles del dispositivo de 3x implica dibujar nueve píxeles por cada píxel CSS; un juego que no limite su resolución se arrastrará, y eso corresponde solucionarlo al desarrollador.

WebGPU no aparece en un equipo donde WebGL 2 funciona. Consulta primero la tabla. Después comprueba la URL: navigator.gpu no está definido en páginas http:// sin cifrar. A continuación, busca una línea de WebGPU en Graphics Feature Status. En Chrome para Linux y Firefox fuera de Windows, la respuesta suele ser «todavía no está disponible en esta plataforma».

Para desarrolladores: detectar, usar alternativas e informar al jugador ​

Detecta ambas API antes de cargar nada pesado y haz que la ruta de error muestre un mensaje en lugar de una página en blanco. El patrón de MDN para WebGPU consiste en comprobar navigator.gpu y después llamar a requestAdapter(), que se resuelve como null cuando no hay ningún adaptador disponible. Para WebGL, getContext('webgl2') devuelve null si falla.

js
async function pickRenderer(canvas) {
  if (navigator.gpu) {
    const adapter = await navigator.gpu.requestAdapter()
    if (adapter) return { api: 'webgpu', adapter }
  }
  const gl2 = canvas.getContext('webgl2', { failIfMajorPerformanceCaveat: true })
  if (gl2) return { api: 'webgl2', gl: gl2 }
  const gl2soft = canvas.getContext('webgl2')
  if (gl2soft) return { api: 'webgl2', gl: gl2soft, software: true }
  return { api: null }
}

Hay dos detalles importantes. failIfMajorPerformanceCaveat: true hace que getContext falle en lugar de proporcionarte un contexto renderizado por software, de modo que puedas detectar «esto funcionará a 2 fps», advertir al jugador y decidir después si quieres aceptar de todos modos el contexto por software. Además, un lienzo admite exactamente un tipo de contexto, así que decide antes de crearlo o utiliza lienzos separados. requestAdapter() también acepta featureLevel: 'compatibility', un subconjunto restringido de WebGPU para hardware de la categoría OpenGL ES 3.1 y Direct3D 11.

Gestiona también la pérdida de contexto. Escucha webglcontextlost, llama a preventDefault() para que el navegador sepa que pretendes recuperarlo y reconstruye los recursos de la GPU en webglcontextrestored. Los juegos que omiten este proceso muestran el síntoma de «lienzo negro sin errores» cada vez que un portátil cambia de GPU.

js
canvas.addEventListener('webglcontextlost', (e) => {
  e.preventDefault()
  pauseGame()
})
canvas.addEventListener('webglcontextrestored', () => {
  recreateGpuResources()
  resumeGame()
})

Dile al jugador algo útil. «WebGL 2 no es compatible» no ofrece ninguna salida a un niño de doce años que usa un Chromebook del colegio. Un mensaje mejor indica lo que has detectado (navegador, sistema operativo, si WebGL 1 ha funcionado y si el renderizador parecía funcionar por software), ofrece la solución de una línea para su navegador y enlaza a una página como esta o al comprobador para que pueda confirmar que la solución ha funcionado. Registra el mismo resultado en las analíticas, porque el porcentaje de jugadores a los que les falla WebGL 2 te permite saber si merece la pena crear una alternativa más ligera.

Los motores se encargan de la mayor parte de esto. El renderizador WebGPU de Three.js, Babylon.js y PlayCanvas recurren automáticamente a WebGL 2, y la guía de tecnologías para juegos web explica qué hace cada una. Si trabajas directamente con las API, los tutoriales de introducción a WebGPU y fundamentos de WebGL comienzan ambos con un bloque de detección funcional.

Preguntas frecuentes ​

¿Cómo compruebo si WebGPU está activado en mi navegador? ​

Abre el comprobador de WebGL y WebGPU, que indica si WebGPU es compatible y muestra el fabricante y la arquitectura del adaptador. En Chrome o Edge, chrome://gpu muestra WebGPU en Graphics Feature Status, y en la consola navigator.gpu es undefined cuando la API no está expuesta. Solo funciona en páginas HTTPS.

¿Cómo activo WebGL en Chrome? ​

Ve a Configuración, Sistema, activa «Usar aceleración gráfica cuando esté disponible» y reinicia Chrome. Después abre chrome://gpu y confirma que WebGL y WebGL2 aparecen como «Hardware accelerated». Si no es así, actualiza el controlador de la GPU y, como último recurso, activa chrome://flags/#ignore-gpu-blocklist.

¿Cómo activo WebGPU en Firefox? ​

En Windows está activado de forma predeterminada desde Firefox 141, y en los Mac con Apple Silicon desde Firefox 145 (macOS 26) y 147 (todas las versiones compatibles de macOS). En Linux, los Mac con Intel y Android todavía no se ha publicado: la preferencia dom.webgpu.enabled de about:config expone la compilación sin terminar, y Firefox Nightly la activa de forma predeterminada, así que usa Nightly si la necesitas hoy en esas plataformas.

¿Safari es compatible con WebGPU? ​

Sí, desde Safari 26.0 (15 de septiembre de 2025) en macOS Tahoe, Sequoia y Sonoma, iOS 26, iPadOS 26 y visionOS 26, y está activado de forma predeterminada. Safari 17 y 18 lo incluían detrás de una opción experimental en Configuración, Avanzado, «Mostrar funciones para desarrolladores web». WebGL 2 requiere Safari 15 o una versión posterior.

¿Por qué WebGL aparece bloqueado o usa renderizado por software cuando la aceleración por hardware está activada? ​

Tu GPU o su controlador está en la lista de bloqueo del navegador, por lo que este se niega a utilizarlo incluso con la aceleración activada. La entrada correspondiente aparece en «Problems Detected» dentro de chrome://gpu o en la sección de gráficos de about:support en Firefox. Actualiza el controlador desde el sitio del fabricante de la GPU y, si el bloqueo está obsoleto, ignóralo mediante chrome://flags/#ignore-gpu-blocklist o webgl.force-enabled en Firefox.

¿Por qué mi juego WebGL de Unity no funciona en el navegador? ​

Si la página muestra «Your browser does not support graphics API WebGL 2», el navegador no ha podido crear un contexto WebGL 2. Activa la aceleración por hardware, actualiza el controlador de la GPU, asegúrate de no estar usando una máquina virtual ni una sesión de escritorio remoto y, en Safari, actualiza a la versión 15 o posterior. Si el comprobador indica que WebGL 2 funciona, pero el juego sigue fallando, abre directamente la URL del juego en lugar de usarlo dentro de un marco incrustado.

¿WebGL 2 funciona en Chrome para Android? ​

Sí, desde Chrome 58, por lo que funciona en cualquier teléfono actual salvo que el controlador de la GPU esté en la lista de bloqueo. Puedes solucionarlo mediante una actualización del sistema o chrome://flags/#ignore-gpu-blocklist. WebGPU es independiente: requiere Chrome 121 o posterior en Android 12 o posterior con GPU ARM, Qualcomm o Intel; Chrome 139 o posterior para GPU Imagination en Android 16 o posterior; y la compatibilidad con las GPU Samsung Xclipse todavía está en desarrollo.

Contenido relacionado ​