En desarrollo · etapa 1 de 6 completada

Más pantallas. Solo viaja lo que cambia.

Vitral convierte tablets, teléfonos, laptops y placas como Raspberry Pi en monitores adicionales para Linux. En lugar de enviar una foto plana del escritorio, lo envía por capas.

cargo run -r --bin vitral-bench
Probar la demo
94 %
menos datos al hacer scroll
>99 %
menos datos al mover ventanas
60 fps
sostenidos por red local
~3 ms
de ida y vuelta
0
líneas de código inseguro

Capas en el emisor.
Memoria en el receptor.

El emisor describe la pantalla y el receptor la recuerda. Entre los dos solo viaja la diferencia.

01Demo interactiva

Arrastra la ventana.

Compara cuántos datos enviaría una pantalla plana y cuántos envía Vitral por la misma acción.

1920 × 1080 · 60 fps

Arrastra la ventana con el ratón o el dedo

Pantalla plana 0 B por cuadro 0 B acumulado
Vitral 0 B por cuadro 0 B acumulado
—

Vitral envía solo la nueva posición de la ventana: unos 43 bytes por cuadro.

Arrastrar: estimación con la compresión medida en el benchmark. Scroll, escribir y video: resultados medidos a 1920×1080.

02Receptores

Lo que ya tienes, como monitor.

Receptor de escritorio para Linux, Windows y macOS, por red.

03Para desarrolladores

Una API pequeña. Sin magia.

El motor recibe el estado de cada superficie y decide qué enviar. El receptor solo aplica mensajes. Todo verificable con un comando.

emisor.rs
// One layer per surface. Only changes leave the machine.
let mut engine = Engine::new(EngineConfig::default());
engine.add_output(0, 1920, 1080, 60_000)?;
engine.create_layer(WINDOW, 0, 864, 648)?;

// Every frame: report state, the engine diffs it.
engine.update_layer(WINDOW, rect, &pixels)?;
engine.place_layer(WINDOW, placement)?;
engine.move_cursor(0, cx, cy, true)?;

for msg in engine.commit(0, now_us)? {
    link.send(&msg)?;
}
terminal
$ cargo run --release --bin vitral-bench

scenario      layered KB/f   flat KB/f   saving   verified
idle                   0.0         0.0       0%      61/61
typing                 6.9         6.9       0%      61/61
scrolling             10.4       176.0      94%      61/61
window drag            0.1       213.7     100%      61/61
video                932.2       932.2       0%      61/61

verified: frames reproduced pixel for pixel.
04Cómo funciona

Describe cada pantalla como capas y envía solo lo que cambia.

  1. 01

    Capas

    El emisor describe cada pantalla como una pila de capas: fondo, ventanas, video y cursor.

  2. 02

    Caché

    El receptor guarda cada capa. Lo que ya tiene nunca vuelve a viajar.

  3. 03

    Solo cambios

    Se envía la zona exacta que cambió, comprimida sin pérdidas. Mover y desplazar cuesta bytes.

  4. 04

    Cuadros atómicos

    La imagen se arma solo al confirmar el cuadro. Nunca se ve a medias. El cursor va siempre primero.

05Hoja de ruta

Seis etapas, cada una medida.

  1. 01 Completada

    Núcleo del protocolo

    Especificación v0, motor, receptor, benchmark y pruebas.

  2. 02 Siguiente

    Aplicaciones reales

    Compositor Wayland anidado: cada ventana real es una capa.

  3. 03 Planeada

    Receptor Android

    App con composición por hardware, USB, táctil y lápiz.

  4. 04 Planeada

    Placas por USB

    Receptor para Raspberry Pi con salida directa a HDMI.

  5. 05 Planeada

    Driver de Linux

    Las pantallas de Vitral aparecen como monitores reales.

  6. 06 Planeada

    Capas de video

    Codificación por hardware y video original sin recomprimir.

06Código abierto

Abierto por diseño.

Vitral usa una licencia distinta para cada parte, según su función.

ComponenteLicenciaPara qué
Especificación y documentaciónCC-BY-4.0Cualquiera puede implementar el protocolo.
Librerías del protocolo y del receptorMIT o Apache-2.0Otros proyectos y dispositivos pueden integrarlas libremente.
Motor y aplicacionesGPL-3.0Las mejoras a las aplicaciones siguen siendo abiertas.
Driver del kernelGPL-2.0Requisito para formar parte de Linux.

Licencias comerciales disponibles para fabricantes y empresas.

Diseño independiente: ninguna parte procede de drivers, firmware ni documentación propietaria.

07Por qué

Las pantallas extra merecen algo mejor.

Durante años, añadir un monitor por USB en Linux ha dependido de software cerrado que se rompe con cada actualización. Vitral parte de otra idea: un protocolo abierto, documentado y medido, que cualquiera puede implementar en el dispositivo que ya tiene. Sin cajas negras. Sin depender de nadie.

08Preguntas

Preguntas frecuentes.

¿Ya puedo usar mi tablet como monitor?

Todavía no. El núcleo del protocolo está terminado y medido; la app para Android llega en la etapa 3.

¿Necesito una tarjeta gráfica?

No. Vitral funciona solo con el procesador y aprovechará la GPU cuando exista.

¿Funciona con Windows o macOS?

El receptor de escritorio ya funciona en los tres sistemas. El emisor empieza en Linux.

¿Es gratis?

Sí. Vitral es código abierto. Las empresas que lo necesiten pueden obtener licencias comerciales.

09Contacto

Construyamos más pantallas.

Colaboraciones, fabricantes, licencias o simplemente curiosidad.