[Mesa-dev] meson: vdpau broken on r600

Ilia Mirkin imirkin at alum.mit.edu
Fri Jan 12 17:14:43 UTC 2018


BTW, that should have said 'strace -f -e open', otherwise you get
_way_ too much junk.

On Thu, Jan 11, 2018 at 6:35 PM, Dylan Baker <dylan at pnwbakers.com> wrote:
> Thanks Ilia, I figured there must be some GL_DRIVERS_PATH equivalent but
> couldn't find it with google, I never think to run strace. That's probably the
> information I need to check on my nouveau machine.
>
> Dylan
>
> Quoting Ilia Mirkin (2018-01-11 15:30:23)
>> It looks at the vdpau provider sent down down via the X DRI2 protocol.
>> You can also force it to load any particular driver with
>> VDPAU_DRIVER=foo, which would load
>> $vdpau_dir_that_libvdpau_is_built_with/vdpau/libfoo_vdpau.so.1. You
>> can also override the directory with VDPAU_DRIVER_PATH or
>> VDPAU_DRIVERS_PATH (I can never remember). Running with 'strace -f'
>> can help figure this stuff out.
>>
>>   -ilia
>>
>> On Thu, Jan 11, 2018 at 12:21 PM, Dylan Baker <dylan at pnwbakers.com> wrote:
>> > I couldn't reproduce with nouveau, vdpauinfo seems hardcoded to look for
>> > vdpau_nvidia, and just ignores vdpau_nouveau.
>> >
>> > I have a patch that adds the symbol, but it feels ugly. I'm sending it and we
>> > can test it, if it does fix it I guess we should figure out why we need to keep
>> > adding --Wl,-whole-archive where autotools doesn't.
>> >
>> > Quoting Eric Engestrom (2018-01-11 08:58:32)
>> >> On Tuesday, 2018-01-09 10:09:16 -0800, Dylan Baker wrote:
>> >> > I'm not sure off the top of my head. I don't have an r600 anymore, but I have an
>> >> > SI and a nouveau machine, so I'll see if I can reproduce the problem there and
>> >> > fix it.
>> >>
>> >> I can confirm, the symbol is missing when building with meson:
>> >>
>> >> $ ninja src/gallium/targets/vdpau/libvdpau_gallium.so
>> >> $ nm -D --defined-only src/gallium/targets/vdpau/libvdpau_gallium.so | grep -c vdp_imp_device_create_x11
>> >> 0
>> >>
>> >> I can't figure out why either, though.
>> >>
>> >> >
>> >> > Dylan
>> >> >
>> >> > Quoting Marc Dietrich (2018-01-09 02:38:33)
>> >> > > Hi Dylan,
>> >> > >
>> >> > > just found that vdpau does not work on r600 with meson build. Some missing
>> >> > > symbol, but I cannot figure out why:
>> >> > >
>> >> > > # vdpauinfo
>> >> > > display: :0   screen: 0
>> >> > > /usr/lib64/vdpau/libvdpau_r600.so.1: undefined symbol:
>> >> > > vdp_imp_device_create_x11
>> >> > > Error creating VDPAU device: 1
>> >> > >
>> >> > > The size of the library differs significant:
>> >> > > autotools: 2417768 libvdpau_r600.so.1.0.0
>> >> > > meson    :  717368 libvdpau_r600.so.1.0.0
>> >>
>> >> With all the default options (except buildtype=release for meson),
>> >> I'm getting these sizes:
>> >> 5320936   meson/usr/lib/vdpau/libvdpau_r600.so.1.0.0
>> >> 25190032  autotools/usr/lib/vdpau/libvdpau_r600.so.1.0.0
>> >>
>> >> but if I strip them, the autotools one shrinks to about a tenth of
>> >> its size, and now the meson one actually looks bigger:
>> >> 4722192   meson/usr/lib/vdpau/libvdpau_r600.so.1.0.0.stripped
>> >> 2788936   autotools/usr/lib/vdpau/libvdpau_r600.so.1.0.0.stripped
>> >>
>> >> I'm not sure how much you can guess from the size of the binary though,
>> >> too much is different between the two builds.
>> >> Whether the symbols are exposed (see above) is a better metric IMO.
>> >>
>> >> > >
>> >> > > Any idea?
>> >> > >
>> >> > > Marc
>> >
>> > _______________________________________________
>> > mesa-dev mailing list
>> > mesa-dev at lists.freedesktop.org
>> > https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>> >


More information about the mesa-dev mailing list