pre-alfa · linux · no es para el día a día
Un navegador web experimental en Rust.
Servo renderiza la página. Una porción vendorizada del GPUI de Zed dibuja todo lo que la rodea. Entre ambos, un puente zero-copy que entrega un frame de un contexto GPU al otro sin pasar nunca por la CPU.
dónde está
Qué funciona y qué no
Lea esto antes que cualquier otra cosa de la página. rumb está en una fase lo bastante temprana como para que la segunda columna sea la mitad honesta.
- Las páginas se renderizan con Servo, un WebView por pestaña
- Pestañas, grupos de pestañas con colores personalizados y fijado
- Arrastrar para reordenar pestañas y grupos enteros
- Barra de pestañas en cualquiera de los cuatro bordes de la ventana
- Descarte de pestañas — una pestaña dormida suelta su WebView
- Barra de URL con atrás, adelante y recarga
- Ratón, scroll y teclado reenviados a la página
- Cambios de cursor nativos al pasar por encima
- Pantalla completa
- Títulos de página y favicons
- Un panel de DevTools que gobierna el propio servidor DevTools de Servo
- Ajustes persistidos en $XDG_CONFIG_HOME/rumb/settings.json
- Una página de inicio rumb://
- La cobertura de sitios es exactamente la de Servo — GitHub, Discord y la mayor parte del CSS moderno se rompen
- El redimensionado dinámico está bloqueado por un bug de surfman/Servo
- Sin IME
- Sin marcadores, sin historial persistente
- Sin aislamiento de sitios — Servo se ejecuta en el mismo proceso para las aplicaciones que lo embeben
- Solo Linux
estado a fecha de 2026-08-06
cómo está construido
Dos motores, un frame
Servo no dibuja en la ventana. Un parche de nuestro fork le da un contexto de render offscreen construido a partir del handle de display del host, de modo que pinta en su propio framebuffer mientras GPUI conserva la propiedad del drawable que el compositor ve realmente.
Cada frame que Servo da por listo se exporta como un handle dma-buf — un descriptor de fichero de la memoria de la GPU, más un fence que indica cuándo se han completado las escrituras. El backend wgpu de GPUI importa ese handle como textura a través del HAL de Vulkan y lo dibuja como cualquier otro sprite.
La primera versión no hacía nada de eso. Leía el framebuffer de vuelta a la CPU, intercambiaba rojo y azul y subía el resultado como imagen en cada uno de los frames. Funcionaba, y tenía la forma equivocada: un viaje de ida y vuelta completo por la memoria del sistema para unos píxeles que nunca salían de la tarjeta.
Nada de esto es secreto. El diseño vive en la documentación de tramuntana, en abierto, porque Servo y Stylo son MPL-2.0 y nuestros parches tocan sus ficheros. El shell — las pestañas, el chrome, el puente del compositor de nuestro lado — es propietario.
los vientos
Cuatro puntos, tres forks
«Rumb» es el término náutico catalán para el rumbo de la brújula. Cada fork lleva el nombre de un viento, y la rosa es el mapa: lo que existe, lo que se está probando y lo que se ha apartado.
norte
tramuntana
activoNuestro fork de Servo. Lleva el contexto de render offscreen, el fallback de WebGL para NVIDIA/EGL y la exportación dma-buf.
sur
migjorn
experimentalUna rama experimental de Servo. Donde van los cambios antes de que nadie dependa de ellos.
este
llevant
sin asignarSin asignar. La rosa tiene cuatro puntos y nosotros tenemos tres forks; este se queda vacío en lugar de rellenarlo por simetría.
oeste
ponent
retiradoRetirado. Se mantiene en el mapa porque un fork que se probó y se apartó forma parte del registro.
seguir
Dónde ocurre el trabajo
tramuntana
Nuestro fork de Servo
Tres parches sobre upstream: un contexto de render offscreen, un fallback de adaptador hardware para WebGL en NVIDIA con EGL, y la exportación dma-buf. MPL-2.0, público.
stylo
Nuestro fork de Stylo
El motor CSS. Un espejo limpio de upstream, sin parches nuestros, que tramuntana consume como dependencia por path. MPL-2.0, público.
bugs
En qué tracker
Todo lo relativo a cómo se parsea, se maqueta, se estiliza o se ejecuta el script de una página es un bug de Servo — repórtelo en upstream. La prueba rápida: cargue la misma URL en Servo por su cuenta. Si se ve igual, no es cosa de rumb.