Shaders CRT en tu máquina arcade: cómo hacer que el monitor parezca el de una recreativa

Super Mario World partido en dos: a la izquierda sin shader y a la derecha con las líneas de barrido de un shader CRT

Un monitor plano enseña los píxeles de un juego de los ochenta o los noventa tal cual: cuadrados, nítidos y con los bordes duros. En el tubo de un salón recreativo se veían de otra forma, con líneas de barrido, los colores algo fundidos y el cristal curvado. Un shader CRT es un filtro que imita esa pantalla, y en Batocera y RetroBat se activa desde el menú.

En esta guía te contamos qué es un shader, qué conjuntos traen Batocera y RetroBat, cuáles van en una Raspberry Pi y cuáles necesitan un PC, y qué otros ajustes conviene tocar. Los datos salen de la documentación de cada proyecto, consultada el 3 de noviembre de 2026.

La misma pantalla de un juego de Mega Drive sin shader, con el conjunto Scanlines y con el conjunto Enhanced de Batocera
De izquierda a derecha: sin shader, con el conjunto Scanlines y con Enhanced, en un juego de Mega Drive. Imagen: wiki de Batocera.

Qué es un shader

Un shader es un pequeño programa que retoca la imagen del juego antes de mandarla a la pantalla. La documentación de libretro los describe como filtros gráficos que pueden mejorar la imagen de los juegos antiguos o reproducir el aspecto de un monitor CRT. Se pueden encadenar varios, y esa combinación se guarda como un preset (archivos .slangp o .glslp). RetroArch trae muchísimos.

Hay un límite que conviene saber desde el principio: estos shaders solo funcionan con los núcleos de RetroArch y con unos pocos emuladores independientes. La wiki de Batocera avisa de que la mayoría de los independientes, como Dolphin, Cemu o RPCS3, no los usan, y que eso no va a cambiar. Para la emulación arcade no suele ser un problema, porque FBNeo y MAME tienen núcleo de RetroArch.

Los conjuntos de Batocera

Batocera agrupa los shaders en conjuntos que se eligen en los ajustes de juego, en la opción de conjunto de shaders (SHADER SET si lo tienes en inglés). Se puede poner uno para todo o uno distinto para cada sistema o cada juego. Estos son los que trae:

  • Scanlines: según la wiki, el más realista para el aspecto de los ochenta y noventa. Añade líneas de barrido, sin curvatura. En un PC usa el shader crt-easymode; en una Raspberry Pi, crt-pi.
  • Curvature: líneas de barrido y la pantalla curvada de los televisores de tubo. En un PC usa crt-lottes-fast; en una Raspberry Pi, fakelottes.
  • Zfast: una versión del algoritmo zfast, con líneas de barrido más suaves. La wiki lo da como más ligero que los demás.
  • Flatten-glow: hace que las luces brillen. La wiki dice que queda muy bien en la Vectrex y en recreativas antiguas con fondo negro, y que en juegos muy coloridos puede marear.
  • Enhanced y sharp-bilinear-simple: no imitan un CRT. El primero suaviza la imagen y el segundo es un filtro bilineal más nítido.
  • Mega-Bezel y Koko-AIO: paquetes opcionales que se bajan desde el descargador de contenido de Batocera. Ponen la imagen dentro de un televisor antiguo, con marco y reflejos. Los dos piden la API gráfica GLCore o Vulkan y la relación de aspecto en «Full».

Que cada conjunto use un shader distinto en PC y en Raspberry Pi no lo eliges tú: Batocera instala la versión ligera en todas las Raspberry Pi, de la Pi 0 a la Pi 5, según la configuración de su repositorio.

Detalle de Super Mario World sin shader, con el conjunto Scanlines y con el conjunto Zfast de Batocera
El mismo detalle sin shader, con Scanlines y con Zfast, de izquierda a derecha. Imagen: wiki de Batocera.

Si quieres otro shader de RetroArch

Pon el conjunto en «None» y elige el shader desde el menú rápido de RetroArch, en el apartado de shaders. La wiki de Batocera explica que, con el conjunto en «None», Batocera no toca lo que guardes allí. Desde ese menú se puede guardar el preset para un juego, para un núcleo o para todo.

En RetroBat

RetroBat funciona igual: el conjunto de shaders se elige en GAME SETTINGS (Shader set), y también por sistema o por juego en sus opciones avanzadas. Trae su propia lista y su wiki explica cómo añadir cualquier otro shader de RetroArch, creando una carpeta en systemshadersconfigs con un archivo rendering-defaults.yml. El paquete Mega Bezel también está disponible, y se activa desde la misma opción. Para algunos emuladores independientes, RetroBat usa ReShade para poner shaders y marcos.

Si estás empezando con RetroBat, lo tienes todo en nuestra guía de RetroBat.

¿Raspberry Pi o PC?

Los shaders consumen gráfica, y la wiki de Batocera los cita entre lo que ralentiza los juegos en equipos justos. Esto es lo que dicen sus autores:

  • crt-pi se diseñó para la gráfica de la Raspberry Pi, para ir a 1080p y 60 imágenes por segundo con juegos en 4:3. Su autor avisa de que la curvatura lo ralentiza mucho y de que la Pi va justa, así que recomienda subirle la velocidad al máximo desde raspi-config.
  • zfast, según su autor, va a 60 imágenes por segundo en una Raspberry Pi 3 a 1920×1080.
  • Mega-Bezel es muy exigente: la wiki de Batocera lo deja para PC de sobremesa potentes. Koko-AIO pide bastante menos: según la misma wiki, va a velocidad completa incluso con un procesador Intel N100, el de muchos mini PC.

Si vas a montar un mini PC en tu máquina, en ¿Qué PC necesito para emular? tienes qué pide cada sistema. Y si tu máquina lleva una placa Pandora, esto no se aplica: es un sistema cerrado, con sus juegos y su menú, y no carga shaders de RetroArch. Las diferencias entre las tres opciones están en ¿Qué sistema para máquina arcade elegir?.

Super Mario World dentro de un televisor antiguo con marco y reflejos, con el conjunto Koko-AIO de Batocera
El conjunto Koko-AIO, con el marco del televisor y los reflejos. Imagen: wiki de Batocera.

Tres ajustes que van con el shader

  • Relación de aspecto. La mayoría de los televisores y monitores de los ochenta y noventa eran 4:3. En un monitor 16:9 quedan dos franjas a los lados, que Batocera y RetroBat pueden llenar con decoraciones (bezels). RetroBat trae incluso algunas para recreativas verticales.
  • Escalado entero (pixel perfect). Agranda la imagen solo por múltiplos enteros, para que los píxeles no se deformen. A cambio, puede dejar un borde negro alrededor del juego. Está en los ajustes de juego de Batocera y de RetroBat.
  • Suavizado (smooth games). No hace falta quitarlo a mano: Batocera lo desactiva solo cuando usas un conjunto de shaders.
Infografía con el shader CRT que conviene usar en una máquina arcade según lleve Raspberry Pi, mini PC o PC potente
Qué shader usar según el hardware de tu máquina.

En tu bartop

En un mueble con monitor plano, un shader acerca mucho la imagen a la de una recreativa de salón. Si todavía no tienes la máquina, el megapack del King con interfaces USB trae los mandos con interfaces USB para conectarlos a tu Raspberry Pi o a tu PC, y el kit del King con pedestal curvo y puerta es el mueble de la foto de abajo, con nuestros vinilos de Pang.

Bartop King con pedestal de un cliente, con los vinilos de Pang y el juego en pantalla
El King de un cliente, con nuestros vinilos de Pang y el juego en pantalla.

Preguntas frecuentes

¿Qué shader pongo para empezar?

El conjunto Scanlines. Batocera ya usa la versión adecuada para tu hardware, y si te parece demasiado, prueba Zfast.

¿Funciona en una Raspberry Pi?

Sí. Scanlines y Curvature cambian solos a shaders ligeros, y Zfast ya lo es. Mega-Bezel, no.

¿Sirve para todos los emuladores?

No. Solo para los núcleos de RetroArch y unos pocos emuladores independientes.

¿Afecta al rendimiento?

Sí. Si un juego va lento, elige un conjunto más ligero o quítalo.

Fuentes

Consultadas en noviembre de 2026:

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *