feat(mirada): zwp_linux_dmabuf — clientes que pintan por GPU
Fase 1 del plan «shell»: para que carmen pueda hospedar a `shuma-shell` (y a cualquier app GPUI o navegador acelerado) hace falta que los clientes con GPU puedan compartir su búfer de vídeo. carmen sólo hablaba `wl_shm` (búferes de software) — por eso `foot` corría pero las apps GPUI salían en negro. - `App` lleva un `DmabufState`; `impl DmabufHandler` con `dmabuf_imported` que acepta el búfer (el `GlesRenderer` ya importa DMA-BUF al componer, vía `ImportAll`, así que la validación real ocurre al pintar). - `delegate_dmabuf!(App)`. - `announce_dmabuf` crea el global con los formatos de `dmabuf_formats()` del renderer — se llama en ambos backends una vez creado el renderer. Pendiente del plan: Fase 2 (`wlr-layer-shell`) y Fase 3 (modo launcher de `shuma-shell` — barra + input + cajón de resultados). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -193,10 +193,13 @@ manual) y `mirada-ctl` (CLI, probado vía el ejemplo `headless-ctl`).
|
||||
|
||||
El **Cuerpo** ya existe: `mirada-compositor` es un compositor Wayland
|
||||
teselante real sobre `smithay`. Habla `wl_compositor`/`xdg_shell`/
|
||||
`wl_shm`/`wl_seat`/`wl_output`/`wl_data_device`/`xdg-decoration`, compone
|
||||
las superficies de los clientes con `GlesRenderer` y aplica la geometría
|
||||
del Cerebro. Fuerza decoración `ServerSide` y no dibuja ninguna: las
|
||||
ventanas teseladas van sin marco (nada de barras de título de cliente).
|
||||
`wl_shm`/`wl_seat`/`wl_output`/`wl_data_device`/`xdg-decoration`/
|
||||
`zwp_linux_dmabuf`, compone las superficies de los clientes con
|
||||
`GlesRenderer` y aplica la geometría del Cerebro. Fuerza decoración
|
||||
`ServerSide` y no dibuja ninguna: las ventanas teseladas van sin marco
|
||||
(nada de barras de título de cliente). Con `zwp_linux_dmabuf` los
|
||||
clientes que pintan por GPU (apps GPUI, navegadores acelerados) pueden
|
||||
conectarse — el `GlesRenderer` importa sus búferes DMA-BUF al componer.
|
||||
Reusa `mirada-body` (contabilidad) y `mirada-link` (cable). Dos modos de
|
||||
Cerebro: **autónomo** (`Desktop` embebido) o **enlazado** (`MIRADA_SOCKET`
|
||||
→ la app `mirada`).
|
||||
|
||||
Reference in New Issue
Block a user