Files
hammer/recipes/incoming/armv7-exynos4.patch
T
sergioandClaude Opus 4.8 00339b625e Etapa G: cola del stack gráfico Mesa (iris) para el escritorio tawasuyu
Importa de Alpine aports (con parches musl) las recetas del stack que el greeter
real de mirada necesita en el rootfs de producto: libdrm 2.4.134, wayland 1.25.0,
wayland-protocols 1.48, seatd, mesa 26.1.1, + build-tools meson 1.11.1 y samurai
(ninja). Quedan en recipes/incoming/ como puntos de partida: traen los parches
musl de Alpine pero usan helpers de abuild — falta adaptarlas a fases hammer
(meson/samurai directos, link=dynamic), como elfutils.

docs/14-mesa-stack.md fija el plan: iris-only ⇒ SIN LLVM/Vulkan/X11 (el driver
gallium iris no necesita LLVM), lo que recorta clang/llvm/libclc/spirv/bindgen.
DAG de build (hojas→raíz) + estado por receta + el lado tawasuyu (recetas Cargo
arje-splash/net-bring-up estáticas ya construibles; mirada-greeter dinámico,
bloqueado por mesa). Contraparte de la seed arje-tawasuyu del monorepo.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 23:41:34 -04:00

35 lines
1.5 KiB
Diff

diff --git a/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c b/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c
index b97c526aeddfd94b28e322c2a7a8064d766c8e23..a0d551fb51e080f3ae487bdabdfa4c34b00fbbad 100644
--- a/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c
+++ b/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c
@@ -150,6 +150,12 @@ pipe_loader_drm_probe_fd_nodup(struct pipe_loader_device **dev, int fd, bool zin
ddev->base.driver_name = strdup("radeonsi");
}
+ /* powervr has no Gallium driver and relies on Zink */
+ if (strcmp(ddev->base.driver_name, "powervr") == 0) {
+ FREE(ddev->base.driver_name);
+ ddev->base.driver_name = strdup("zink");
+ }
+
if (strcmp(ddev->base.driver_name, "virtio_gpu") == 0) {
struct virgl_renderer_capset_drm caps;
if (get_nctx_caps(fd, &caps) == 0) {
@@ -172,14 +178,10 @@ pipe_loader_drm_probe_fd_nodup(struct pipe_loader_device **dev, int fd, bool zin
if (strcmp(ddev->base.driver_name, "vgem") == 0)
goto fail;
- /* kmsro supports lots of drivers, try as a fallback for primary nodes */
- if (!ddev->dd && !zink && drmGetNodeTypeFromFd(fd) == DRM_NODE_PRIMARY)
+ /* kmsro supports lots of drivers, try as a fallback */
+ if (!ddev->dd && !zink)
ddev->dd = get_driver_descriptor("kmsro");
- /* Try zink for unknown render nodes */
- if (!ddev->dd && drmGetNodeTypeFromFd(fd) == DRM_NODE_RENDER)
- ddev->dd = get_driver_descriptor("zink");
-
if (!ddev->dd)
goto fail;