For those wishing to test, I have found information about which devices would benefit from these: Gen 5 - Gen 9.5 inteldrm devices are what the intel-vaapi-driver(aka i965) supports.
There is a good deal of information available on ffmpeg's site here: https://trac.ffmpeg.org/wiki/Hardware/QuickSync#i965 Also, if you don't know what generation processor you are using - here is how you can find out: brad-laptop$ sysctl hw.model hw.model=Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz Now you can use the following page to determine which generation processor you have: https://en.wikipedia.org/wiki/List_of_Intel_graphics_processing_units Sorry for the noise, but I felt this was relevant. On Fri, Dec 13, 2019 at 9:10 PM Brad DeMorrow <b...@demorrow.net> wrote: > 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 > -- --Brad DeMorrow