Enable Hardware acceleration support for BSD based Plex Servers

server-freebsd

#1

Having asked the devs of FreeBSD, they say that vaapi is fully supported on FreeBSD. My Intel CPU has QuickSync support so I should be presented with an option to use HW acceleration when available. Can anyone shed some light on this?


#2

TBH one of my servers runs on FreeBSD but its a old cpu with no support for it, so I have no way to even test...

However if you're sure you're cpu does support it I'm curious about the output of vainfo, I think you'll need libva-intel-driver and libva-utils ... and run that in Xorg (xterm or something like that ... ssh to the terminal won't do).
Also Xorg needs to be using the intel driver.


#3

@mikec_pt said:
TBH one of my servers runs on FreeBSD but its a old cpu with no support for it, so I have no way to even test...

However if you're sure you're cpu does support it I'm curious about the output of vainfo, I think you'll need libva-intel-driver and libva-utils ... and run that in Xorg (xterm or something like that ... ssh to the terminal won't do).
Also Xorg needs to be using the intel driver.

So FreeBSD says the necessary libraries exist as installable packages but Plex needs to include some kind of "pre-packaged compressed tarball for FreeBSD". It's apparently missing a Plex provided library that will complete the service. That's what I gathered from the folks at the #freebsd Freenode channel. I encourage you join it to get more information, as it seem a lot of the pieces for make this happen are already there, it just needs to be put together.


#4

BTW, here's the CPU I'm using.

https://ark.intel.com/products/97452/Intel-Celeron-Processor-G3930-2M-Cache-2_90-GHz


#5

@mikec_pt Any update on this?


#6

Were you able to get the vainfo using Xorg?

I don't really have any update on the state of that in Plex, as I said above I don't currently have a machine were I can test...

What you said above however makes sense... If som libs are missing in the PMS freebsd install (libva maybe!?) then I don't think it would work.

Can you list the libs you see in /usr/local/share/plexmediaserver?

I would say that if libva is not there than it wouldn't work?

In the meantime I'll inquire internally if this is supported or planed to be supported at all, perhaps it's just a matter of linking a lib, perhaps not (I might not be able to get a definitive answer though so no promises so far).

I'll post back here when I get that feedback.


#7

@mikec_pt said:
Were you able to get the vainfo using Xorg?

I don't really have any update on the state of that in Plex, as I said above I don't currently have a machine were I can test...

What you said above however makes sense... If som libs are missing in the PMS freebsd install (libva maybe!?) then I don't think it would work.

Can you list the libs you see in /usr/local/share/plexmediaserver?

I would say that if libva is not there than it wouldn't work?

In the meantime I'll inquire internally if this is supported or planed to be supported at all, perhaps it's just a matter of linking a lib, perhaps not (I might not be able to get a definitive answer though so no promises so far).

I'll post back here when I get that feedback.

I'e used Xorg services before, but I've never set one up, so I don't know at current how to do a vainfo with Xorg. Sorry about that. With that being said here is the list I pulled up, according to ls

CrashUploader libboost_random.so.1.59.0 libiconv.so.7 libsoci_sqlite3.so.3.0.0 Plex Media Server
libavcodec.so.58 libboost_regex.so.1.59.0 liblrc.so.0 libsqlite3.so.0 Plex Relay
libavformat.so.58 libboost_system.so.1.59.0 libminiupnpc.so.10 libssl.so.1.0.0 Plex Script Host
libavutil.so.56 libboost_thread.so.1.59.0 libminizip.so.1 libswresample.so.3 Plex Transcoder
libboost_atomic.so.1.59.0 libboost_timer.so.1.59.0 libnatpmp.so.1 libswscale.so.5 Plex Tuner Service
libboost_chrono.so.1.59.0 libcrypto.so.1.0.0 libopencv_core.so.2.4 libtag.so.1 Plex_Media_Server
libboost_date_time.so.1.59.0 libcurl.so.7 libopencv_imgproc.so.2.4 libxml2.so.9 Resources
libboost_filesystem.so.1.59.0 libexpat.so.6 libpion-5.0.so libxslt.so.2
libboost_iostreams.so.1.59.0 libexslt.so.8 libpython2.7.so libz.so.1
libboost_locale.so.1.59.0 libfreeimage.so libpython2.7.so.1 Plex DLNA Server
libboost_program_options.so.1.59.0 libhdhomerun.so libsoci_core.so.3.0.0 Plex Media Scanner

I don't see libva in there but running $pkg search libva
returns

libva-2.1.0 VAAPI wrapper and dummy driver
libva-intel-driver-2.1.0 VAAPI intel driver
libva-utils-2.1.0 Collection of tests and utilities for VAAPI
libva-vdpau-driver-0.7.4_9 VDPAU-based backend for VAAPI
libvanessa_adt-0.0.9_1 Library that provides ADTs (queues, dynamic arrays, and more)
libvanessa_logger-0.0.10_1 Library that provides a generic logging layer
libvanessa_socket-0.0.12_1 Library that provides a simple layer for TCP/IP socket operations

So installable packages exist to complete the system.

I appreciate making the inquiry and look forward to hearing back.