New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FreeBSD support #363
FreeBSD support #363
Conversation
@Niacat, can you try building Wayland backend on NetBSD? |
@jbeich Seems to build successfully with meson and -Dwayland=yes on NetBSD. Haven't tested it, but these files are generated:
Just realized this PR is for the autotools build system. Afraid not, with BSD make:
But with gmake it's fine. |
What would it take to merge this? I'm not affiliated with any vendor, so can't negotiate through sales. DragonFly, FreeBSD, NetBSD have VAAPI enabled in binary packages for years. Transcoding in Plex using VAAPI (libva but not libmfx) is popular among FreeNAS users. libva, libva-utils, intel-vaapi-driver are already somewhat portable and don't change much, so the maintanence should be low. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for upstreaming BSD changes!
Initial PR description says that this PR depends on #292. Is that still true or #363 became self-sufficient?
Effectively I have nothing against merging this in. The only question I have is: who can be a contact point in case more changes will be needed or some questions will arise? I wish we had some kind of file like MAINTANERS or OWNERS or whatever (might be wiki article) listing whom people can contact w/ different questions.
#292 is still necessary but it's a runtime fix (used by
FreeBSD package maintainer (currently, @jbeich) or FreeBSD graphics team/maillist (e.g., @evadot, @zeising, @myfreeweb). |
../va/va_trace.c:291:28: error: use of undeclared identifier '__NR_gettid' pid_t thd_id = syscall(__NR_gettid); ^ ../va/va_trace.c:669:28: error: use of undeclared identifier '__NR_gettid' pid_t thd_id = syscall(__NR_gettid); ^ ../va/va_trace.c:708:28: error: use of undeclared identifier '__NR_gettid' pid_t thd_id = syscall(__NR_gettid); ^ ../va/va_trace.c:1234:28: error: use of undeclared identifier '__NR_gettid' pid_t thd_id = syscall(__NR_gettid); ^
BSD sed doesn't support inlining argument for `i` command, so embed newlines as proposed in http://austingroupbugs.net/view.php?id=249 GEN wayland-drm-client-protocol.c sed: 1: "1i#include "sysdeps.h" ": command i expects \ followed by text
On DragonFly and FreeBSD config are installed to /usr/local/etc by default.
ld: error: unable to find library -ldl
../va/va.c:455:64: error: use of undeclared identifier 'RTLD_NODELETE' handle = dlopen( driver_path, RTLD_NOW | RTLD_GLOBAL | RTLD_NODELETE ); ^
Unlike Linux it uses Meson/Clang to improve coverage.
Thx. No, I don't like squashing either. @jbeich : did you have travis ci passing at some point? /I'll give it couple of hours in hope it will work, but will merge if it won't. If you will note that you had it working - this will give me some confidence:)./ |
Same commit on TravisCI:
|
This builds ok on freebsd: https://github.com/dvrogozh/libva/actions/runs/311038053. Let's try to merge this in. There is a risk that travis CI is not enabled correctly for freebsd, but we can deal with this separately. |
This breaks build on ubuntu focal (20.04):
|
... and Fedora builds broken too |
Depends on #292. Runtime tested via i965, iHD+QSV and
radeonsi
from Mesa.