[Mesa-dev] vulkan/wsi/wayland: Add support for zwp_dmabuf

Daniel Stone daniel at fooishbar.org
Thu Feb 22 09:49:35 UTC 2018

Hi Dieter,

2018-02-22 0:57 GMT+00:00 Dieter Nützel <Dieter at nuetzel-hh.de>:
> Making all in vulkan
> make[3]: Verzeichnis „/opt/mesa/src/vulkan“ wird betreten
> make[3]: *** Keine Regel vorhanden, um das Ziel
> „/unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml“,
>   benötigt von „wsi/linux-dmabuf-unstable-v1-protocol.c“, zu erstellen.
> Schluss.
> make[3]: Verzeichnis „/opt/mesa/src/vulkan“ wird verlassen
> make[2]: *** [Makefile:862: all-recursive] Fehler 1
> make[2]: Verzeichnis „/opt/mesa/src“ wird verlassen
> make[1]: *** [Makefile:653: all] Fehler 2
> make[1]: Verzeichnis „/opt/mesa/src“ wird verlassen
> make: *** [Makefile:666: all-recursive] Fehler 1
> I do not have (do not know of) any wayland stuff running, here.

Thanks for reporting this, and sorry for the brekage. I did test with
a no-Wayland autotool before pushing, but that succeeded for me. To
fix the build, you can either use Meson or just install
wayland-protocols on your system: no need to enable the Wayland build
in Mesa or use it at all, just have it available in $PKG_CONFIG_PATH.
(It's just a pile of XML, no need to compile anything.)

Emil, you said in an earlier discussion[0] that you'd 'rather deal
with issues as they appear': here's one! Vulkan's Wayland WSI now
depends on generating linux-dmabuf protocol. It's unconditionally in
BUILT_SOURCES, I guess to ensure proper ordering. When
wayland-protocols isn't available on the system, the build fails due
to BUILT_SOURCES depending on WL_DMABUF_XML, which does not exist.
wayland-drm was already in BUILT_SOURCES, but that doesn't seem to
cause any issues as the dependent files are there in tree. autotools
seems to want the dependencies of the target there, but doesn't care
about the target itself? Even if you pass
--with-platforms=x11,drm,surfaceless at build, it still succeeds
because the $(WAYLAND_PROTOCOLS_DATADIR) substitution is done
unconditionally at top-level, even if you've requested to not build
the Wayland platform.

FWIW, having forgotten about that patch, I actually typed up what
turned out to be a straight revert of it, to try to eliminate the
inconsistency and make it possible to check this when doing local
builds. To be honest, I still have no idea why we dist the generated
files; as I said at the time, I'd prefer to either have them generated
at build (requires wayland-scanner and wayland-protocols installed,
which is hardly onerous if you're building the Wayland platform), or
just never ever generate them and check pre-generated files into the
tree. The current mix and match seems pretty problematic.

How would you fix this?


[0]: https://lists.freedesktop.org/archives/mesa-dev/2017-July/163825.html
      cf. 166852ee957ff25a1d14dcaa7512917343130fa4

More information about the mesa-dev mailing list