Created attachment 141692 [details]
Build log error radeon vulkan
I try to build Mesa 18.2.1 on Debian Stretch with version 1.12 of libxcb packages. Unfortunatly, the build fails during the compilation of Radeon Vulkan driver about "xcb_randr_lease_t" / "xcb_randr_create_lease_cookie_t" etc ... type name which are unknown.
I attach the complete build log. The errors are at the end of file.
Probably needs libxcb-1.13 (released March 2018). From the xcb release notes https://lists.freedesktop.org/archives/xcb/2018-March/011090.html :
This release of xcb-proto brings support for buffer modifiers and
multi-planar buffers through DRI3 v1.2 and Present v1.2, support for
leasing KMS devices to clients via RandR 1.6, and also allows clients
to send each other XInput2 events via support for the GenericEvent
extension's SendExtension event.
.. specifically wrt RandR leases.
Suspect that the code simply doesn't compile if an older version of libxcb is installed.
1. Code gets corrected to handle if an older version of libxcb is installed.
2. Install libxcb 1.13. Note that it's not in stretch-backports so either you will need to backport it yourself from buster, or request a backport on the debian-backorts list.
Suspect this is the related commit where the randr leases code was added: https://cgit.freedesktop.org/mesa/mesa/commit/?id=7ab1fffcd2a504024b16e408de329f7a94553ecc
A quick look at similar commits for radv and anv don't reference randr leases, so it seems it's just vulkan that's affected.
1. https://cgit.freedesktop.org/mesa/mesa/commit/?id=c9b153fea746fa0bef100d72d157e534dbd44905 updates travis to use libxcb 1.13, so it seems a requirement for at least libxcb 1.13 to be used was expected.
2. https://cgit.freedesktop.org/mesa/mesa/commit/?id=7aeef2d4efdc809a698e9b983c8be8e4ccb27134 (after travis update) suggests that building against older versions of libxcb should still be supported.
Created attachment 141701 [details] [review]
Disable lease for libxcb < 1.13
I'm not an expert about Mesa development but i found a workaround to compile Mesa 18.2.1 on Debian Stretch. Stretch has libxcb 1.12 and without this patch, the compilation for Vulkan drivers fails.
If someone can create a better patch and implement it in the next release 18.2.x, it will be great. And if it's possible obviously.
I try mesa 18.2.1 on Stretch with DXVK games like Vampyr, Divinity Original Sin 2 and Assassin's Creed : Unity. All these games work without problems.
Looks good to me (tho I am not an expert either), and same sort of fix as Dave Airlie's patch to support older versions of libxcb.
Will see if I can get this in to Mesa & 18.2.2. If it takes some time, I'll log a bug report against Mesa in Debian as well with a link to this report/patch.
This should now be fixed in commit dd333c66bdcb11c0d7c5