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.
What else would be needed to get this into the tree?


For the record, below is output from my pcidump as well as vainfo
brad-laptop$ pcidump
0:2:0: Intel UHD Graphics 620
        0x0000: Vendor ID: 8086, Product ID: 5917
        0x0004: Command: 0007, Status: 0010
        0x0008: Class: 03 Display, Subclass: 00 VGA,
                Interface: 00, Revision: 07
        0x000c: BIST: 00, Header Type: 00, Latency Timer: 00,
                Cache Line Size: 00
        0x0010: BAR mem 64bit addr: 0x00000000f0000000/0x01000000
        0x0018: BAR mem prefetchable 64bit addr:
0x00000000e0000000/0x10000000
        0x0020: BAR io addr: 0x0000e000/0x0040
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 17aa Product ID: 506c
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 01 Line: 0b Min Gnt: 00 Max Lat: 00
        0x0040: Capability 0x09: Vendor Specific
        0x0070: Capability 0x10: PCI Express
        0x0100: Enhanced Capability 0x1b: Process Address Space ID
        0x0200: Enhanced Capability 0x0f: Address Translation Services
        0x0300: Enhanced Capability 0x13: Page Request Interface
        0x00ac: Capability 0x05: Message Signalled Interrupts (MSI)
                Enabled: yes
        0x00d0: Capability 0x01: Power Management
                State: D0

brad-laptop$ vainfo
libva info: VA-API version 1.6.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/local/lib/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_6
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.6 (libva 2.6.0.1)
vainfo: Driver version: Intel i965 driver for Intel(R) Kaby Lake - 2.4.0
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Simple            : VAEntrypointEncSlice
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointEncSliceLP
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointEncSliceLP
      VAProfileH264MultiviewHigh      : VAEntrypointVLD
      VAProfileH264MultiviewHigh      : VAEntrypointEncSlice
      VAProfileH264StereoHigh         : VAEntrypointVLD
      VAProfileH264StereoHigh         : VAEntrypointEncSlice
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileNone                   : VAEntrypointVideoProc
      VAProfileJPEGBaseline           : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointEncPicture
      VAProfileVP8Version0_3          : VAEntrypointVLD
      VAProfileVP8Version0_3          : VAEntrypointEncSlice
      VAProfileHEVCMain               : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointEncSlice
      VAProfileHEVCMain10             : VAEntrypointVLD
      VAProfileHEVCMain10             : VAEntrypointEncSlice
      VAProfileVP9Profile0            : VAEntrypointVLD
      VAProfileVP9Profile0            : VAEntrypointEncSlice
      VAProfileVP9Profile2            : VAEntrypointVLD

On Fri, Dec 13, 2019 at 8:19 PM Jonathan Gray <j...@jsg.id.au> wrote:

> On Sat, Dec 14, 2019 at 04:55:51AM +0300, Vadim Zhukov wrote:
> > сб, 14 дек. 2019 г. в 04:07, Brad DeMorrow <b...@demorrow.net>:
> > >
> > > First of all, thank you for taking the time to review and test this
> Vadim.
> > > Comments inline below.
> > > I have questions about using autotools for the intel-vaapi-driver
> port, so I won't
> > > attach new tarballs yet.
> > >
> > > On Fri, Dec 13, 2019 at 3:58 PM Vadim Zhukov <persg...@gmail.com>
> wrote:
> > >>
> > >> пт, 13 дек. 2019 г. в 22:17, Brad DeMorrow <b...@demorrow.net>:
> > >>
> > >> It looks like not all inteldrm will work. At least mine (found on
> > >> ThinkPad X240) doesn't:
> > >
> > > You're correct, my mistake.  It specifically says "Intel G45 chipsets
> > > and Intel HD Graphics for Intel Core processor family" in their README.
> > >
> > > I reached out to intel to get a clearer picture and discovered that
> they actually
> > > have a newer VA-API driver available called media-driver.  It appears
> better
> > > documented at least.
> > > https://github.com/intel/media-driver
> >
> > Mine is called "HD Graphics" too, but this doesn't help. :(
> >
> > inteldrm0 at pci0 dev 2 function 0 "Intel HD Graphics" rev 0x0b
> >
> > > I'll have to consider working on that next.
> >
> > It would be nice!
> >
> > >> The autotools will work better in this case,
> > >> at least you'll have SHARED_LIBS stuff right. See the tweaked libva
> > >> port Makefile for example.
> > >>
> > >>
> > >> Please regen PLIST for intel-vaapi-driver port, this should add @so
> marker.
> > >
> > > I was able to get libva and libva-utils working with autotools, but
> the intel-vaapi-driver
> > > ended up generating a .la file instead of a .so file.  I'm not very
> familiar with autotools,
> > > is this an easy fix?
> > > Can you explain why using the meson module would be frowned upon?
> >
> > For libva port autotools are better, since devel/meson module doesn't
> > force shared libraries versioning the OpenBSD way, forcing a lot of
> > work to be done in the port. You did some already, but there must be
> > much more: for example, resulting .la files (those are used by libtool
> > when building dependant software) will reference wrong libraries.
>
> meson in ports is patched by Antoine to do the right thing if the port
> sets SHARED_LIBS.
>
> 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.
>
> 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.
>
> >
> > For the ports that does NOT produce "normal" shared libraries (like
> > actual VA-API drivers that are more plugins than proper shared
> > libraries here) you can keep the devel/meson as is, if it's easier for
> > you. In theory, the devel/meson port module could be tweaked, or more
> > port-specific magic may be put in, but at least I'm not the one
> > willing to do neither of those. :)
> >
> > --
> >   WBR,
> >   Vadim Zhukov
> >
> >
>


-- 
--Brad DeMorrow

Attachment: intel-vaapi-driver.tar.gz
Description: application/gzip

Attachment: libva.tar.gz
Description: application/gzip

Attachment: libva-utils.tar.gz
Description: application/gzip

Reply via email to