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>
35 lines
1.5 KiB
Diff
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;
|
|
|