[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Git][xorg-team/lib/mesa][debian-unstable] rules: Disable vulkan swrast, it's getting used instead of the native driver.



Ack. I agree with all what you wrote.


On Fri, 8 Jan 2021 at 14:58, Michel Dänzer <michel@daenzer.net> wrote:
>
> On 2021-01-08 11:22 a.m., Witold Baryluk wrote:
> > True, that a lot of applications don't properly inspect physical devices list.
> > (I do have some patches to various tools and examples to fix it,
> > they are already in review by respective projects).
>
> Thanks for doing that, though I'm afraid it's a game of whack-a-mole.
>
>
> > And it is also correct, that the order might be somehow random,
> > i.e. depended on file system readdir entries order.
> >
> > However, Mesa's device_selection layer (enabled implicitly and automatically),
> > will preferentially re-order devices, and that makes all apps
> > by default that are not smart about it, use non-CPU devices.
> > Lavapipe will always be considered last.
>
> On my development machine, vulkaninfo lists these devices:
>
> GPU id : 0 (AMD RADV NAVI14 (ACO)):
>
> GPU id : 1 (llvmpipe (LLVM 11.0.1, 256 bits)):
>
> GPU id : 2 (AMD RADV NAVI14 (ACO)):
>
> GPU id : 3 (llvmpipe (LLVM 12.0.0, 256 bits)):
>
>
> Devices 0 & 1 are from /usr/share/vulkan/icd.d/ (the mesa-vulkan-drivers
> package), devices 2 & 3 are from /usr/local/share/vulkan/icd.d/ (my
> local Mesa build).
>
> Now imagine a system where the GPU isn't supported by the packaged
> drivers yet, but a developer is working on adding that support. It looks
> like this could result in lavapipe from the system packages getting
> preferred over the local-built HW driver.
>
> Addressing this might require changes to the Vulkan loader, which should
> allow addressing these issues completely without the Mesa
> device_selection layer.
>
> (In this particular scenario, just enumerating devices from
> /usr/local/share/vulkan/icd.d/ before /usr/share/vulkan/icd.d/ should be
> enough, which I'd argue should be done anyway :)
>
>
> > The displayed warning was just in the wrong place, it is displayed
> > even if lavapipe is not used, merely instantiated for device enumeration,
> > which is wrong. Patch to fix this is trivial, and already in review upstream:
> > https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8377
>
> Thanks, that should prevent a lot of confusion.
>
>
> There's still at least one other case where shipping lavapipe could be
> an issue: If a system didn't have any Vulkan support before (e.g.
> because the GPU is too old for Vulkan support), it could now start using
> lavapipe. I suspect this is what's going on in Fedora bug reports such
> as https://bugzilla.redhat.com/show_bug.cgi?id=1912159 "pidgin crashes
> with mesa-vulkan-drivers-20.3.2-1.fc33".
>
>
> --
> Earthling Michel Dänzer               |               https://redhat.com
> Libre software enthusiast             |             Mesa and X developer


Reply to: