сб, 14 дек. 2019 г. в 10:27, Brad DeMorrow <b...@demorrow.net>: > > On Sat, Dec 14, 2019 at 1:16 AM Vadim Zhukov <persg...@gmail.com> wrote: >> >> сб, 14 дек. 2019 г. в 08:25, Vadim Zhukov <persg...@gmail.com>: >> > >> > сб, 14 дек. 2019 г. в 06:10, Brad DeMorrow <b...@demorrow.net>: >> > > >> > > Thank you both, this is very helpful for me. >> > > Attached are updated tarballs. >> > > Since the meson module does the right thing, I stuck with using it for >> > > all three ports. >> > >> > Then why do you create that symlink mess and complicate SHARED_LIBS? >> > >> > I've just checked, just setting SHARED_LIBS to 0.0 work fine, as it >> > should. You'd simply drop the post-install target all variables >> > created for it. >> > >> > Also, lib/dri/i965_drv_video.so still lacks @so marker. Do you run >> > recent snapshot? Could you post your dmesg, please? >> >> Aha, so I found a problem: in intel driver, in i965_output_dri.c, >> there is the LIBVA_X11_NAME string which hardcodes the library version >> of libva-x11. The driver tries to dlopen this name and, obviously, >> fails. Same thing happens in Wayland-related code, but since we have >> no Wayland yet, we can ignore it for now. :) After removing ".2" from >> the LIBVA_X11_NAME things start to work! Well, vainfo starts to work. >> IIUC, existing stuff that could use VA-API needs to be recompiled... >> How do you actually use VA-API? > > I have a two follow up ports that can use it. > - ffmpeg: I sent a request to the maintainer earlier today about amending the > port to include vaapi support. > - moonlight-qt: relies on ffmpeg with vaapi support. Allows game streaming > from Windows PCs with Nvidia gamestream technology. I’ve played a couple > hours of games with it- it’s nice.
Aha, would be nice to test! IIRC, VA-API could be used for encoding as well... I'm building ffmpeg right now, and I will try to run some vaapi-enabled encoder. > As far as the hard coded library name, yeah that’s why I have to use the > symlinks.. I could patch it, but it looks like it’s very intentional on their > part. The email I sent you a few minutes ago includes a reference to their > warning message about changing the .so names. The upstream tries to hardcode major versions to fix the problem you won't have on OpenBSD: libva and intel-vaapi-driver would be kept in sync anyway. And hardcoding major version in dlopen() won't save you from calling a function not present in this minor version of shared library anyway. I don't understand yet why this dlopen() call is ever needed... >> > >> See meson.port.mk and patch-mesonbuild_build_py. >> > >> Using SHARED_LIBS foo 1.0 will make meson.port.mk set a >> > >> LIBfoo_VERSION=1.0 environment variable which meson will use. >> > >> > Whoa, thanks, Jonathan! And Antoine, of course. :) :) >> > >> > >> Using ports meson to build things outside of ports is more painful as >> > >> these environment variables have to be explicitly set and sometimes >> > >> ninja will re-run meson and not have the environment variables set. >> > >> >> > >> https://github.com/mesonbuild/meson/issues/3570 describes related >> > >> problems. >> > >> > -- >> > WBR, >> > Vadim Zhukov >> >> >> >> -- >> WBR, >> Vadim Zhukov > > -- > --Brad DeMorrow -- WBR, Vadim Zhukov