jueves, 22 de enero de 2026

Arquitectura gráfica de Linux: X11 vs Wayland

Si usas Linux (KDE, GNOME, Manjaro, Arch) y algo se rompe al compartir pantalla, usar VNC o grabar, este artículo es para ti.

Contexto

Uso Manjaro Linux con KDE desde hace tiempo y, como cualquier usuario, hice una actualización normal del sistema.
El problema vino después: KDE cambió automáticamente de X11 a Wayland.

Esto fue un cambio grande para mí porque uso x11vnc para compartir mi pantalla de forma muy específica y personalizada, algo clave en mi día a día como desarrollador.

Este es el comando que uso habitualmente:

x11vnc -clip 960x1080+1440+0 -cursor most -pointer_mode 1 -nocursorshape -noxfixes -scale_cursor 3

Con X11 funciona perfecto.
Con Wayland, simplemente deja de funcionar.

No es un error del comando ni de x11vnc.
Es un cambio profundo en cómo Linux maneja el sistema gráfico.

Y aquí es donde empieza la confusión para muchos usuarios.


¿Qué problema resuelven X11 y Wayland?

Una app no sabe:

  • dibujar ventanas
  • leer teclado o mouse
  • usar la GPU
  • convivir con otras apps

Necesita un sistema gráfico.
En Linux hay dos:

  • X11 (Xorg)
  • Wayland

X11: cómo funciona realmente

X11 es: - un protocolo - un servidor gráfico (Xorg) - un modelo centralizado

Flujo técnico

[ App ]
   |
   | X11 protocol
   v
[ Xorg (X Server) ]
   |
   | DRM / GPU
   v
[ Monitor ]

Qué hace Xorg

  • Controla ventanas
  • Gestiona input
  • Dibuja píxeles
  • Mantiene un framebuffer global

Todo el escritorio vive en el mismo espacio de memoria.


Window Manager en X11

Ejemplos:

  • KWin
  • i3
  • Openbox

En X11:

  • el window manager es solo otra app
  • no es dueño del sistema gráfico

Eso explica por qué:

  • cualquier app puede espiar
  • VNC funciona perfecto
  • automatización es trivial

Por qué X11 permite VNC y hacks

  • Existe framebuffer global
  • Cualquier proceso puede leerlo

Funciona sin permisos especiales:

  • x11vnc
  • OBS
  • ffmpeg
  • scrot
  • xdotool

Seguridad baja.
Control total.


Wayland: el cambio de modelo

Wayland elimina el servidor gráfico clásico. No existe Xorg.

El compositor lo controla todo. Ejemplos:

  • KWin (KDE Wayland)
  • Mutter (GNOME)
  • Weston

Flujo técnico en Wayland

[ App ]
   |
   | Wayland protocol
   v
[ Compositor ]
   |
   | DRM / GPU
   v
[ Monitor ]

Diferencias clave:

  • No hay framebuffer global
  • Cada app dibuja su propio buffer
  • El compositor decide qué se muestra

Dibujo de ventanas (nivel técnico)

En X11

  • La app pide a Xorg que dibuje
  • Xorg escribe píxeles

En Wayland

  • La app renderiza (OpenGL/Vulkan)
  • Entrega un buffer
  • El compositor lo presenta

Resultado: - Menos latencia - Mejor rendimiento - Más control central


Input (teclado y mouse)

X11

  • Cualquier app puede leer input global
  • Keyloggers posibles

Wayland

  • Solo el compositor recibe input del kernel
  • Las apps reciben solo lo que les corresponde

Resultado: - Seguridad real - Automatización limitada


Por qué x11vnc NO funciona en Wayland

  • No existe framebuffer global
  • El compositor bloquea acceso

Captura solo vía: - PipeWire - xdg-desktop-portal - APIs oficiales

Por diseño.
No es bug.


XWayland: el parche

Para compatibilidad:

[ App X11 ]
   |
[ XWayland ]
   |
[ Wayland Compositor ]

Limitaciones: - Solo ve apps X11 - No ve todo el escritorio - VNC incompleto


Conclusión clara

  • Wayland es el futuro (moderno, seguro, restrictivo)
  • X11 sigue siendo la herramienta del power user. (viejo, poderoso, sin limites)

Referencias:

  1. What is x11
  2. X11 wayland support

💬👨‍💻🐧¿Quieres aprender Linux de verdad?

Si estás aprendiendo Linux por tu cuenta o ya usas Manjaro, puedo ayudarte a:

  • entender el sistema desde dentro
  • evitar errores comunes
  • avanzar más rápido sin perder tiempo

👉 Puedes seguir aprendiendo gratis en el blog
👉 O escribirme directo para una asesoría personalizada

Escríbeme por WhatsApp

No hay comentarios:

Publicar un comentario