H-M-H / Weylus

Use your tablet as graphic tablet/touch screen on your computer.
Other
6.78k stars 269 forks source link

GPU acceleration on AMD Ryzen integrated GPU #62

Closed gabrc52 closed 3 years ago

gabrc52 commented 3 years ago

On Manjaro (Arch-based), trying to use VAAPI acceleration results in the following error:

[AVHWDeviceContext @ 0x7f389c0017c0] libva: /usr/lib/dri/radeonsi_drv_video.so has no function __vaDriverInit_1_0
[AVHWDeviceContext @ 0x7f389c0017c0] Failed to initialise VAAPI connection: -1 (unknown libva error).

From a web search, I found this Arch bug: https://bugs.archlinux.org/task/56298

From that and the error message, it could be inferred that Weylus was built against libva 1, but Manjaro comes with libva 2. Would it be possible to get Weylus for the newer libva?

H-M-H commented 3 years ago

Hmm, that's weird! Weylus is definitely built against libva 2.8.0. I just updated it to 2.10.0 and once CI is done you should be able to download the latest build here: https://github.com/H-M-H/Weylus/actions/runs/556217800 Additionally it works on my system and I run Arch Linux too. What does vainfo report for you?

gabrc52 commented 3 years ago

On the latest build I get the following error message instead:

[h264_vaapi @ 0x7f10cc157100] Driver does not support some wanted packed headers (wanted 0xd, found 0).
[h264_vaapi @ 0x7f10cc157100] Driver does not support packed sequence headers, but a global header is requested.
[h264_vaapi @ 0x7f10cc157100] No global header will be written: this may result in a stream which is not usable for some purposes (e.g. not muxable to some containers).
[h264_vaapi @ 0x7f10cc157100] Quality attribute is not supported: will use default quality level.

Output of vainfo (from the Manjaro live media):

vainfo: VA-API version: 1.9 (libva 2.10.0)
vainfo: Driver version: Mesa Gallium driver 20.2.3 for AMD Radeon(TM) Vega 8 Graphics (RAVEN, DRM 3.39.0, 5.9.11-3-MANJARO, LLVM 11.0.0)
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileHEVCMain               : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointEncSlice
      VAProfileHEVCMain10             : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointVLD
      VAProfileVP9Profile0            : VAEntrypointVLD
      VAProfileVP9Profile2            : VAEntrypointVLD
      VAProfileNone                   : VAEntrypointVideoProc

The latest release works fine on Ubuntu, though.

H-M-H commented 3 years ago

Alright, it took a while but I think I figured out what's the problem. It seems the driver wrongly reports to support a pixel format that actually is not supported, a very similar issue can be found here https://github.com/ammen99/wf-recorder/issues/13. The solution is to force NV12 as pixel format for the affected drivers. Currently only radeon appears to be a problem.

Something I still need to figure out: How to detect radeon being used? It seems vaQueryVendorString from libva is a good option but unfortunately ffmpeg won't let you access the underlying libva pointers...

gabrc52 commented 3 years ago

Cool, thanks for the progress! :D

If you can't find a way to detect it, a temporary workaround would be to add a checkbox saying something like Workaround Radeon driver bug (enable if VAAPI doesn't work). NvIdia users already have to tick a separate checkbox, right?

H-M-H commented 3 years ago

Alright please try the latest build. Thanks to the nice people over there at #ffmpeg irc I found a solution!

gabrc52 commented 3 years ago

On the latest Manjaro Live ISO:

I get a blank screen on the client and the following output:

Feb 17 12:02:11.101  INFO weylus::web: Client connected: 192.168.0.104:61774
[h264_vaapi @ 0x7f6de40d9440] Driver does not support some wanted packed headers (wanted 0xd, found 0).
[h264_vaapi @ 0x7f6de40d9440] Driver does not support packed sequence headers, but a global header is requested.
[h264_vaapi @ 0x7f6de40d9440] No global header will be written: this may result in a stream which is not usable for some purposes (e.g. not muxable to some containers).
[h264_vaapi @ 0x7f6de40d9440] Quality attribute is not supported: will use default quality level.

The log on the client now says undefined:Lundefined:undefined: undefined

I got a similar output on https://github.com/H-M-H/Weylus/actions/runs/556217800, but that build crashed (segmentation fault) as soon as I connected; the new build doesn't crash anymore.

On the latest EndeavourOS Live ISO:

I get the following vainfo:

vaInitialize failed with error code -1 (unknown libva error),exit

I get the following output:

Feb 17 18:25:43.166  INFO weylus::web: Webserver listening at 0.0.0.0:1701...
Feb 17 18:25:46.872  INFO weylus::web: Client connected: 192.168.0.104:61909
[AVHWDeviceContext @ 0x7f396c001a80] Failed to initialise VAAPI connection: -1 (unknown libva error).
[libx264 @ 0x7f396c002200] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x7f396c002200] profile Constrained Baseline, level 6.1, 4:2:0, 8-bit
[libx264 @ 0x7f396c002200] 264 - core 161 r3039 544c61f - H.264/MPEG-4 AVC codec - Copyleft 2003-2021 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=8 lookahead_threads=8 sliced_threads=1 slices=8 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=12 keyint_min=1 scenecut=0 intra_refresh=0 rc=crf mbtree=0 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=0
Output #0, mp4, to '(null)':
    Stream #0:0: Video: h264, yuv420p, 1920x1080, q=2-31

On Ubuntu 20.10 (Pop!_OS):

I get the following output as well:

[AVHWDeviceContext @ 0x7f84e8001a80] Failed to initialise VAAPI connection: -1 (unknown libva error).
[libx264 @ 0x7f84e8002200] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x7f84e8002200] profile Constrained Baseline, level 6.1, 4:2:0, 8-bit
[libx264 @ 0x7f84e8002200] 264 - core 161 r3039 544c61f - H.264/MPEG-4 AVC codec - Copyleft 2003-2021 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=8 lookahead_threads=8 sliced_threads=1 slices=8 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=12 keyint_min=1 scenecut=0 intra_refresh=0 rc=crf mbtree=0 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=0
Output #0, mp4, to '(null)':
    Stream #0:0: Video: h264, yuv420p, 1920x1080, q=2-31
^C

This is on both the newest build and latest release.

This is my vainfo on Ubuntu:

libva info: VA-API version 1.8.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_8
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.8 (libva 2.8.0)
vainfo: Driver version: Mesa Gallium driver 20.3.2 for AMD RAVEN (DRM 3.38.0, 5.8.0-7642-generic, LLVM 11.0.0)
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileHEVCMain               : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointEncSlice
      VAProfileHEVCMain10             : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointVLD
      VAProfileVP9Profile0            : VAEntrypointVLD
      VAProfileVP9Profile2            : VAEntrypointVLD
      VAProfileNone                   : VAEntrypointVideoProc
H-M-H commented 3 years ago

Thanks for the detailed report!

the new build doesn't crash anymore

This is a good sign, I actually got it working on a radeon card myself.

I get a blank screen on the client

Do you also get a blank screen if you connect with another device or if you choose a small window?

The log on the client now says undefined:Lundefined:undefined: undefined

The latest build should improve this error message.

EndeavourOS

If vainfo doesn't work I am not surprised weylus doesn't either, perhaps the driver (libva-mesa-driver) is missing.

On Ubuntu 20.10 (Pop!_OS)

Now this is strange, vainfo works fine but weylus doesn't! Does this work ffmpeg -hwaccel vaapi -vaapi_device /dev/dri/renderD128 -f lavfi -i testsrc2=size=1920x1080 -vf 'format=nv12,hwupload' -vcodec h264_vaapi -t 10 -bf 0 -movflags frag_keyframe+empty_moov+default_base_moof test.mp4 ?

gabrc52 commented 3 years ago

Do you also get a blank screen if you connect with another device or if you choose a small window?

Yes

The latest build should improve this error message.

This is what I get now:

ERROR: Failed to obtain resource, target: [object HTMLVideoElement] type: error src: blob:http://192.168.0.113:1701/23e00341-6489-43e9-aa36-970a3ad78e1d Error object: {"isTrusted":true}
ERROR: Failed to obtain resource, target: [object HTMLVideoElement] type: error src: blob:http://192.168.0.113:1701/01fd11e5-87e3-4c9e-9fc1-e4e3e5210116 Error object: {"isTrusted":true}

Now this is strange, vainfo works fine but weylus doesn't! Does this work ... ?

Yes, it does.

H-M-H commented 3 years ago

I am afraid but the error message from the browser sounds like bad news: It means the video is indeed arriving at the browser but can not be decoded. Possibly because some headers could not be written properly as the warnings stated earlier.

On Ubuntu you could try this with the latest build: WEYLUS_LOG_LEVEL=TRACE LIBVA_MESSAGING_LEVEL=2 LIBVA_TRACE=va.log WEYLUS_VAAPI_DEVICE=/dev/dri/renderD128 ./weylus But I have to admit that I don't see how you should get this Failed to initialise VAAPI connection message because after looking into ffmpeg's source again this means calling av_hwdevice_ctx_create fails, which is the very first thing related to VAAPI at all and it's done the same way with the ffmpeg command line util.

Thanks for all your help again!

gabrc52 commented 3 years ago

This is the output on Ubuntu (here, the client renders the screen fine):

./weylus on Ubuntu: ``` Feb 18 12:45:45.064 INFO weylus::web: Webserver listening at 0.0.0.0:1701... Feb 18 12:45:48.885 TRACE hyper::proto::h1::conn: Conn::read_head Feb 18 12:45:48.885 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } Feb 18 12:45:48.908 TRACE hyper::proto::h1::conn: Conn::read_head Feb 18 12:45:48.908 DEBUG hyper::proto::h1::io: read 359 bytes Feb 18 12:45:48.908 TRACE parse_headers: hyper::proto::h1::role: Request.parse([Header; 100], [u8; 359]) Feb 18 12:45:48.908 TRACE parse_headers: hyper::proto::h1::role: Request.parse Complete(359) Feb 18 12:45:48.908 DEBUG hyper::proto::h1::io: parsed 7 headers Feb 18 12:45:48.908 DEBUG hyper::proto::h1::conn: incoming body is empty Feb 18 12:45:48.908 DEBUG weylus::web: Got request: Request { method: GET, uri: /, version: HTTP/1.1, headers: {"host": "huawei.local:1701", "upgrade-insecure-requests": "1", "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15", "accept-language": "en-us", "accept-encoding": "gzip, deflate", "connection": "keep-alive"}, body: Body(Empty) } Feb 18 12:45:48.908 INFO weylus::web: Client connected: 192.168.0.104:62221 Feb 18 12:45:48.908 TRACE encode_headers: hyper::proto::h1::role: Server::encode status=200, body=Some(Known(2743)), req_method=Some(GET) Feb 18 12:45:48.909 DEBUG hyper::proto::h1::io: flushed 2861 bytes Feb 18 12:45:48.909 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } Feb 18 12:45:48.912 TRACE hyper::proto::h1::conn: Conn::read_head Feb 18 12:45:48.912 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } Feb 18 12:45:48.912 TRACE hyper::proto::h1::conn: Conn::read_head Feb 18 12:45:48.913 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } Feb 18 12:45:48.916 TRACE hyper::proto::h1::conn: Conn::read_head Feb 18 12:45:48.916 TRACE hyper::proto::h1::conn: Conn::read_head Feb 18 12:45:48.916 DEBUG hyper::proto::h1::io: read 329 bytes Feb 18 12:45:48.916 DEBUG hyper::proto::h1::io: read 311 bytes Feb 18 12:45:48.916 TRACE parse_headers: hyper::proto::h1::role: Request.parse([Header; 100], [u8; 329]) Feb 18 12:45:48.916 TRACE parse_headers: hyper::proto::h1::role: Request.parse Complete(329) Feb 18 12:45:48.916 TRACE parse_headers: hyper::proto::h1::role: Request.parse([Header; 100], [u8; 311]) Feb 18 12:45:48.916 DEBUG hyper::proto::h1::io: parsed 7 headers Feb 18 12:45:48.916 TRACE parse_headers: hyper::proto::h1::role: Request.parse Complete(311) Feb 18 12:45:48.916 DEBUG hyper::proto::h1::conn: incoming body is empty Feb 18 12:45:48.916 DEBUG hyper::proto::h1::io: parsed 7 headers Feb 18 12:45:48.916 DEBUG weylus::web: Got request: Request { method: GET, uri: /style.css, version: HTTP/1.1, headers: {"host": "huawei.local:1701", "connection": "keep-alive", "accept": "text/css,*/*;q=0.1", "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15", "accept-language": "en-us", "referer": "http://huawei.local:1701/", "accept-encoding": "gzip, deflate"}, body: Body(Empty) } Feb 18 12:45:48.916 DEBUG hyper::proto::h1::conn: incoming body is empty Feb 18 12:45:48.916 DEBUG weylus::web: Got request: Request { method: GET, uri: /lib.js, version: HTTP/1.1, headers: {"host": "huawei.local:1701", "connection": "keep-alive", "accept": "*/*", "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15", "accept-language": "en-us", "referer": "http://huawei.local:1701/", "accept-encoding": "gzip, deflate"}, body: Body(Empty) } Feb 18 12:45:48.916 TRACE encode_headers: hyper::proto::h1::role: Server::encode status=200, body=Some(Known(2852)), req_method=Some(GET) Feb 18 12:45:48.916 TRACE encode_headers: hyper::proto::h1::role: Server::encode status=200, body=Some(Known(15071)), req_method=Some(GET) Feb 18 12:45:48.916 DEBUG hyper::proto::h1::io: flushed 2969 bytes Feb 18 12:45:48.916 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } Feb 18 12:45:48.917 DEBUG hyper::proto::h1::io: flushed 15196 bytes Feb 18 12:45:48.917 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } Feb 18 12:45:49.301 TRACE weylus::websocket: Got: GetCapturableList Feb 18 12:45:49.303 TRACE weylus::websocket: Got: ClientConfiguration { stylus_support: true, faster_capture: true, capturable_id: 0, capture_cursor: false, max_width: 2160, max_height: 1620 } [AVHWDeviceContext @ 0x7f83dc001a80] Failed to initialise VAAPI connection: -1 (unknown libva error). [libx264 @ 0x7f83dc003600] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 [libx264 @ 0x7f83dc003600] profile Constrained Baseline, level 6.1, 4:2:0, 8-bit [libx264 @ 0x7f83dc003600] 264 - core 161 r3039 544c61f - H.264/MPEG-4 AVC codec - Copyleft 2003-2021 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=8 lookahead_threads=8 sliced_threads=1 slices=8 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=12 keyint_min=1 scenecut=0 intra_refresh=0 rc=crf mbtree=0 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=0 Output #0, mp4, to '(null)': Stream #0:0: Video: h264, yuv420p, 1920x1080, q=2-31 Feb 18 12:45:49.369 INFO weylus::log: Video: 1920x1080@libx264 pix_fmt: yuv420p Feb 18 12:45:59.032 DEBUG hyper::server::shutdown: signal received, starting graceful shutdown Feb 18 12:45:59.033 TRACE hyper::proto::h1::conn: disable_keep_alive; in-progress connection Feb 18 12:45:59.033 TRACE hyper::proto::h1::conn: Conn::read_head Feb 18 12:45:59.033 TRACE hyper::proto::h1::conn: disable_keep_alive; closing idle connection Feb 18 12:45:59.033 TRACE hyper::proto::h1::conn: disable_keep_alive; in-progress connection Feb 18 12:45:59.033 TRACE hyper::proto::h1::conn: disable_keep_alive; closing idle connection Feb 18 12:45:59.033 TRACE hyper::proto::h1::conn: State::close() Feb 18 12:45:59.033 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Disabled } Feb 18 12:45:59.033 TRACE hyper::proto::h1::conn: State::close_read() Feb 18 12:45:59.033 TRACE hyper::proto::h1::conn: State::close_write() Feb 18 12:45:59.033 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Closed, writing: Closed, keep_alive: Disabled } Feb 18 12:45:59.033 TRACE hyper::proto::h1::conn: Conn::read_head Feb 18 12:45:59.033 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Disabled } Feb 18 12:45:59.033 TRACE hyper::proto::h1::conn: shut down IO complete Feb 18 12:45:59.033 TRACE hyper::proto::h1::conn: State::close() Feb 18 12:45:59.033 TRACE hyper::proto::h1::conn: State::close_read() Feb 18 12:45:59.033 TRACE hyper::proto::h1::conn: State::close_write() Feb 18 12:45:59.033 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Closed, writing: Closed, keep_alive: Disabled } Feb 18 12:45:59.033 TRACE hyper::proto::h1::conn: shut down IO complete Feb 18 12:45:59.035 DEBUG weylus::websocket: Error sending video: Broken pipe (os error 32) Feb 18 12:45:59.035 DEBUG weylus::websocket: Error sending video: Broken pipe (os error 32) [libx264 @ 0x7f83dc003600] frame I:37 Avg QP:17.70 size:188982 [libx264 @ 0x7f83dc003600] frame P:406 Avg QP:20.95 size: 4527 [libx264 @ 0x7f83dc003600] mb I I16..4: 100.0% 0.0% 0.0% [libx264 @ 0x7f83dc003600] mb P I16..4: 2.3% 0.0% 0.0% P16..4: 2.4% 0.0% 0.0% 0.0% 0.0% skip:95.3% [libx264 @ 0x7f83dc003600] coded y,uvDC,uvAC intra: 33.2% 14.8% 10.2% inter: 1.1% 0.7% 0.1% [libx264 @ 0x7f83dc003600] i16 v,h,dc,p: 54% 34% 10% 2% [libx264 @ 0x7f83dc003600] i8c dc,h,v,p: 81% 12% 5% 1% [libx264 @ 0x7f83dc003600] kb/s:159467.09 Feb 18 12:45:59.039 INFO weylus::websocket: Shutting down websocket: 0.0.0.0:9001 ```

Contents of va.log.*:

[46557.338673][ctx       none]==========va_TraceInitialize
[46557.338686][ctx       none]=========vaInitialize ret = VA_STATUS_ERROR_UNKNOWN, unknown libva error 
[46557.338773][ctx       none]==========va_TraceTerminate
[46557.338822][ctx       none]=========vaTerminate ret = VA_STATUS_SUCCESS, success (no error) 
H-M-H commented 3 years ago

Hmm, the video works fine because Weylus falls back to software encoding. Sadly the logs still don't feel like spilling their secrets. The only thing I can think of is some difference between the statically linked version of libva included with Weylus and the system version. I guess I will build a dynamically linked version then.

H-M-H commented 3 years ago

Alright, please try running weylus_va_dynamic from the latest build. It uses the system version of libva.

gabrc52 commented 3 years ago

The latest build crashes on Ubuntu. This is the output:

Feb 19 14:03:52.308  INFO weylus::web: Webserver listening at 0.0.0.0:1701...
Feb 19 14:03:53.104  INFO weylus::web: Client connected: 192.168.0.104:63186
[h264_vaapi @ 0x7fcf4c16f000] Driver does not support some wanted packed headers (wanted 0xd, found 0x1).
[h264_vaapi @ 0x7fcf4c16f000] Quality attribute is not supported: will use default quality level.
Output #0, mp4, to '(null)':
    Stream #0:0: Video: h264 (High), vaapi_vld, 1920x1080, q=2-31
Feb 19 14:03:53.559  INFO weylus::log: Video: 1920x1080@h264_vaapi pix_fmt: bgr0
Segmentation fault (core dumped)
Output of WEYLUS_LOG_LEVEL=TRACE LIBVA_MESSAGING_LEVEL=2 LIBVA_TRACE=va.log WEYLUS_VAAPI_DEVICE=/dev/dri/renderD128 ./weylus_va_dynamic: ``` Feb 19 14:04:46.244 INFO weylus::web: Webserver listening at 0.0.0.0:1701... Feb 19 14:04:50.778 TRACE hyper::proto::h1::conn: Conn::read_head Feb 19 14:04:50.778 TRACE hyper::proto::h1::conn: Conn::read_head Feb 19 14:04:50.778 TRACE hyper::proto::h1::conn: Conn::read_head Feb 19 14:04:50.778 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } Feb 19 14:04:50.778 TRACE hyper::proto::h1::conn: Conn::read_head Feb 19 14:04:50.778 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } Feb 19 14:04:50.778 DEBUG hyper::proto::h1::io: read 359 bytes Feb 19 14:04:50.778 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } Feb 19 14:04:50.778 TRACE parse_headers: hyper::proto::h1::role: Request.parse([Header; 100], [u8; 359]) Feb 19 14:04:50.778 TRACE parse_headers: hyper::proto::h1::role: Request.parse Complete(359) Feb 19 14:04:50.778 DEBUG hyper::proto::h1::io: parsed 7 headers Feb 19 14:04:50.778 DEBUG hyper::proto::h1::conn: incoming body is empty Feb 19 14:04:50.778 DEBUG weylus::web: Got request: Request { method: GET, uri: /, version: HTTP/1.1, headers: {"host": "huawei.local:1701", "upgrade-insecure-requests": "1", "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15", "accept-language": "en-us", "accept-encoding": "gzip, deflate", "connection": "keep-alive"}, body: Body(Empty) } Feb 19 14:04:50.778 INFO weylus::web: Client connected: 192.168.0.104:63192 Feb 19 14:04:50.778 TRACE encode_headers: hyper::proto::h1::role: Server::encode status=200, body=Some(Known(2743)), req_method=Some(GET) Feb 19 14:04:50.778 DEBUG hyper::proto::h1::io: flushed 2861 bytes Feb 19 14:04:50.779 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } Feb 19 14:04:50.786 TRACE hyper::proto::h1::conn: Conn::read_head Feb 19 14:04:50.786 DEBUG hyper::proto::h1::io: read 329 bytes Feb 19 14:04:50.786 TRACE parse_headers: hyper::proto::h1::role: Request.parse([Header; 100], [u8; 329]) Feb 19 14:04:50.786 TRACE parse_headers: hyper::proto::h1::role: Request.parse Complete(329) Feb 19 14:04:50.786 DEBUG hyper::proto::h1::io: parsed 7 headers Feb 19 14:04:50.786 DEBUG hyper::proto::h1::conn: incoming body is empty Feb 19 14:04:50.786 DEBUG weylus::web: Got request: Request { method: GET, uri: /style.css, version: HTTP/1.1, headers: {"host": "huawei.local:1701", "connection": "keep-alive", "accept": "text/css,*/*;q=0.1", "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15", "accept-language": "en-us", "referer": "http://huawei.local:1701/", "accept-encoding": "gzip, deflate"}, body: Body(Empty) } Feb 19 14:04:50.786 TRACE encode_headers: hyper::proto::h1::role: Server::encode status=200, body=Some(Known(2852)), req_method=Some(GET) Feb 19 14:04:50.786 DEBUG hyper::proto::h1::io: flushed 2969 bytes Feb 19 14:04:50.786 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } Feb 19 14:04:50.790 TRACE hyper::proto::h1::conn: Conn::read_head Feb 19 14:04:50.790 DEBUG hyper::proto::h1::io: read 311 bytes Feb 19 14:04:50.790 TRACE parse_headers: hyper::proto::h1::role: Request.parse([Header; 100], [u8; 311]) Feb 19 14:04:50.790 TRACE parse_headers: hyper::proto::h1::role: Request.parse Complete(311) Feb 19 14:04:50.790 DEBUG hyper::proto::h1::io: parsed 7 headers Feb 19 14:04:50.790 DEBUG hyper::proto::h1::conn: incoming body is empty Feb 19 14:04:50.790 DEBUG weylus::web: Got request: Request { method: GET, uri: /lib.js, version: HTTP/1.1, headers: {"host": "huawei.local:1701", "connection": "keep-alive", "accept": "*/*", "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15", "accept-language": "en-us", "referer": "http://huawei.local:1701/", "accept-encoding": "gzip, deflate"}, body: Body(Empty) } Feb 19 14:04:50.790 TRACE encode_headers: hyper::proto::h1::role: Server::encode status=200, body=Some(Known(15071)), req_method=Some(GET) Feb 19 14:04:50.790 DEBUG hyper::proto::h1::io: flushed 15196 bytes Feb 19 14:04:50.790 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } Feb 19 14:04:51.145 TRACE weylus::websocket: Got: GetCapturableList Feb 19 14:04:51.146 TRACE weylus::websocket: Got: ClientConfiguration { stylus_support: true, faster_capture: true, capturable_id: 0, capture_cursor: false, max_width: 2160, max_height: 1620 } Feb 19 14:04:51.207 DEBUG weylus::log: VA-API vendor: Mesa Gallium driver 20.3.2 for AMD RAVEN (DRM 3.38.0, 5.8.0-7642-generic, LLVM 11.0.0) [h264_vaapi @ 0x7f44f813bc00] Driver does not support some wanted packed headers (wanted 0xd, found 0x1). [h264_vaapi @ 0x7f44f813bc00] Quality attribute is not supported: will use default quality level. Output #0, mp4, to '(null)': Stream #0:0: Video: h264 (High), vaapi_vld, 1920x1080, q=2-31 Feb 19 14:04:51.209 INFO weylus::log: Video: 1920x1080@h264_vaapi pix_fmt: bgr0 Segmentation fault (core dumped) ```
va.log.200451.thd-0x0000397a from previous command: ``` [6627.200958][ctx none]==========va_TraceInitialize [6627.200968][ctx none]=========vaInitialize ret = VA_STATUS_SUCCESS, success (no error) [6627.205582][ctx none]==========va_TraceCreateSurfaces [6627.205586][ctx none] width = 1920 [6627.205587][ctx none] height = 1080 [6627.205587][ctx none] format = 1 [6627.205588][ctx none] num_surfaces = 1 [6627.205588][ctx none] surfaces[0] = 0x00000001 [6627.205589][ctx none] attrib_list[0] = [6627.205590][ctx none] type = 6 [6627.205590][ctx none] flags = 2 [6627.205590][ctx none] value.type = 1 [6627.205590][ctx none] value.value.i = 0x00000001 [6627.205591][ctx none] attrib_list[1] = [6627.205591][ctx none] type = 1 [6627.205591][ctx none] flags = 2 [6627.205592][ctx none] value.type = 1 [6627.205592][ctx none] value.value.i = 0x3231564e [6627.205647][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6627.205665][ctx none]=========vaDeriveImage ret = VA_STATUS_ERROR_OPERATION_FAILED, operation failed [6627.205828][ctx none]==========va_TraceCreateSurfaces [6627.205830][ctx none] width = 1920 [6627.205830][ctx none] height = 1080 [6627.205830][ctx none] format = 1 [6627.205831][ctx none] num_surfaces = 1 [6627.205831][ctx none] surfaces[0] = 0x00000002 [6627.205831][ctx none] attrib_list[0] = [6627.205832][ctx none] type = 6 [6627.205832][ctx none] flags = 2 [6627.205832][ctx none] value.type = 1 [6627.205833][ctx none] value.value.i = 0x00000001 [6627.205833][ctx none] attrib_list[1] = [6627.205833][ctx none] type = 1 [6627.205833][ctx none] flags = 2 [6627.205834][ctx none] value.type = 1 [6627.205834][ctx none] value.value.i = 0x3231564e [6627.205845][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6627.206149][ctx none]==========va_TraceCreateSurfaces [6627.206151][ctx none] width = 1920 [6627.206151][ctx none] height = 1080 [6627.206152][ctx none] format = 1 [6627.206152][ctx none] num_surfaces = 1 [6627.206152][ctx none] surfaces[0] = 0x00000003 [6627.206153][ctx none] attrib_list[0] = [6627.206153][ctx none] type = 6 [6627.206154][ctx none] flags = 2 [6627.206154][ctx none] value.type = 1 [6627.206154][ctx none] value.value.i = 0x00000001 [6627.206154][ctx none] attrib_list[1] = [6627.206155][ctx none] type = 1 [6627.206155][ctx none] flags = 2 [6627.206155][ctx none] value.type = 1 [6627.206155][ctx none] value.value.i = 0x3231564e [6627.206165][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6627.206261][ctx none]==========va_TraceCreateSurfaces [6627.206263][ctx none] width = 1920 [6627.206263][ctx none] height = 1080 [6627.206263][ctx none] format = 1 [6627.206263][ctx none] num_surfaces = 1 [6627.206264][ctx none] surfaces[0] = 0x00000004 [6627.206264][ctx none] attrib_list[0] = [6627.206264][ctx none] type = 6 [6627.206265][ctx none] flags = 2 [6627.206265][ctx none] value.type = 1 [6627.206265][ctx none] value.value.i = 0x00000001 [6627.206266][ctx none] attrib_list[1] = [6627.206266][ctx none] type = 1 [6627.206266][ctx none] flags = 2 [6627.206266][ctx none] value.type = 1 [6627.206267][ctx none] value.value.i = 0x3231564e [6627.206273][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6627.206409][ctx none]==========va_TraceCreateSurfaces [6627.206411][ctx none] width = 1920 [6627.206412][ctx none] height = 1080 [6627.206413][ctx none] format = 1 [6627.206414][ctx none] num_surfaces = 1 [6627.206414][ctx none] surfaces[0] = 0x00000005 [6627.206416][ctx none] attrib_list[0] = [6627.206417][ctx none] type = 6 [6627.206417][ctx none] flags = 2 [6627.206418][ctx none] value.type = 1 [6627.206419][ctx none] value.value.i = 0x00000001 [6627.206419][ctx none] attrib_list[1] = [6627.206420][ctx none] type = 1 [6627.206420][ctx none] flags = 2 [6627.206421][ctx none] value.type = 1 [6627.206421][ctx none] value.value.i = 0x3231564e [6627.206442][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6627.206552][ctx none]==========va_TraceCreateSurfaces [6627.206553][ctx none] width = 1920 [6627.206554][ctx none] height = 1080 [6627.206554][ctx none] format = 1 [6627.206554][ctx none] num_surfaces = 1 [6627.206554][ctx none] surfaces[0] = 0x00000006 [6627.206555][ctx none] attrib_list[0] = [6627.206555][ctx none] type = 6 [6627.206556][ctx none] flags = 2 [6627.206556][ctx none] value.type = 1 [6627.206556][ctx none] value.value.i = 0x00000001 [6627.206556][ctx none] attrib_list[1] = [6627.206557][ctx none] type = 1 [6627.206557][ctx none] flags = 2 [6627.206557][ctx none] value.type = 1 [6627.206557][ctx none] value.value.i = 0x3231564e [6627.206564][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6627.206652][ctx none]==========va_TraceCreateSurfaces [6627.206653][ctx none] width = 1920 [6627.206653][ctx none] height = 1080 [6627.206654][ctx none] format = 1 [6627.206654][ctx none] num_surfaces = 1 [6627.206654][ctx none] surfaces[0] = 0x00000007 [6627.206655][ctx none] attrib_list[0] = [6627.206655][ctx none] type = 6 [6627.206655][ctx none] flags = 2 [6627.206656][ctx none] value.type = 1 [6627.206656][ctx none] value.value.i = 0x00000001 [6627.206656][ctx none] attrib_list[1] = [6627.206656][ctx none] type = 1 [6627.206657][ctx none] flags = 2 [6627.206657][ctx none] value.type = 1 [6627.206657][ctx none] value.value.i = 0x3231564e [6627.206662][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6627.206748][ctx none]==========va_TraceCreateSurfaces [6627.206749][ctx none] width = 1920 [6627.206749][ctx none] height = 1080 [6627.206750][ctx none] format = 1 [6627.206750][ctx none] num_surfaces = 1 [6627.206750][ctx none] surfaces[0] = 0x00000008 [6627.206751][ctx none] attrib_list[0] = [6627.206751][ctx none] type = 6 [6627.206752][ctx none] flags = 2 [6627.206752][ctx none] value.type = 1 [6627.206752][ctx none] value.value.i = 0x00000001 [6627.206752][ctx none] attrib_list[1] = [6627.206753][ctx none] type = 1 [6627.206753][ctx none] flags = 2 [6627.206753][ctx none] value.type = 1 [6627.206753][ctx none] value.value.i = 0x3231564e [6627.206758][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6627.206845][ctx none]==========va_TraceCreateSurfaces [6627.206846][ctx none] width = 1920 [6627.206846][ctx none] height = 1080 [6627.206846][ctx none] format = 1 [6627.206847][ctx none] num_surfaces = 1 [6627.206847][ctx none] surfaces[0] = 0x00000009 [6627.206848][ctx none] attrib_list[0] = [6627.206848][ctx none] type = 6 [6627.206848][ctx none] flags = 2 [6627.206848][ctx none] value.type = 1 [6627.206849][ctx none] value.value.i = 0x00000001 [6627.206849][ctx none] attrib_list[1] = [6627.206849][ctx none] type = 1 [6627.206849][ctx none] flags = 2 [6627.206850][ctx none] value.type = 1 [6627.206850][ctx none] value.value.i = 0x3231564e [6627.206855][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6627.206938][ctx none]==========va_TraceCreateSurfaces [6627.206939][ctx none] width = 1920 [6627.206939][ctx none] height = 1080 [6627.206939][ctx none] format = 1 [6627.206940][ctx none] num_surfaces = 1 [6627.206940][ctx none] surfaces[0] = 0x0000000a [6627.206941][ctx none] attrib_list[0] = [6627.206941][ctx none] type = 6 [6627.206941][ctx none] flags = 2 [6627.206941][ctx none] value.type = 1 [6627.206942][ctx none] value.value.i = 0x00000001 [6627.206942][ctx none] attrib_list[1] = [6627.206942][ctx none] type = 1 [6627.206942][ctx none] flags = 2 [6627.206943][ctx none] value.type = 1 [6627.206943][ctx none] value.value.i = 0x3231564e [6627.206955][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6627.207049][ctx none]==========va_TraceCreateSurfaces [6627.207050][ctx none] width = 1920 [6627.207050][ctx none] height = 1080 [6627.207050][ctx none] format = 1 [6627.207051][ctx none] num_surfaces = 1 [6627.207051][ctx none] surfaces[0] = 0x0000000b [6627.207051][ctx none] attrib_list[0] = [6627.207052][ctx none] type = 6 [6627.207052][ctx none] flags = 2 [6627.207052][ctx none] value.type = 1 [6627.207053][ctx none] value.value.i = 0x00000001 [6627.207053][ctx none] attrib_list[1] = [6627.207053][ctx none] type = 1 [6627.207054][ctx none] flags = 2 [6627.207054][ctx none] value.type = 1 [6627.207054][ctx none] value.value.i = 0x3231564e [6627.207059][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6627.207169][ctx none]==========va_TraceCreateSurfaces [6627.207170][ctx none] width = 1920 [6627.207170][ctx none] height = 1080 [6627.207171][ctx none] format = 1 [6627.207171][ctx none] num_surfaces = 1 [6627.207171][ctx none] surfaces[0] = 0x0000000c [6627.207172][ctx none] attrib_list[0] = [6627.207172][ctx none] type = 6 [6627.207172][ctx none] flags = 2 [6627.207173][ctx none] value.type = 1 [6627.207173][ctx none] value.value.i = 0x00000001 [6627.207173][ctx none] attrib_list[1] = [6627.207174][ctx none] type = 1 [6627.207174][ctx none] flags = 2 [6627.207174][ctx none] value.type = 1 [6627.207174][ctx none] value.value.i = 0x3231564e [6627.207180][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6627.207273][ctx none]==========va_TraceCreateSurfaces [6627.207275][ctx none] width = 1920 [6627.207275][ctx none] height = 1080 [6627.207275][ctx none] format = 1 [6627.207275][ctx none] num_surfaces = 1 [6627.207276][ctx none] surfaces[0] = 0x0000000d [6627.207276][ctx none] attrib_list[0] = [6627.207278][ctx none] type = 6 [6627.207278][ctx none] flags = 2 [6627.207278][ctx none] value.type = 1 [6627.207279][ctx none] value.value.i = 0x00000001 [6627.207279][ctx none] attrib_list[1] = [6627.207279][ctx none] type = 1 [6627.207279][ctx none] flags = 2 [6627.207280][ctx none] value.type = 1 [6627.207280][ctx none] value.value.i = 0x3231564e [6627.207286][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6627.207400][ctx none]==========va_TraceCreateSurfaces [6627.207402][ctx none] width = 1920 [6627.207402][ctx none] height = 1080 [6627.207403][ctx none] format = 1 [6627.207403][ctx none] num_surfaces = 1 [6627.207403][ctx none] surfaces[0] = 0x0000000e [6627.207404][ctx none] attrib_list[0] = [6627.207404][ctx none] type = 6 [6627.207404][ctx none] flags = 2 [6627.207404][ctx none] value.type = 1 [6627.207405][ctx none] value.value.i = 0x00000001 [6627.207405][ctx none] attrib_list[1] = [6627.207405][ctx none] type = 1 [6627.207406][ctx none] flags = 2 [6627.207406][ctx none] value.type = 1 [6627.207406][ctx none] value.value.i = 0x3231564e [6627.207412][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6627.207497][ctx none]==========va_TraceCreateSurfaces [6627.207498][ctx none] width = 1920 [6627.207499][ctx none] height = 1080 [6627.207499][ctx none] format = 1 [6627.207499][ctx none] num_surfaces = 1 [6627.207499][ctx none] surfaces[0] = 0x0000000f [6627.207500][ctx none] attrib_list[0] = [6627.207500][ctx none] type = 6 [6627.207501][ctx none] flags = 2 [6627.207501][ctx none] value.type = 1 [6627.207501][ctx none] value.value.i = 0x00000001 [6627.207501][ctx none] attrib_list[1] = [6627.207502][ctx none] type = 1 [6627.207502][ctx none] flags = 2 [6627.207502][ctx none] value.type = 1 [6627.207502][ctx none] value.value.i = 0x3231564e [6627.207514][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6627.207597][ctx none]==========va_TraceCreateSurfaces [6627.207598][ctx none] width = 1920 [6627.207599][ctx none] height = 1080 [6627.207599][ctx none] format = 1 [6627.207599][ctx none] num_surfaces = 1 [6627.207600][ctx none] surfaces[0] = 0x00000010 [6627.207600][ctx none] attrib_list[0] = [6627.207600][ctx none] type = 6 [6627.207601][ctx none] flags = 2 [6627.207601][ctx none] value.type = 1 [6627.207601][ctx none] value.value.i = 0x00000001 [6627.207602][ctx none] attrib_list[1] = [6627.207602][ctx none] type = 1 [6627.207602][ctx none] flags = 2 [6627.207602][ctx none] value.type = 1 [6627.207603][ctx none] value.value.i = 0x3231564e [6627.207607][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6627.207685][ctx none]==========va_TraceCreateSurfaces [6627.207686][ctx none] width = 1920 [6627.207686][ctx none] height = 1080 [6627.207687][ctx none] format = 1 [6627.207687][ctx none] num_surfaces = 1 [6627.207687][ctx none] surfaces[0] = 0x00000011 [6627.207688][ctx none] attrib_list[0] = [6627.207688][ctx none] type = 6 [6627.207688][ctx none] flags = 2 [6627.207689][ctx none] value.type = 1 [6627.207689][ctx none] value.value.i = 0x00000001 [6627.207689][ctx none] attrib_list[1] = [6627.207689][ctx none] type = 1 [6627.207690][ctx none] flags = 2 [6627.207690][ctx none] value.type = 1 [6627.207690][ctx none] value.value.i = 0x3231564e [6627.207695][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6627.207779][ctx none]==========va_TraceCreateSurfaces [6627.207780][ctx none] width = 1920 [6627.207780][ctx none] height = 1080 [6627.207781][ctx none] format = 1 [6627.207781][ctx none] num_surfaces = 1 [6627.207781][ctx none] surfaces[0] = 0x00000012 [6627.207782][ctx none] attrib_list[0] = [6627.207782][ctx none] type = 6 [6627.207783][ctx none] flags = 2 [6627.207783][ctx none] value.type = 1 [6627.207783][ctx none] value.value.i = 0x00000001 [6627.207783][ctx none] attrib_list[1] = [6627.207784][ctx none] type = 1 [6627.207784][ctx none] flags = 2 [6627.207784][ctx none] value.type = 1 [6627.207784][ctx none] value.value.i = 0x3231564e [6627.207789][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6627.207866][ctx none]==========va_TraceCreateSurfaces [6627.207867][ctx none] width = 1920 [6627.207867][ctx none] height = 1080 [6627.207867][ctx none] format = 1 [6627.207868][ctx none] num_surfaces = 1 [6627.207868][ctx none] surfaces[0] = 0x00000013 [6627.207868][ctx none] attrib_list[0] = [6627.207869][ctx none] type = 6 [6627.207869][ctx none] flags = 2 [6627.207869][ctx none] value.type = 1 [6627.207870][ctx none] value.value.i = 0x00000001 [6627.207870][ctx none] attrib_list[1] = [6627.207870][ctx none] type = 1 [6627.207870][ctx none] flags = 2 [6627.207871][ctx none] value.type = 1 [6627.207871][ctx none] value.value.i = 0x3231564e [6627.207880][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6627.207952][ctx none]==========va_TraceCreateSurfaces [6627.207953][ctx none] width = 1920 [6627.207953][ctx none] height = 1080 [6627.207954][ctx none] format = 1 [6627.207954][ctx none] num_surfaces = 1 [6627.207954][ctx none] surfaces[0] = 0x00000014 [6627.207955][ctx none] attrib_list[0] = [6627.207955][ctx none] type = 6 [6627.207955][ctx none] flags = 2 [6627.207955][ctx none] value.type = 1 [6627.207956][ctx none] value.value.i = 0x00000001 [6627.207956][ctx none] attrib_list[1] = [6627.207956][ctx none] type = 1 [6627.207957][ctx none] flags = 2 [6627.207957][ctx none] value.type = 1 [6627.207957][ctx none] value.value.i = 0x3231564e [6627.207962][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6627.208063][ctx none]=========vaQueryConfigProfiles ret = VA_STATUS_SUCCESS, success (no error) [6627.208066][ctx none]=========vaQueryConfigEntrypoints ret = VA_STATUS_SUCCESS, success (no error) [6627.208067][ctx none]=========vaGetConfigAttributes ret = VA_STATUS_SUCCESS, success (no error) [6627.208068][ctx none]=========vaGetConfigAttributes ret = VA_STATUS_SUCCESS, success (no error) [6627.208072][ctx none]=========vaGetConfigAttributes ret = VA_STATUS_SUCCESS, success (no error) [6627.208073][ctx none]=========vaGetConfigAttributes ret = VA_STATUS_SUCCESS, success (no error) [6627.208102][ctx none]=========vaGetConfigAttributes ret = VA_STATUS_SUCCESS, success (no error) [6627.208103][ctx none]=========vaGetConfigAttributes ret = VA_STATUS_SUCCESS, success (no error) [6627.208110][ctx none]==========va_TraceCreateConfig [6627.208111][ctx none] profile = 7 [6627.208111][ctx none] entrypoint = 6 [6627.208112][ctx none] num_attribs = 3 [6627.208112][ctx none] attrib_list[0].type = 0x00000000 [6627.208113][ctx none] attrib_list[0].value = 0x00000001 [6627.208113][ctx none] attrib_list[1].type = 0x00000005 [6627.208114][ctx none] attrib_list[1].value = 0x00000010 [6627.208114][ctx none] attrib_list[2].type = 0x0000000a [6627.208115][ctx none] attrib_list[2].value = 0x00000001 [6627.208122][ctx none]=========vaCreateConfig ret = VA_STATUS_SUCCESS, success (no error) [6627.208124][ctx none]==========va_TraceQuerySurfaceAttributes [6627.208124][ctx none] config = 0x00000015 [6627.208127][ctx none]=========vaQuerySurfaceAttributes ret = VA_STATUS_SUCCESS, success (no error) [6627.208129][ctx none]==========va_TraceQuerySurfaceAttributes [6627.208130][ctx none] config = 0x00000015 [6627.208130][ctx none] attrib_list[0] = [6627.208131][ctx none] type = 1 [6627.208131][ctx none] flags = 3 [6627.208131][ctx none] value.type = 1 [6627.208132][ctx none] value.value.i = 0x3231564e [6627.208132][ctx none] attrib_list[1] = [6627.208132][ctx none] type = 1 [6627.208133][ctx none] flags = 3 [6627.208133][ctx none] value.type = 1 [6627.208133][ctx none] value.value.i = 0x30313050 [6627.208133][ctx none] attrib_list[2] = [6627.208134][ctx none] type = 1 [6627.208134][ctx none] flags = 3 [6627.208134][ctx none] value.type = 1 [6627.208135][ctx none] value.value.i = 0x36313050 [6627.208135][ctx none] attrib_list[3] = [6627.208135][ctx none] type = 6 [6627.208135][ctx none] flags = 3 [6627.208136][ctx none] value.type = 1 [6627.208136][ctx none] value.value.i = 0x20000001 [6627.208136][ctx none] attrib_list[4] = [6627.208136][ctx none] type = 7 [6627.208137][ctx none] flags = 2 [6627.208137][ctx none] value.type = 3 [6627.208137][ctx none] value.value.p = (nil) [6627.208138][ctx none] attrib_list[5] = [6627.208138][ctx none] type = 3 [6627.208138][ctx none] flags = 1 [6627.208139][ctx none] value.type = 1 [6627.208139][ctx none] value.value.i = 0x00001000 [6627.208139][ctx none] attrib_list[6] = [6627.208140][ctx none] type = 5 [6627.208140][ctx none] flags = 1 [6627.208140][ctx none] value.type = 1 [6627.208141][ctx none] value.value.i = 0x00000900 [6627.208150][ctx none]=========vaQuerySurfaceAttributes ret = VA_STATUS_SUCCESS, success (no error) [6627.208260][ctx none]==========va_TraceCreateSurfaces [6627.208261][ctx none] width = 1920 [6627.208262][ctx none] height = 1088 [6627.208262][ctx none] format = 1 [6627.208262][ctx none] num_surfaces = 1 [6627.208262][ctx none] surfaces[0] = 0x00000016 [6627.208263][ctx none] attrib_list[0] = [6627.208263][ctx none] type = 6 [6627.208264][ctx none] flags = 2 [6627.208264][ctx none] value.type = 1 [6627.208264][ctx none] value.value.i = 0x00000001 [6627.208265][ctx none] attrib_list[1] = [6627.208265][ctx none] type = 1 [6627.208265][ctx none] flags = 2 [6627.208265][ctx none] value.type = 1 [6627.208266][ctx none] value.value.i = 0x3231564e [6627.208271][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6627.208274][ctx none]=========vaDeriveImage ret = VA_STATUS_ERROR_OPERATION_FAILED, operation failed [6627.208279][ctx 0x00000017]==========va_TraceCreateContext [6627.208280][ctx 0x00000017] context = 0x00000017 va_trace_flag 0x1 [6627.208280][ctx 0x00000017] profile = 7 entrypoint = 6 [6627.208281][ctx 0x00000017] config = 0x00000015 [6627.208281][ctx 0x00000017] width = 1920 [6627.208282][ctx 0x00000017] height = 1088 [6627.208282][ctx 0x00000017] flag = 0x00000001 [6627.208282][ctx 0x00000017] num_render_targets = 0 [6627.208283][ctx none]=========vaCreateContext ret = VA_STATUS_SUCCESS, success (no error) [6627.209130][ctx none]==========va_TraceSyncSurface [6627.209132][ctx none] render_target = 0x00000014 [6627.209146][ctx none]=========vaSyncSurface ret = VA_STATUS_SUCCESS, success (no error) [6627.209157][ctx none]=========vaCreateImage ret = VA_STATUS_SUCCESS, success (no error) [6627.209159][ctx none]=========vaMapBuffer ret = VA_STATUS_SUCCESS, success (no error) [6627.214420][ctx none]=========vaUnmapBuffer ret = VA_STATUS_SUCCESS, success (no error) [6627.218208][ctx none]=========vaPutImage ret = VA_STATUS_SUCCESS, success (no error) [6627.218733][ctx none]=========vaDestroyImage ret = VA_STATUS_SUCCESS, success (no error) [6627.218786][ctx 0x00000017]==========va_TraceCreateBuffer [6627.218789][ctx 0x00000017] buf_type=VAEncCodedBufferType [6627.218789][ctx 0x00000017] buf_id=0x18 [6627.218790][ctx 0x00000017] size=6332416 [6627.218790][ctx 0x00000017] num_elements=1 [6627.218820][ctx none]=========vaCreateBuffer ret = VA_STATUS_SUCCESS, success (no error) [6627.218825][ctx none]=========vaCreateBuffer ret = VA_STATUS_SUCCESS, success (no error) [6627.218826][ctx none]=========vaCreateBuffer ret = VA_STATUS_SUCCESS, success (no error) [6627.218829][ctx none]=========vaCreateBuffer ret = VA_STATUS_SUCCESS, success (no error) [6627.218846][ctx none]=========vaCreateBuffer ret = VA_STATUS_SUCCESS, success (no error) [6627.218847][ctx none]=========vaCreateBuffer ret = VA_STATUS_SUCCESS, success (no error) [6627.218852][ctx none]=========vaCreateBuffer ret = VA_STATUS_SUCCESS, success (no error) [6627.218853][ctx 0x00000017]==========va_TraceBeginPicture [6627.218853][ctx 0x00000017] context = 0x00000017 [6627.218854][ctx 0x00000017] render_targets = 0x00000014 [6627.218854][ctx 0x00000017] frame_count = #0 [6627.218858][ctx none]=========vaBeginPicture ret = VA_STATUS_SUCCESS, success (no error) [6627.218858][ctx 0x00000017]==========va_TraceRenderPicture [6627.218859][ctx 0x00000017] context = 0x00000017 [6627.218859][ctx 0x00000017] num_buffers = 6 [6627.218860][ctx none]=========vaBufferInfo ret = VA_STATUS_SUCCESS, success (no error) [6627.218860][ctx 0x00000017] --------------------------- [6627.218861][ctx 0x00000017] buffers[0] = 0x00000019 [6627.218861][ctx 0x00000017] type = VAEncSequenceParameterBufferType [6627.218862][ctx 0x00000017] size = 1132 [6627.218862][ctx 0x00000017] num_elements = 1 [6627.218863][ctx none]=========vaMapBuffer ret = VA_STATUS_SUCCESS, success (no error) [6627.218864][ctx 0x00000017] element[0] = [6627.218865][ctx 0x00000017] --VAEncSequenceParameterBufferH264 [6627.218865][ctx 0x00000017] seq_parameter_set_id = 0 [6627.218865][ctx 0x00000017] level_idc = 40 [6627.218866][ctx 0x00000017] intra_period = 12 [6627.218866][ctx 0x00000017] intra_idr_period = 12 [6627.218867][ctx 0x00000017] ip_period = 1 [6627.218867][ctx 0x00000017] bits_per_second = 0 [6627.218867][ctx 0x00000017] max_num_ref_frames = 1 [6627.218868][ctx 0x00000017] picture_width_in_mbs = 120 [6627.218868][ctx 0x00000017] picture_height_in_mbs = 68 [6627.218868][ctx 0x00000017] chroma_format_idc = 1 [6627.218869][ctx 0x00000017] frame_mbs_only_flag = 1 [6627.218869][ctx 0x00000017] mb_adaptive_frame_field_flag = 0 [6627.218870][ctx 0x00000017] seq_scaling_matrix_present_flag = 0 [6627.218870][ctx 0x00000017] direct_8x8_inference_flag = 1 [6627.218870][ctx 0x00000017] log2_max_frame_num_minus4 = 4 [6627.218871][ctx 0x00000017] pic_order_cnt_type = 0 [6627.218871][ctx 0x00000017] log2_max_pic_order_cnt_lsb_minus4 = 4 [6627.218871][ctx 0x00000017] delta_pic_order_always_zero_flag = 0 [6627.218872][ctx 0x00000017] bit_depth_luma_minus8 = 0 [6627.218872][ctx 0x00000017] bit_depth_chroma_minus8 = 0 [6627.218873][ctx 0x00000017] num_ref_frames_in_pic_order_cnt_cycle = 0 [6627.218873][ctx 0x00000017] offset_for_non_ref_pic = 0 [6627.218874][ctx 0x00000017] offset_for_top_to_bottom_field = 0 [6627.218874][ctx 0x00000017] offset_for_ref_frame[0] = 0 [6627.218874][ctx 0x00000017] frame_cropping_flag = 1 [6627.218875][ctx 0x00000017] frame_crop_left_offset = 0 [6627.218875][ctx 0x00000017] frame_crop_right_offset = 0 [6627.218875][ctx 0x00000017] frame_crop_top_offset = 0 [6627.218876][ctx 0x00000017] frame_crop_bottom_offset = 4 [6627.218876][ctx 0x00000017] vui_parameters_present_flag = 1 [6627.218876][ctx 0x00000017] aspect_ratio_info_present_flag = 0 [6627.218877][ctx 0x00000017] timing_info_present_flag = 1 [6627.218877][ctx 0x00000017] bitstream_restriction_flag = 1 [6627.218877][ctx 0x00000017] log2_max_mv_length_horizontal = 15 [6627.218878][ctx 0x00000017] log2_max_mv_length_vertical = 15 [6627.218878][ctx 0x00000017] aspect_ratio_idc = 0 [6627.218878][ctx 0x00000017] sar_width = 0 [6627.218879][ctx 0x00000017] sar_height = 0 [6627.218879][ctx 0x00000017] num_units_in_tick = 1 [6627.218879][ctx 0x00000017] time_scale = 2000 [6627.218891][ctx none]=========vaUnmapBuffer ret = VA_STATUS_SUCCESS, success (no error) [6627.218891][ctx none]=========vaBufferInfo ret = VA_STATUS_SUCCESS, success (no error) [6627.218892][ctx 0x00000017] --------------------------- [6627.218892][ctx 0x00000017] buffers[1] = 0x0000001a [6627.218893][ctx 0x00000017] type = VAEncMiscParameterBufferType [6627.218893][ctx 0x00000017] size = 28 [6627.218894][ctx 0x00000017] num_elements = 1 [6627.218894][ctx none]=========vaMapBuffer ret = VA_STATUS_SUCCESS, success (no error) [6627.218894][ctx 0x00000017] element[0] = [6627.218895][ctx 0x00000017] --VAEncMiscParameterFrameRate [6627.218905][ctx 0x00000017] framerate = 66536 [6627.218905][ctx 0x00000017] framerate_flags.temporal_id = 0 [6627.218908][ctx none]=========vaUnmapBuffer ret = VA_STATUS_SUCCESS, success (no error) [6627.218908][ctx none]=========vaBufferInfo ret = VA_STATUS_SUCCESS, success (no error) [6627.218909][ctx 0x00000017] --------------------------- [6627.218909][ctx 0x00000017] buffers[2] = 0x0000001b [6627.218909][ctx 0x00000017] type = VAEncPictureParameterBufferType [6627.218910][ctx 0x00000017] size = 648 [6627.218910][ctx 0x00000017] num_elements = 1 [6627.218911][ctx none]=========vaMapBuffer ret = VA_STATUS_SUCCESS, success (no error) [6627.218911][ctx 0x00000017] element[0] = [6627.218912][ctx 0x00000017] --VAEncPictureParameterBufferH264 [6627.218912][ctx 0x00000017] CurrPic.picture_id = 0x00000016 [6627.218912][ctx 0x00000017] CurrPic.frame_idx = 0 [6627.218913][ctx 0x00000017] CurrPic.flags = 0x00000000 [6627.218913][ctx 0x00000017] CurrPic.TopFieldOrderCnt = 0 [6627.218913][ctx 0x00000017] CurrPic.BottomFieldOrderCnt = 0 [6627.218914][ctx 0x00000017] ReferenceFrames (TopFieldOrderCnt-BottomFieldOrderCnt-picture_id-frame_idx-flags): [6627.218914][ctx 0x00000017] coded_buf = 00000018 [6627.218915][ctx 0x00000017] pic_parameter_set_id = 0 [6627.218915][ctx 0x00000017] seq_parameter_set_id = 0 [6627.218915][ctx 0x00000017] last_picture = 0x00000000 [6627.218916][ctx 0x00000017] frame_num = 0 [6627.218916][ctx 0x00000017] pic_init_qp = 23 [6627.218917][ctx 0x00000017] num_ref_idx_l0_active_minus1 = 0 [6627.218917][ctx 0x00000017] num_ref_idx_l1_active_minus1 = 0 [6627.218917][ctx 0x00000017] chroma_qp_index_offset = 0 [6627.218918][ctx 0x00000017] second_chroma_qp_index_offset = 0 [6627.218918][ctx 0x00000017] pic_fields = 0x10b [6627.218919][ctx 0x00000017] idr_pic_flag = 1 [6627.218919][ctx 0x00000017] reference_pic_flag = 1 [6627.218919][ctx 0x00000017] entropy_coding_mode_flag = 1 [6627.218920][ctx 0x00000017] weighted_pred_flag = 0 [6627.218920][ctx 0x00000017] weighted_bipred_idc = 0 [6627.218920][ctx 0x00000017] constrained_intra_pred_flag = 0 [6627.218921][ctx 0x00000017] transform_8x8_mode_flag = 1 [6627.218921][ctx 0x00000017] deblocking_filter_control_present_flag = 0 [6627.218921][ctx 0x00000017] redundant_pic_cnt_present_flag = 0 [6627.218922][ctx 0x00000017] pic_order_present_flag = 0 [6627.218922][ctx 0x00000017] pic_scaling_matrix_present_flag = 0 [6627.218927][ctx none]=========vaUnmapBuffer ret = VA_STATUS_SUCCESS, success (no error) [6627.218928][ctx none]=========vaBufferInfo ret = VA_STATUS_SUCCESS, success (no error) [6627.218928][ctx 0x00000017] --------------------------- [6627.218929][ctx 0x00000017] buffers[3] = 0x0000001c [6627.218929][ctx 0x00000017] type = VAEncPackedHeaderParameterBufferType [6627.218929][ctx 0x00000017] size = 28 [6627.218930][ctx 0x00000017] num_elements = 1 [6627.218930][ctx none]=========vaMapBuffer ret = VA_STATUS_SUCCESS, success (no error) [6627.218931][ctx 0x00000017] element[0] = [6627.218932][ctx 0x00000017] --VAEncPackedHeaderParameterBuffer [6627.218932][ctx 0x00000017] type = 0x00000001 [6627.218932][ctx 0x00000017] bit_length = 304 [6627.218933][ctx 0x00000017] has_emulation_bytes = 1 [6627.218935][ctx none]=========vaUnmapBuffer ret = VA_STATUS_SUCCESS, success (no error) [6627.218935][ctx none]=========vaBufferInfo ret = VA_STATUS_SUCCESS, success (no error) [6627.218936][ctx 0x00000017] --------------------------- [6627.218936][ctx 0x00000017] buffers[4] = 0x0000001d [6627.218936][ctx 0x00000017] type = VAEncPackedHeaderDataBufferType [6627.218937][ctx 0x00000017] size = 38 [6627.218937][ctx 0x00000017] num_elements = 1 [6627.218937][ctx none]=========vaMapBuffer ret = VA_STATUS_SUCCESS, success (no error) [6627.218938][ctx 0x00000017] element[0] = --VAEncPackedHeaderDataBufferType [6627.218941][ctx none]=========vaUnmapBuffer ret = VA_STATUS_SUCCESS, success (no error) [6627.218941][ctx none]=========vaBufferInfo ret = VA_STATUS_SUCCESS, success (no error) [6627.218941][ctx 0x00000017] --------------------------- [6627.218942][ctx 0x00000017] buffers[5] = 0x0000001e [6627.218942][ctx 0x00000017] type = VAEncSliceParameterBufferType [6627.218943][ctx 0x00000017] size = 3140 [6627.218943][ctx 0x00000017] num_elements = 1 [6627.218943][ctx none]=========vaMapBuffer ret = VA_STATUS_SUCCESS, success (no error) [6627.218944][ctx 0x00000017] element[0] = [6627.218944][ctx 0x00000017] --VAEncSliceParameterBufferH264 [6627.218945][ctx 0x00000017] macroblock_address = 0 [6627.218945][ctx 0x00000017] num_macroblocks = 8160 [6627.218945][ctx 0x00000017] macroblock_info = ffffffff [6627.218946][ctx 0x00000017] slice_type = 2 [6627.218946][ctx 0x00000017] pic_parameter_set_id = 0 [6627.218946][ctx 0x00000017] idr_pic_id = 0 [6627.218947][ctx 0x00000017] pic_order_cnt_lsb = 0 [6627.218947][ctx 0x00000017] delta_pic_order_cnt_bottom = 0 [6627.218947][ctx 0x00000017] delta_pic_order_cnt[0] = 0 [6627.218948][ctx 0x00000017] delta_pic_order_cnt[1] = 0 [6627.218948][ctx 0x00000017] direct_spatial_mv_pred_flag = 1 [6627.218948][ctx 0x00000017] num_ref_idx_active_override_flag = 0 [6627.218949][ctx 0x00000017] num_ref_idx_l1_active_minus1 = 0 [6627.218949][ctx 0x00000017] slice_beta_offset_div2 = 0 [6627.218950][ctx 0x00000017] RefPicList0 (TopFieldOrderCnt-BottomFieldOrderCnt-picture_id-frame_idx-flags): [6627.218950][ctx 0x00000017] RefPicList1 (TopFieldOrderCnt-BottomFieldOrderCnt-picture_id-frame_idx-flags): [6627.218950][ctx 0x00000017] luma_log2_weight_denom = 0 [6627.218951][ctx 0x00000017] chroma_log2_weight_denom = 0 [6627.218951][ctx 0x00000017] luma_weight_l0_flag = 0 [6627.218951][ctx 0x00000017] chroma_weight_l0_flag = 0 [6627.218952][ctx 0x00000017] luma_weight_l1_flag = 0 [6627.218952][ctx 0x00000017] chroma_weight_l1_flag = 0 [6627.218958][ctx 0x00000017] cabac_init_idc = 0 [6627.218958][ctx 0x00000017] slice_qp_delta = 0 [6627.218958][ctx 0x00000017] disable_deblocking_filter_idc = 0 [6627.218959][ctx 0x00000017] slice_alpha_c0_offset_div2 = 0 [6627.218959][ctx 0x00000017] slice_beta_offset_div2 = 0 [6627.218961][ctx none]=========vaUnmapBuffer ret = VA_STATUS_SUCCESS, success (no error) [6627.225835][ctx none]=========vaRenderPicture ret = VA_STATUS_SUCCESS, success (no error) [6627.225842][ctx 0x00000017]==========va_TraceEndPicture [6627.225844][ctx 0x00000017] context = 0x00000017 [6627.225844][ctx 0x00000017] render_targets = 0x00000014 ```
Output of WEYLUS_LOG_LEVEL=TRACE LIBVA_MESSAGING_LEVEL=2 LIBVA_TRACE=va.log ./weylus_va_dynamic: ``` Feb 19 14:06:56.574 INFO weylus::web: Webserver listening at 0.0.0.0:1701... Feb 19 14:07:15.478 TRACE hyper::proto::h1::conn: Conn::read_head Feb 19 14:07:15.478 TRACE hyper::proto::h1::conn: Conn::read_head Feb 19 14:07:15.478 TRACE hyper::proto::h1::conn: Conn::read_head Feb 19 14:07:15.478 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } Feb 19 14:07:15.478 TRACE hyper::proto::h1::conn: Conn::read_head Feb 19 14:07:15.478 DEBUG hyper::proto::h1::io: read 359 bytes Feb 19 14:07:15.478 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } Feb 19 14:07:15.478 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } Feb 19 14:07:15.478 TRACE parse_headers: hyper::proto::h1::role: Request.parse([Header; 100], [u8; 359]) Feb 19 14:07:15.478 TRACE parse_headers: hyper::proto::h1::role: Request.parse Complete(359) Feb 19 14:07:15.478 DEBUG hyper::proto::h1::io: parsed 7 headers Feb 19 14:07:15.478 DEBUG hyper::proto::h1::conn: incoming body is empty Feb 19 14:07:15.478 DEBUG weylus::web: Got request: Request { method: GET, uri: /, version: HTTP/1.1, headers: {"host": "huawei.local:1701", "upgrade-insecure-requests": "1", "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15", "accept-language": "en-us", "accept-encoding": "gzip, deflate", "connection": "keep-alive"}, body: Body(Empty) } Feb 19 14:07:15.478 INFO weylus::web: Client connected: 192.168.0.104:63196 Feb 19 14:07:15.479 TRACE encode_headers: hyper::proto::h1::role: Server::encode status=200, body=Some(Known(2743)), req_method=Some(GET) Feb 19 14:07:15.479 DEBUG hyper::proto::h1::io: flushed 2861 bytes Feb 19 14:07:15.479 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } Feb 19 14:07:15.484 TRACE hyper::proto::h1::conn: Conn::read_head Feb 19 14:07:15.485 DEBUG hyper::proto::h1::io: read 329 bytes Feb 19 14:07:15.485 TRACE parse_headers: hyper::proto::h1::role: Request.parse([Header; 100], [u8; 329]) Feb 19 14:07:15.485 TRACE parse_headers: hyper::proto::h1::role: Request.parse Complete(329) Feb 19 14:07:15.485 DEBUG hyper::proto::h1::io: parsed 7 headers Feb 19 14:07:15.485 DEBUG hyper::proto::h1::conn: incoming body is empty Feb 19 14:07:15.485 DEBUG weylus::web: Got request: Request { method: GET, uri: /style.css, version: HTTP/1.1, headers: {"host": "huawei.local:1701", "connection": "keep-alive", "accept": "text/css,*/*;q=0.1", "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15", "accept-language": "en-us", "referer": "http://huawei.local:1701/", "accept-encoding": "gzip, deflate"}, body: Body(Empty) } Feb 19 14:07:15.485 TRACE encode_headers: hyper::proto::h1::role: Server::encode status=200, body=Some(Known(2852)), req_method=Some(GET) Feb 19 14:07:15.485 DEBUG hyper::proto::h1::io: flushed 2969 bytes Feb 19 14:07:15.485 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } Feb 19 14:07:15.488 TRACE hyper::proto::h1::conn: Conn::read_head Feb 19 14:07:15.488 DEBUG hyper::proto::h1::io: read 311 bytes Feb 19 14:07:15.488 TRACE parse_headers: hyper::proto::h1::role: Request.parse([Header; 100], [u8; 311]) Feb 19 14:07:15.488 TRACE parse_headers: hyper::proto::h1::role: Request.parse Complete(311) Feb 19 14:07:15.488 DEBUG hyper::proto::h1::io: parsed 7 headers Feb 19 14:07:15.488 DEBUG hyper::proto::h1::conn: incoming body is empty Feb 19 14:07:15.488 DEBUG weylus::web: Got request: Request { method: GET, uri: /lib.js, version: HTTP/1.1, headers: {"host": "huawei.local:1701", "connection": "keep-alive", "accept": "*/*", "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15", "accept-language": "en-us", "referer": "http://huawei.local:1701/", "accept-encoding": "gzip, deflate"}, body: Body(Empty) } Feb 19 14:07:15.488 TRACE encode_headers: hyper::proto::h1::role: Server::encode status=200, body=Some(Known(15071)), req_method=Some(GET) Feb 19 14:07:15.488 DEBUG hyper::proto::h1::io: flushed 15196 bytes Feb 19 14:07:15.488 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } Feb 19 14:07:15.843 TRACE weylus::websocket: Got: GetCapturableList Feb 19 14:07:15.844 TRACE weylus::websocket: Got: ClientConfiguration { stylus_support: true, faster_capture: true, capturable_id: 0, capture_cursor: false, max_width: 2160, max_height: 1620 } Feb 19 14:07:15.901 DEBUG weylus::log: VA-API vendor: Mesa Gallium driver 20.3.2 for AMD RAVEN (DRM 3.38.0, 5.8.0-7642-generic, LLVM 11.0.0) [h264_vaapi @ 0x7f876413bd00] Driver does not support some wanted packed headers (wanted 0xd, found 0x1). [h264_vaapi @ 0x7f876413bd00] Quality attribute is not supported: will use default quality level. Output #0, mp4, to '(null)': Stream #0:0: Video: h264 (High), vaapi_vld, 1920x1080, q=2-31 Feb 19 14:07:15.903 INFO weylus::log: Video: 1920x1080@h264_vaapi pix_fmt: bgr0 Segmentation fault (core dumped) ```
va.log.200715.thd-0x000039f5 from previous command: ``` [6771.894279][ctx none]==========va_TraceInitialize [6771.894291][ctx none]=========vaInitialize ret = VA_STATUS_SUCCESS, success (no error) [6771.898158][ctx none]==========va_TraceCreateSurfaces [6771.898162][ctx none] width = 1920 [6771.898163][ctx none] height = 1080 [6771.898163][ctx none] format = 1 [6771.898163][ctx none] num_surfaces = 1 [6771.898164][ctx none] surfaces[0] = 0x00000001 [6771.898165][ctx none] attrib_list[0] = [6771.898165][ctx none] type = 6 [6771.898165][ctx none] flags = 2 [6771.898166][ctx none] value.type = 1 [6771.898166][ctx none] value.value.i = 0x00000001 [6771.898166][ctx none] attrib_list[1] = [6771.898167][ctx none] type = 1 [6771.898167][ctx none] flags = 2 [6771.898167][ctx none] value.type = 1 [6771.898168][ctx none] value.value.i = 0x3231564e [6771.898208][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6771.898218][ctx none]=========vaDeriveImage ret = VA_STATUS_ERROR_OPERATION_FAILED, operation failed [6771.898347][ctx none]==========va_TraceCreateSurfaces [6771.898348][ctx none] width = 1920 [6771.898348][ctx none] height = 1080 [6771.898349][ctx none] format = 1 [6771.898349][ctx none] num_surfaces = 1 [6771.898349][ctx none] surfaces[0] = 0x00000002 [6771.898350][ctx none] attrib_list[0] = [6771.898350][ctx none] type = 6 [6771.898351][ctx none] flags = 2 [6771.898351][ctx none] value.type = 1 [6771.898351][ctx none] value.value.i = 0x00000001 [6771.898351][ctx none] attrib_list[1] = [6771.898352][ctx none] type = 1 [6771.898352][ctx none] flags = 2 [6771.898352][ctx none] value.type = 1 [6771.898353][ctx none] value.value.i = 0x3231564e [6771.898357][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6771.898445][ctx none]==========va_TraceCreateSurfaces [6771.898446][ctx none] width = 1920 [6771.898447][ctx none] height = 1080 [6771.898447][ctx none] format = 1 [6771.898447][ctx none] num_surfaces = 1 [6771.898448][ctx none] surfaces[0] = 0x00000003 [6771.898448][ctx none] attrib_list[0] = [6771.898449][ctx none] type = 6 [6771.898449][ctx none] flags = 2 [6771.898449][ctx none] value.type = 1 [6771.898450][ctx none] value.value.i = 0x00000001 [6771.898450][ctx none] attrib_list[1] = [6771.898450][ctx none] type = 1 [6771.898451][ctx none] flags = 2 [6771.898451][ctx none] value.type = 1 [6771.898451][ctx none] value.value.i = 0x3231564e [6771.898455][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6771.898544][ctx none]==========va_TraceCreateSurfaces [6771.898546][ctx none] width = 1920 [6771.898546][ctx none] height = 1080 [6771.898546][ctx none] format = 1 [6771.898546][ctx none] num_surfaces = 1 [6771.898547][ctx none] surfaces[0] = 0x00000004 [6771.898547][ctx none] attrib_list[0] = [6771.898548][ctx none] type = 6 [6771.898548][ctx none] flags = 2 [6771.898548][ctx none] value.type = 1 [6771.898549][ctx none] value.value.i = 0x00000001 [6771.898549][ctx none] attrib_list[1] = [6771.898549][ctx none] type = 1 [6771.898549][ctx none] flags = 2 [6771.898550][ctx none] value.type = 1 [6771.898550][ctx none] value.value.i = 0x3231564e [6771.898554][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6771.898636][ctx none]==========va_TraceCreateSurfaces [6771.898637][ctx none] width = 1920 [6771.898637][ctx none] height = 1080 [6771.898637][ctx none] format = 1 [6771.898638][ctx none] num_surfaces = 1 [6771.898638][ctx none] surfaces[0] = 0x00000005 [6771.898639][ctx none] attrib_list[0] = [6771.898639][ctx none] type = 6 [6771.898639][ctx none] flags = 2 [6771.898640][ctx none] value.type = 1 [6771.898640][ctx none] value.value.i = 0x00000001 [6771.898640][ctx none] attrib_list[1] = [6771.898641][ctx none] type = 1 [6771.898641][ctx none] flags = 2 [6771.898641][ctx none] value.type = 1 [6771.898641][ctx none] value.value.i = 0x3231564e [6771.898652][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6771.898733][ctx none]==========va_TraceCreateSurfaces [6771.898734][ctx none] width = 1920 [6771.898735][ctx none] height = 1080 [6771.898735][ctx none] format = 1 [6771.898735][ctx none] num_surfaces = 1 [6771.898735][ctx none] surfaces[0] = 0x00000006 [6771.898736][ctx none] attrib_list[0] = [6771.898736][ctx none] type = 6 [6771.898736][ctx none] flags = 2 [6771.898737][ctx none] value.type = 1 [6771.898737][ctx none] value.value.i = 0x00000001 [6771.898737][ctx none] attrib_list[1] = [6771.898738][ctx none] type = 1 [6771.898738][ctx none] flags = 2 [6771.898738][ctx none] value.type = 1 [6771.898738][ctx none] value.value.i = 0x3231564e [6771.898742][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6771.898817][ctx none]==========va_TraceCreateSurfaces [6771.898819][ctx none] width = 1920 [6771.898819][ctx none] height = 1080 [6771.898819][ctx none] format = 1 [6771.898820][ctx none] num_surfaces = 1 [6771.898820][ctx none] surfaces[0] = 0x00000007 [6771.898820][ctx none] attrib_list[0] = [6771.898821][ctx none] type = 6 [6771.898821][ctx none] flags = 2 [6771.898821][ctx none] value.type = 1 [6771.898821][ctx none] value.value.i = 0x00000001 [6771.898822][ctx none] attrib_list[1] = [6771.898822][ctx none] type = 1 [6771.898822][ctx none] flags = 2 [6771.898823][ctx none] value.type = 1 [6771.898823][ctx none] value.value.i = 0x3231564e [6771.898827][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6771.898904][ctx none]==========va_TraceCreateSurfaces [6771.898905][ctx none] width = 1920 [6771.898906][ctx none] height = 1080 [6771.898906][ctx none] format = 1 [6771.898906][ctx none] num_surfaces = 1 [6771.898906][ctx none] surfaces[0] = 0x00000008 [6771.898907][ctx none] attrib_list[0] = [6771.898907][ctx none] type = 6 [6771.898908][ctx none] flags = 2 [6771.898908][ctx none] value.type = 1 [6771.898908][ctx none] value.value.i = 0x00000001 [6771.898908][ctx none] attrib_list[1] = [6771.898909][ctx none] type = 1 [6771.898909][ctx none] flags = 2 [6771.898909][ctx none] value.type = 1 [6771.898909][ctx none] value.value.i = 0x3231564e [6771.898913][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6771.898995][ctx none]==========va_TraceCreateSurfaces [6771.898996][ctx none] width = 1920 [6771.898997][ctx none] height = 1080 [6771.898997][ctx none] format = 1 [6771.898997][ctx none] num_surfaces = 1 [6771.898998][ctx none] surfaces[0] = 0x00000009 [6771.898998][ctx none] attrib_list[0] = [6771.898998][ctx none] type = 6 [6771.898999][ctx none] flags = 2 [6771.898999][ctx none] value.type = 1 [6771.898999][ctx none] value.value.i = 0x00000001 [6771.899000][ctx none] attrib_list[1] = [6771.899000][ctx none] type = 1 [6771.899000][ctx none] flags = 2 [6771.899000][ctx none] value.type = 1 [6771.899001][ctx none] value.value.i = 0x3231564e [6771.899005][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6771.899087][ctx none]==========va_TraceCreateSurfaces [6771.899088][ctx none] width = 1920 [6771.899089][ctx none] height = 1080 [6771.899089][ctx none] format = 1 [6771.899089][ctx none] num_surfaces = 1 [6771.899089][ctx none] surfaces[0] = 0x0000000a [6771.899090][ctx none] attrib_list[0] = [6771.899090][ctx none] type = 6 [6771.899090][ctx none] flags = 2 [6771.899091][ctx none] value.type = 1 [6771.899091][ctx none] value.value.i = 0x00000001 [6771.899091][ctx none] attrib_list[1] = [6771.899092][ctx none] type = 1 [6771.899092][ctx none] flags = 2 [6771.899092][ctx none] value.type = 1 [6771.899092][ctx none] value.value.i = 0x3231564e [6771.899101][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6771.899181][ctx none]==========va_TraceCreateSurfaces [6771.899182][ctx none] width = 1920 [6771.899183][ctx none] height = 1080 [6771.899183][ctx none] format = 1 [6771.899183][ctx none] num_surfaces = 1 [6771.899183][ctx none] surfaces[0] = 0x0000000b [6771.899184][ctx none] attrib_list[0] = [6771.899184][ctx none] type = 6 [6771.899185][ctx none] flags = 2 [6771.899185][ctx none] value.type = 1 [6771.899185][ctx none] value.value.i = 0x00000001 [6771.899185][ctx none] attrib_list[1] = [6771.899186][ctx none] type = 1 [6771.899186][ctx none] flags = 2 [6771.899186][ctx none] value.type = 1 [6771.899186][ctx none] value.value.i = 0x3231564e [6771.899190][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6771.899295][ctx none]==========va_TraceCreateSurfaces [6771.899297][ctx none] width = 1920 [6771.899298][ctx none] height = 1080 [6771.899299][ctx none] format = 1 [6771.899300][ctx none] num_surfaces = 1 [6771.899301][ctx none] surfaces[0] = 0x0000000c [6771.899302][ctx none] attrib_list[0] = [6771.899303][ctx none] type = 6 [6771.899304][ctx none] flags = 2 [6771.899305][ctx none] value.type = 1 [6771.899305][ctx none] value.value.i = 0x00000001 [6771.899306][ctx none] attrib_list[1] = [6771.899307][ctx none] type = 1 [6771.899307][ctx none] flags = 2 [6771.899308][ctx none] value.type = 1 [6771.899309][ctx none] value.value.i = 0x3231564e [6771.899376][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6771.901120][ctx none]==========va_TraceCreateSurfaces [6771.901123][ctx none] width = 1920 [6771.901124][ctx none] height = 1080 [6771.901124][ctx none] format = 1 [6771.901125][ctx none] num_surfaces = 1 [6771.901125][ctx none] surfaces[0] = 0x0000000d [6771.901126][ctx none] attrib_list[0] = [6771.901127][ctx none] type = 6 [6771.901127][ctx none] flags = 2 [6771.901128][ctx none] value.type = 1 [6771.901128][ctx none] value.value.i = 0x00000001 [6771.901128][ctx none] attrib_list[1] = [6771.901129][ctx none] type = 1 [6771.901129][ctx none] flags = 2 [6771.901129][ctx none] value.type = 1 [6771.901130][ctx none] value.value.i = 0x3231564e [6771.901147][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6771.901305][ctx none]==========va_TraceCreateSurfaces [6771.901306][ctx none] width = 1920 [6771.901306][ctx none] height = 1080 [6771.901306][ctx none] format = 1 [6771.901307][ctx none] num_surfaces = 1 [6771.901307][ctx none] surfaces[0] = 0x0000000e [6771.901308][ctx none] attrib_list[0] = [6771.901308][ctx none] type = 6 [6771.901308][ctx none] flags = 2 [6771.901309][ctx none] value.type = 1 [6771.901309][ctx none] value.value.i = 0x00000001 [6771.901309][ctx none] attrib_list[1] = [6771.901310][ctx none] type = 1 [6771.901310][ctx none] flags = 2 [6771.901310][ctx none] value.type = 1 [6771.901310][ctx none] value.value.i = 0x3231564e [6771.901315][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6771.901397][ctx none]==========va_TraceCreateSurfaces [6771.901398][ctx none] width = 1920 [6771.901399][ctx none] height = 1080 [6771.901399][ctx none] format = 1 [6771.901399][ctx none] num_surfaces = 1 [6771.901400][ctx none] surfaces[0] = 0x0000000f [6771.901400][ctx none] attrib_list[0] = [6771.901400][ctx none] type = 6 [6771.901401][ctx none] flags = 2 [6771.901401][ctx none] value.type = 1 [6771.901401][ctx none] value.value.i = 0x00000001 [6771.901401][ctx none] attrib_list[1] = [6771.901402][ctx none] type = 1 [6771.901402][ctx none] flags = 2 [6771.901402][ctx none] value.type = 1 [6771.901403][ctx none] value.value.i = 0x3231564e [6771.901417][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6771.901497][ctx none]==========va_TraceCreateSurfaces [6771.901499][ctx none] width = 1920 [6771.901499][ctx none] height = 1080 [6771.901499][ctx none] format = 1 [6771.901500][ctx none] num_surfaces = 1 [6771.901500][ctx none] surfaces[0] = 0x00000010 [6771.901500][ctx none] attrib_list[0] = [6771.901501][ctx none] type = 6 [6771.901501][ctx none] flags = 2 [6771.901501][ctx none] value.type = 1 [6771.901502][ctx none] value.value.i = 0x00000001 [6771.901502][ctx none] attrib_list[1] = [6771.901502][ctx none] type = 1 [6771.901503][ctx none] flags = 2 [6771.901503][ctx none] value.type = 1 [6771.901503][ctx none] value.value.i = 0x3231564e [6771.901507][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6771.901585][ctx none]==========va_TraceCreateSurfaces [6771.901586][ctx none] width = 1920 [6771.901586][ctx none] height = 1080 [6771.901587][ctx none] format = 1 [6771.901587][ctx none] num_surfaces = 1 [6771.901587][ctx none] surfaces[0] = 0x00000011 [6771.901588][ctx none] attrib_list[0] = [6771.901588][ctx none] type = 6 [6771.901588][ctx none] flags = 2 [6771.901589][ctx none] value.type = 1 [6771.901589][ctx none] value.value.i = 0x00000001 [6771.901589][ctx none] attrib_list[1] = [6771.901590][ctx none] type = 1 [6771.901590][ctx none] flags = 2 [6771.901590][ctx none] value.type = 1 [6771.901590][ctx none] value.value.i = 0x3231564e [6771.901595][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6771.901677][ctx none]==========va_TraceCreateSurfaces [6771.901678][ctx none] width = 1920 [6771.901678][ctx none] height = 1080 [6771.901679][ctx none] format = 1 [6771.901679][ctx none] num_surfaces = 1 [6771.901679][ctx none] surfaces[0] = 0x00000012 [6771.901680][ctx none] attrib_list[0] = [6771.901680][ctx none] type = 6 [6771.901680][ctx none] flags = 2 [6771.901681][ctx none] value.type = 1 [6771.901681][ctx none] value.value.i = 0x00000001 [6771.901681][ctx none] attrib_list[1] = [6771.901682][ctx none] type = 1 [6771.901682][ctx none] flags = 2 [6771.901682][ctx none] value.type = 1 [6771.901682][ctx none] value.value.i = 0x3231564e [6771.901686][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6771.901765][ctx none]==========va_TraceCreateSurfaces [6771.901766][ctx none] width = 1920 [6771.901767][ctx none] height = 1080 [6771.901767][ctx none] format = 1 [6771.901767][ctx none] num_surfaces = 1 [6771.901767][ctx none] surfaces[0] = 0x00000013 [6771.901768][ctx none] attrib_list[0] = [6771.901768][ctx none] type = 6 [6771.901769][ctx none] flags = 2 [6771.901769][ctx none] value.type = 1 [6771.901769][ctx none] value.value.i = 0x00000001 [6771.901770][ctx none] attrib_list[1] = [6771.901770][ctx none] type = 1 [6771.901770][ctx none] flags = 2 [6771.901770][ctx none] value.type = 1 [6771.901771][ctx none] value.value.i = 0x3231564e [6771.901781][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6771.901867][ctx none]==========va_TraceCreateSurfaces [6771.901868][ctx none] width = 1920 [6771.901868][ctx none] height = 1080 [6771.901869][ctx none] format = 1 [6771.901869][ctx none] num_surfaces = 1 [6771.901869][ctx none] surfaces[0] = 0x00000014 [6771.901870][ctx none] attrib_list[0] = [6771.901870][ctx none] type = 6 [6771.901870][ctx none] flags = 2 [6771.901870][ctx none] value.type = 1 [6771.901871][ctx none] value.value.i = 0x00000001 [6771.901871][ctx none] attrib_list[1] = [6771.901871][ctx none] type = 1 [6771.901872][ctx none] flags = 2 [6771.901872][ctx none] value.type = 1 [6771.901872][ctx none] value.value.i = 0x3231564e [6771.901876][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6771.901992][ctx none]=========vaQueryConfigProfiles ret = VA_STATUS_SUCCESS, success (no error) [6771.901994][ctx none]=========vaQueryConfigEntrypoints ret = VA_STATUS_SUCCESS, success (no error) [6771.901995][ctx none]=========vaGetConfigAttributes ret = VA_STATUS_SUCCESS, success (no error) [6771.901996][ctx none]=========vaGetConfigAttributes ret = VA_STATUS_SUCCESS, success (no error) [6771.902000][ctx none]=========vaGetConfigAttributes ret = VA_STATUS_SUCCESS, success (no error) [6771.902001][ctx none]=========vaGetConfigAttributes ret = VA_STATUS_SUCCESS, success (no error) [6771.902021][ctx none]=========vaGetConfigAttributes ret = VA_STATUS_SUCCESS, success (no error) [6771.902022][ctx none]=========vaGetConfigAttributes ret = VA_STATUS_SUCCESS, success (no error) [6771.902032][ctx none]==========va_TraceCreateConfig [6771.902032][ctx none] profile = 7 [6771.902033][ctx none] entrypoint = 6 [6771.902033][ctx none] num_attribs = 3 [6771.902034][ctx none] attrib_list[0].type = 0x00000000 [6771.902034][ctx none] attrib_list[0].value = 0x00000001 [6771.902035][ctx none] attrib_list[1].type = 0x00000005 [6771.902035][ctx none] attrib_list[1].value = 0x00000010 [6771.902035][ctx none] attrib_list[2].type = 0x0000000a [6771.902036][ctx none] attrib_list[2].value = 0x00000001 [6771.902040][ctx none]=========vaCreateConfig ret = VA_STATUS_SUCCESS, success (no error) [6771.902041][ctx none]==========va_TraceQuerySurfaceAttributes [6771.902041][ctx none] config = 0x00000015 [6771.902043][ctx none]=========vaQuerySurfaceAttributes ret = VA_STATUS_SUCCESS, success (no error) [6771.902045][ctx none]==========va_TraceQuerySurfaceAttributes [6771.902045][ctx none] config = 0x00000015 [6771.902045][ctx none] attrib_list[0] = [6771.902046][ctx none] type = 1 [6771.902046][ctx none] flags = 3 [6771.902046][ctx none] value.type = 1 [6771.902046][ctx none] value.value.i = 0x3231564e [6771.902047][ctx none] attrib_list[1] = [6771.902047][ctx none] type = 1 [6771.902047][ctx none] flags = 3 [6771.902047][ctx none] value.type = 1 [6771.902048][ctx none] value.value.i = 0x30313050 [6771.902048][ctx none] attrib_list[2] = [6771.902048][ctx none] type = 1 [6771.902049][ctx none] flags = 3 [6771.902049][ctx none] value.type = 1 [6771.902049][ctx none] value.value.i = 0x36313050 [6771.902049][ctx none] attrib_list[3] = [6771.902050][ctx none] type = 6 [6771.902050][ctx none] flags = 3 [6771.902050][ctx none] value.type = 1 [6771.902050][ctx none] value.value.i = 0x20000001 [6771.902051][ctx none] attrib_list[4] = [6771.902051][ctx none] type = 7 [6771.902051][ctx none] flags = 2 [6771.902051][ctx none] value.type = 3 [6771.902052][ctx none] value.value.p = (nil) [6771.902052][ctx none] attrib_list[5] = [6771.902052][ctx none] type = 3 [6771.902053][ctx none] flags = 1 [6771.902053][ctx none] value.type = 1 [6771.902053][ctx none] value.value.i = 0x00001000 [6771.902054][ctx none] attrib_list[6] = [6771.902054][ctx none] type = 5 [6771.902054][ctx none] flags = 1 [6771.902054][ctx none] value.type = 1 [6771.902055][ctx none] value.value.i = 0x00000900 [6771.902061][ctx none]=========vaQuerySurfaceAttributes ret = VA_STATUS_SUCCESS, success (no error) [6771.902161][ctx none]==========va_TraceCreateSurfaces [6771.902162][ctx none] width = 1920 [6771.902162][ctx none] height = 1088 [6771.902163][ctx none] format = 1 [6771.902163][ctx none] num_surfaces = 1 [6771.902163][ctx none] surfaces[0] = 0x00000016 [6771.902164][ctx none] attrib_list[0] = [6771.902164][ctx none] type = 6 [6771.902165][ctx none] flags = 2 [6771.902165][ctx none] value.type = 1 [6771.902165][ctx none] value.value.i = 0x00000001 [6771.902166][ctx none] attrib_list[1] = [6771.902166][ctx none] type = 1 [6771.902166][ctx none] flags = 2 [6771.902166][ctx none] value.type = 1 [6771.902167][ctx none] value.value.i = 0x3231564e [6771.902171][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [6771.902173][ctx none]=========vaDeriveImage ret = VA_STATUS_ERROR_OPERATION_FAILED, operation failed [6771.902178][ctx 0x00000017]==========va_TraceCreateContext [6771.902178][ctx 0x00000017] context = 0x00000017 va_trace_flag 0x1 [6771.902179][ctx 0x00000017] profile = 7 entrypoint = 6 [6771.902179][ctx 0x00000017] config = 0x00000015 [6771.902180][ctx 0x00000017] width = 1920 [6771.902180][ctx 0x00000017] height = 1088 [6771.902181][ctx 0x00000017] flag = 0x00000001 [6771.902181][ctx 0x00000017] num_render_targets = 0 [6771.902182][ctx none]=========vaCreateContext ret = VA_STATUS_SUCCESS, success (no error) [6771.903029][ctx none]==========va_TraceSyncSurface [6771.903030][ctx none] render_target = 0x00000014 [6771.903035][ctx none]=========vaSyncSurface ret = VA_STATUS_SUCCESS, success (no error) [6771.903044][ctx none]=========vaCreateImage ret = VA_STATUS_SUCCESS, success (no error) [6771.903045][ctx none]=========vaMapBuffer ret = VA_STATUS_SUCCESS, success (no error) [6771.908726][ctx none]=========vaUnmapBuffer ret = VA_STATUS_SUCCESS, success (no error) [6771.914485][ctx none]=========vaPutImage ret = VA_STATUS_SUCCESS, success (no error) [6771.915493][ctx none]=========vaDestroyImage ret = VA_STATUS_SUCCESS, success (no error) [6771.915572][ctx 0x00000017]==========va_TraceCreateBuffer [6771.915576][ctx 0x00000017] buf_type=VAEncCodedBufferType [6771.915578][ctx 0x00000017] buf_id=0x18 [6771.915579][ctx 0x00000017] size=6332416 [6771.915580][ctx 0x00000017] num_elements=1 [6771.915615][ctx none]=========vaCreateBuffer ret = VA_STATUS_SUCCESS, success (no error) [6771.915622][ctx none]=========vaCreateBuffer ret = VA_STATUS_SUCCESS, success (no error) [6771.915625][ctx none]=========vaCreateBuffer ret = VA_STATUS_SUCCESS, success (no error) [6771.915629][ctx none]=========vaCreateBuffer ret = VA_STATUS_SUCCESS, success (no error) [6771.915653][ctx none]=========vaCreateBuffer ret = VA_STATUS_SUCCESS, success (no error) [6771.915655][ctx none]=========vaCreateBuffer ret = VA_STATUS_SUCCESS, success (no error) [6771.915672][ctx none]=========vaCreateBuffer ret = VA_STATUS_SUCCESS, success (no error) [6771.915675][ctx 0x00000017]==========va_TraceBeginPicture [6771.915677][ctx 0x00000017] context = 0x00000017 [6771.915678][ctx 0x00000017] render_targets = 0x00000014 [6771.915680][ctx 0x00000017] frame_count = #0 [6771.915688][ctx none]=========vaBeginPicture ret = VA_STATUS_SUCCESS, success (no error) [6771.915690][ctx 0x00000017]==========va_TraceRenderPicture [6771.915691][ctx 0x00000017] context = 0x00000017 [6771.915692][ctx 0x00000017] num_buffers = 6 [6771.915693][ctx none]=========vaBufferInfo ret = VA_STATUS_SUCCESS, success (no error) [6771.915694][ctx 0x00000017] --------------------------- [6771.915695][ctx 0x00000017] buffers[0] = 0x00000019 [6771.915696][ctx 0x00000017] type = VAEncSequenceParameterBufferType [6771.915697][ctx 0x00000017] size = 1132 [6771.915698][ctx 0x00000017] num_elements = 1 [6771.915700][ctx none]=========vaMapBuffer ret = VA_STATUS_SUCCESS, success (no error) [6771.915701][ctx 0x00000017] element[0] = [6771.915703][ctx 0x00000017] --VAEncSequenceParameterBufferH264 [6771.915704][ctx 0x00000017] seq_parameter_set_id = 0 [6771.915705][ctx 0x00000017] level_idc = 40 [6771.915706][ctx 0x00000017] intra_period = 12 [6771.915707][ctx 0x00000017] intra_idr_period = 12 [6771.915708][ctx 0x00000017] ip_period = 1 [6771.915709][ctx 0x00000017] bits_per_second = 0 [6771.915710][ctx 0x00000017] max_num_ref_frames = 1 [6771.915711][ctx 0x00000017] picture_width_in_mbs = 120 [6771.915712][ctx 0x00000017] picture_height_in_mbs = 68 [6771.915713][ctx 0x00000017] chroma_format_idc = 1 [6771.915714][ctx 0x00000017] frame_mbs_only_flag = 1 [6771.915714][ctx 0x00000017] mb_adaptive_frame_field_flag = 0 [6771.915715][ctx 0x00000017] seq_scaling_matrix_present_flag = 0 [6771.915716][ctx 0x00000017] direct_8x8_inference_flag = 1 [6771.915717][ctx 0x00000017] log2_max_frame_num_minus4 = 4 [6771.915718][ctx 0x00000017] pic_order_cnt_type = 0 [6771.915719][ctx 0x00000017] log2_max_pic_order_cnt_lsb_minus4 = 4 [6771.915720][ctx 0x00000017] delta_pic_order_always_zero_flag = 0 [6771.915721][ctx 0x00000017] bit_depth_luma_minus8 = 0 [6771.915722][ctx 0x00000017] bit_depth_chroma_minus8 = 0 [6771.915723][ctx 0x00000017] num_ref_frames_in_pic_order_cnt_cycle = 0 [6771.915723][ctx 0x00000017] offset_for_non_ref_pic = 0 [6771.915724][ctx 0x00000017] offset_for_top_to_bottom_field = 0 [6771.915725][ctx 0x00000017] offset_for_ref_frame[0] = 0 [6771.915726][ctx 0x00000017] frame_cropping_flag = 1 [6771.915727][ctx 0x00000017] frame_crop_left_offset = 0 [6771.915728][ctx 0x00000017] frame_crop_right_offset = 0 [6771.915729][ctx 0x00000017] frame_crop_top_offset = 0 [6771.915730][ctx 0x00000017] frame_crop_bottom_offset = 4 [6771.915731][ctx 0x00000017] vui_parameters_present_flag = 1 [6771.915731][ctx 0x00000017] aspect_ratio_info_present_flag = 0 [6771.915732][ctx 0x00000017] timing_info_present_flag = 1 [6771.915733][ctx 0x00000017] bitstream_restriction_flag = 1 [6771.915734][ctx 0x00000017] log2_max_mv_length_horizontal = 15 [6771.915735][ctx 0x00000017] log2_max_mv_length_vertical = 15 [6771.915736][ctx 0x00000017] aspect_ratio_idc = 0 [6771.915737][ctx 0x00000017] sar_width = 0 [6771.915737][ctx 0x00000017] sar_height = 0 [6771.915738][ctx 0x00000017] num_units_in_tick = 1 [6771.915739][ctx 0x00000017] time_scale = 2000 [6771.915759][ctx none]=========vaUnmapBuffer ret = VA_STATUS_SUCCESS, success (no error) [6771.915761][ctx none]=========vaBufferInfo ret = VA_STATUS_SUCCESS, success (no error) [6771.915762][ctx 0x00000017] --------------------------- [6771.915763][ctx 0x00000017] buffers[1] = 0x0000001a [6771.915764][ctx 0x00000017] type = VAEncMiscParameterBufferType [6771.915765][ctx 0x00000017] size = 28 [6771.915766][ctx 0x00000017] num_elements = 1 [6771.915767][ctx none]=========vaMapBuffer ret = VA_STATUS_SUCCESS, success (no error) [6771.915768][ctx 0x00000017] element[0] = [6771.915770][ctx 0x00000017] --VAEncMiscParameterFrameRate [6771.915771][ctx 0x00000017] framerate = 66536 [6771.915773][ctx 0x00000017] framerate_flags.temporal_id = 0 [6771.915777][ctx none]=========vaUnmapBuffer ret = VA_STATUS_SUCCESS, success (no error) [6771.915778][ctx none]=========vaBufferInfo ret = VA_STATUS_SUCCESS, success (no error) [6771.915779][ctx 0x00000017] --------------------------- [6771.915780][ctx 0x00000017] buffers[2] = 0x0000001b [6771.915781][ctx 0x00000017] type = VAEncPictureParameterBufferType [6771.915782][ctx 0x00000017] size = 648 [6771.915783][ctx 0x00000017] num_elements = 1 [6771.915784][ctx none]=========vaMapBuffer ret = VA_STATUS_SUCCESS, success (no error) [6771.915785][ctx 0x00000017] element[0] = [6771.915786][ctx 0x00000017] --VAEncPictureParameterBufferH264 [6771.915787][ctx 0x00000017] CurrPic.picture_id = 0x00000016 [6771.915788][ctx 0x00000017] CurrPic.frame_idx = 0 [6771.915789][ctx 0x00000017] CurrPic.flags = 0x00000000 [6771.915790][ctx 0x00000017] CurrPic.TopFieldOrderCnt = 0 [6771.915791][ctx 0x00000017] CurrPic.BottomFieldOrderCnt = 0 [6771.915792][ctx 0x00000017] ReferenceFrames (TopFieldOrderCnt-BottomFieldOrderCnt-picture_id-frame_idx-flags): [6771.915793][ctx 0x00000017] coded_buf = 00000018 [6771.915794][ctx 0x00000017] pic_parameter_set_id = 0 [6771.915795][ctx 0x00000017] seq_parameter_set_id = 0 [6771.915796][ctx 0x00000017] last_picture = 0x00000000 [6771.915797][ctx 0x00000017] frame_num = 0 [6771.915798][ctx 0x00000017] pic_init_qp = 23 [6771.915799][ctx 0x00000017] num_ref_idx_l0_active_minus1 = 0 [6771.915800][ctx 0x00000017] num_ref_idx_l1_active_minus1 = 0 [6771.915801][ctx 0x00000017] chroma_qp_index_offset = 0 [6771.915801][ctx 0x00000017] second_chroma_qp_index_offset = 0 [6771.915802][ctx 0x00000017] pic_fields = 0x10b [6771.915803][ctx 0x00000017] idr_pic_flag = 1 [6771.915804][ctx 0x00000017] reference_pic_flag = 1 [6771.915805][ctx 0x00000017] entropy_coding_mode_flag = 1 [6771.915806][ctx 0x00000017] weighted_pred_flag = 0 [6771.915807][ctx 0x00000017] weighted_bipred_idc = 0 [6771.915807][ctx 0x00000017] constrained_intra_pred_flag = 0 [6771.915808][ctx 0x00000017] transform_8x8_mode_flag = 1 [6771.915809][ctx 0x00000017] deblocking_filter_control_present_flag = 0 [6771.915810][ctx 0x00000017] redundant_pic_cnt_present_flag = 0 [6771.915811][ctx 0x00000017] pic_order_present_flag = 0 [6771.915812][ctx 0x00000017] pic_scaling_matrix_present_flag = 0 [6771.915822][ctx none]=========vaUnmapBuffer ret = VA_STATUS_SUCCESS, success (no error) [6771.915823][ctx none]=========vaBufferInfo ret = VA_STATUS_SUCCESS, success (no error) [6771.915824][ctx 0x00000017] --------------------------- [6771.915825][ctx 0x00000017] buffers[3] = 0x0000001c [6771.915826][ctx 0x00000017] type = VAEncPackedHeaderParameterBufferType [6771.915827][ctx 0x00000017] size = 28 [6771.915828][ctx 0x00000017] num_elements = 1 [6771.915830][ctx none]=========vaMapBuffer ret = VA_STATUS_SUCCESS, success (no error) [6771.915831][ctx 0x00000017] element[0] = [6771.915832][ctx 0x00000017] --VAEncPackedHeaderParameterBuffer [6771.915833][ctx 0x00000017] type = 0x00000001 [6771.915834][ctx 0x00000017] bit_length = 304 [6771.915835][ctx 0x00000017] has_emulation_bytes = 1 [6771.915839][ctx none]=========vaUnmapBuffer ret = VA_STATUS_SUCCESS, success (no error) [6771.915841][ctx none]=========vaBufferInfo ret = VA_STATUS_SUCCESS, success (no error) [6771.915842][ctx 0x00000017] --------------------------- [6771.915842][ctx 0x00000017] buffers[4] = 0x0000001d [6771.915844][ctx 0x00000017] type = VAEncPackedHeaderDataBufferType [6771.915844][ctx 0x00000017] size = 38 [6771.915845][ctx 0x00000017] num_elements = 1 [6771.915846][ctx none]=========vaMapBuffer ret = VA_STATUS_SUCCESS, success (no error) [6771.915847][ctx 0x00000017] element[0] = --VAEncPackedHeaderDataBufferType [6771.915853][ctx none]=========vaUnmapBuffer ret = VA_STATUS_SUCCESS, success (no error) [6771.915854][ctx none]=========vaBufferInfo ret = VA_STATUS_SUCCESS, success (no error) [6771.915855][ctx 0x00000017] --------------------------- [6771.915855][ctx 0x00000017] buffers[5] = 0x0000001e [6771.915857][ctx 0x00000017] type = VAEncSliceParameterBufferType [6771.915858][ctx 0x00000017] size = 3140 [6771.915859][ctx 0x00000017] num_elements = 1 [6771.915861][ctx none]=========vaMapBuffer ret = VA_STATUS_SUCCESS, success (no error) [6771.915862][ctx 0x00000017] element[0] = [6771.915864][ctx 0x00000017] --VAEncSliceParameterBufferH264 [6771.915865][ctx 0x00000017] macroblock_address = 0 [6771.915866][ctx 0x00000017] num_macroblocks = 8160 [6771.915867][ctx 0x00000017] macroblock_info = ffffffff [6771.915868][ctx 0x00000017] slice_type = 2 [6771.915870][ctx 0x00000017] pic_parameter_set_id = 0 [6771.915871][ctx 0x00000017] idr_pic_id = 0 [6771.915872][ctx 0x00000017] pic_order_cnt_lsb = 0 [6771.915873][ctx 0x00000017] delta_pic_order_cnt_bottom = 0 [6771.915874][ctx 0x00000017] delta_pic_order_cnt[0] = 0 [6771.915875][ctx 0x00000017] delta_pic_order_cnt[1] = 0 [6771.915876][ctx 0x00000017] direct_spatial_mv_pred_flag = 1 [6771.915877][ctx 0x00000017] num_ref_idx_active_override_flag = 0 [6771.915879][ctx 0x00000017] num_ref_idx_l1_active_minus1 = 0 [6771.915880][ctx 0x00000017] slice_beta_offset_div2 = 0 [6771.915881][ctx 0x00000017] RefPicList0 (TopFieldOrderCnt-BottomFieldOrderCnt-picture_id-frame_idx-flags): [6771.915882][ctx 0x00000017] RefPicList1 (TopFieldOrderCnt-BottomFieldOrderCnt-picture_id-frame_idx-flags): [6771.915883][ctx 0x00000017] luma_log2_weight_denom = 0 [6771.915884][ctx 0x00000017] chroma_log2_weight_denom = 0 [6771.915885][ctx 0x00000017] luma_weight_l0_flag = 0 [6771.915887][ctx 0x00000017] chroma_weight_l0_flag = 0 [6771.915888][ctx 0x00000017] luma_weight_l1_flag = 0 [6771.915888][ctx 0x00000017] chroma_weight_l1_flag = 0 [6771.915900][ctx 0x00000017] cabac_init_idc = 0 [6771.915901][ctx 0x00000017] slice_qp_delta = 0 [6771.915902][ctx 0x00000017] disable_deblocking_filter_idc = 0 [6771.915903][ctx 0x00000017] slice_alpha_c0_offset_div2 = 0 [6771.915904][ctx 0x00000017] slice_beta_offset_div2 = 0 [6771.915908][ctx none]=========vaUnmapBuffer ret = VA_STATUS_SUCCESS, success (no error) [6771.936786][ctx none]=========vaRenderPicture ret = VA_STATUS_SUCCESS, success (no error) [6771.936795][ctx 0x00000017]==========va_TraceEndPicture [6771.936796][ctx 0x00000017] context = 0x00000017 [6771.936797][ctx 0x00000017] render_targets = 0x00000014 ```
H-M-H commented 3 years ago

Alright, this is progress! But I see this is different hardware Mesa Gallium driver 20.3.2 for AMD RAVEN (DRM 3.38.0, 5.8.0-7642-generic, LLVM 11.0.0) which wasn't blacklisted to workaround the pixel format problems I mentioned earlier. The latest build has AMD RAVEN blacklisted too, please check if this works.

The only error I could find in the logs from libva points me to: https://gitlab.freedesktop.org/mesa/mesa/-/issues/1428 so perhaps this issue is related.

gabrc52 commented 3 years ago

Cool, thanks :D

From my testing on Ubuntu, it seems that hardware acceleration works now, since I didn't get any errors, and it seems smoother than CPU acceleration (no lag spikes, but these could be caused by network conditions).

I'll test with other distros tomorrow.

H-M-H commented 3 years ago

Awesome, that's a relieve! I guess I will make dynamically linking libva the default then.

gabrc52 commented 3 years ago
Manjaro weylus_va_static On Manjaro I get a segmentation fault with the latest build. Manjaro output of `WEYLUS_LOG_LEVEL=TRACE LIBVA_MESSAGING_LEVEL=2 LIBVA_TRACE=va.log ./weylus_va_static`: ``` Feb 21 19:01:32.998 INFO weylus::web: Webserver listening at 0.0.0.0:1701... Feb 21 19:01:39.480 TRACE hyper::proto::h1::conn: Conn::read_head Feb 21 19:01:39.480 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } Feb 21 19:01:39.551 TRACE hyper::proto::h1::conn: Conn::read_head Feb 21 19:01:39.551 DEBUG hyper::proto::h1::io: read 360 bytes Feb 21 19:01:39.551 TRACE parse_headers: hyper::proto::h1::role: Request.parse([Header; 100], [u8; 360]) Feb 21 19:01:39.551 TRACE parse_headers: hyper::proto::h1::role: Request.parse Complete(360) Feb 21 19:01:39.551 DEBUG hyper::proto::h1::io: parsed 7 headers Feb 21 19:01:39.551 DEBUG hyper::proto::h1::conn: incoming body is empty Feb 21 19:01:39.551 DEBUG weylus::web: Got request: Request { method: GET, uri: /, version: HTTP/1.1, headers: {"host": "192.168.0.113:1701", "upgrade-insecure-requests": "1", "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15", "accept-language": "en-us", "accept-encoding": "gzip, deflate", "connection": "keep-alive"}, body: Body(Empty) } Feb 21 19:01:39.551 INFO weylus::web: Client connected: 192.168.0.104:64983 Feb 21 19:01:39.551 TRACE encode_headers: hyper::proto::h1::role: Server::encode status=200, body=Some(Known(2743)), req_method=Some(GET) Feb 21 19:01:39.551 DEBUG hyper::proto::h1::io: flushed 2861 bytes Feb 21 19:01:39.551 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } Feb 21 19:01:39.557 TRACE hyper::proto::h1::conn: Conn::read_head Feb 21 19:01:39.557 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } Feb 21 19:01:39.557 TRACE hyper::proto::h1::conn: Conn::read_head Feb 21 19:01:39.557 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } Feb 21 19:01:39.565 TRACE hyper::proto::h1::conn: Conn::read_head Feb 21 19:01:39.565 TRACE hyper::proto::h1::conn: Conn::read_head Feb 21 19:01:39.565 DEBUG hyper::proto::h1::io: read 313 bytes Feb 21 19:01:39.565 DEBUG hyper::proto::h1::io: read 331 bytes Feb 21 19:01:39.565 TRACE parse_headers: hyper::proto::h1::role: Request.parse([Header; 100], [u8; 313]) Feb 21 19:01:39.565 TRACE parse_headers: hyper::proto::h1::role: Request.parse([Header; 100], [u8; 331]) Feb 21 19:01:39.565 TRACE parse_headers: hyper::proto::h1::role: Request.parse Complete(331) Feb 21 19:01:39.565 TRACE parse_headers: hyper::proto::h1::role: Request.parse Complete(313) Feb 21 19:01:39.565 DEBUG hyper::proto::h1::io: parsed 7 headers Feb 21 19:01:39.565 DEBUG hyper::proto::h1::io: parsed 7 headers Feb 21 19:01:39.565 DEBUG hyper::proto::h1::conn: incoming body is empty Feb 21 19:01:39.565 DEBUG hyper::proto::h1::conn: incoming body is empty Feb 21 19:01:39.565 DEBUG weylus::web: Got request: Request { method: GET, uri: /style.css, version: HTTP/1.1, headers: {"host": "192.168.0.113:1701", "connection": "keep-alive", "accept": "text/css,*/*;q=0.1", "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15", "accept-language": "en-us", "referer": "http://192.168.0.113:1701/", "accept-encoding": "gzip, deflate"}, body: Body(Empty) } Feb 21 19:01:39.565 DEBUG weylus::web: Got request: Request { method: GET, uri: /lib.js, version: HTTP/1.1, headers: {"host": "192.168.0.113:1701", "connection": "keep-alive", "accept": "*/*", "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15", "accept-language": "en-us", "referer": "http://192.168.0.113:1701/", "accept-encoding": "gzip, deflate"}, body: Body(Empty) } Feb 21 19:01:39.565 TRACE encode_headers: hyper::proto::h1::role: Server::encode status=200, body=Some(Known(2852)), req_method=Some(GET) Feb 21 19:01:39.565 TRACE encode_headers: hyper::proto::h1::role: Server::encode status=200, body=Some(Known(15071)), req_method=Some(GET) Feb 21 19:01:39.565 DEBUG hyper::proto::h1::io: flushed 2969 bytes Feb 21 19:01:39.565 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } Feb 21 19:01:39.565 DEBUG hyper::proto::h1::io: flushed 15196 bytes Feb 21 19:01:39.565 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } Feb 21 19:01:39.684 TRACE weylus::websocket: Got: GetCapturableList Feb 21 19:01:39.685 TRACE weylus::websocket: Got: ClientConfiguration { stylus_support: false, faster_capture: true, capturable_id: 0, capture_cursor: false, max_width: 2160, max_height: 1620 } Feb 21 19:01:39.817 DEBUG weylus::log: VA-API vendor: Mesa Gallium driver 20.2.3 for AMD Radeon(TM) Vega 8 Graphics (RAVEN, DRM 3.39.0, 5.9.11-3-MANJARO, LLVM 11.0.0) zsh: segmentation fault (core dumped) WEYLUS_LOG_LEVEL=TRACE LIBVA_MESSAGING_LEVEL=2 LIBVA_TRACE=va.log ``` Manjaro `va.log.010139.thd-0x0000136c`: ``` [0627.810458][ctx none]==========va_TraceInitialize [0627.810464][ctx none]=========vaInitialize ret = VA_STATUS_SUCCESS, success (no error) [0627.816172][ctx none]==========va_TraceCreateSurfaces [0627.816175][ctx none] width = 1920 [0627.816176][ctx none] height = 1080 [0627.816176][ctx none] format = 1 [0627.816177][ctx none] num_surfaces = 1 [0627.816177][ctx none] surfaces[0] = 0x00000001 [0627.816178][ctx none] attrib_list[0] = [0627.816178][ctx none] type = 6 [0627.816178][ctx none] flags = 2 [0627.816179][ctx none] value.type = 1 [0627.816179][ctx none] value.value.i = 0x00000001 [0627.816179][ctx none] attrib_list[1] = [0627.816179][ctx none] type = 1 [0627.816180][ctx none] flags = 2 [0627.816180][ctx none] value.type = 1 [0627.816180][ctx none] value.value.i = 0x3231564e [0627.816202][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [0627.816213][ctx none]=========vaDeriveImage ret = VA_STATUS_ERROR_OPERATION_FAILED, operation failed [0627.816288][ctx none]==========va_TraceCreateSurfaces [0627.816289][ctx none] width = 1920 [0627.816290][ctx none] height = 1080 [0627.816290][ctx none] format = 1 [0627.816290][ctx none] num_surfaces = 1 [0627.816290][ctx none] surfaces[0] = 0x00000002 [0627.816291][ctx none] attrib_list[0] = [0627.816291][ctx none] type = 6 [0627.816291][ctx none] flags = 2 [0627.816292][ctx none] value.type = 1 [0627.816292][ctx none] value.value.i = 0x00000001 [0627.816292][ctx none] attrib_list[1] = [0627.816292][ctx none] type = 1 [0627.816293][ctx none] flags = 2 [0627.816293][ctx none] value.type = 1 [0627.816293][ctx none] value.value.i = 0x3231564e [0627.816300][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [0627.816344][ctx none]==========va_TraceCreateSurfaces [0627.816345][ctx none] width = 1920 [0627.816345][ctx none] height = 1080 [0627.816346][ctx none] format = 1 [0627.816346][ctx none] num_surfaces = 1 [0627.816346][ctx none] surfaces[0] = 0x00000003 [0627.816347][ctx none] attrib_list[0] = [0627.816347][ctx none] type = 6 [0627.816347][ctx none] flags = 2 [0627.816347][ctx none] value.type = 1 [0627.816348][ctx none] value.value.i = 0x00000001 [0627.816348][ctx none] attrib_list[1] = [0627.816348][ctx none] type = 1 [0627.816348][ctx none] flags = 2 [0627.816349][ctx none] value.type = 1 [0627.816349][ctx none] value.value.i = 0x3231564e [0627.816353][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [0627.816393][ctx none]==========va_TraceCreateSurfaces [0627.816394][ctx none] width = 1920 [0627.816394][ctx none] height = 1080 [0627.816394][ctx none] format = 1 [0627.816394][ctx none] num_surfaces = 1 [0627.816395][ctx none] surfaces[0] = 0x00000004 [0627.816395][ctx none] attrib_list[0] = [0627.816395][ctx none] type = 6 [0627.816396][ctx none] flags = 2 [0627.816396][ctx none] value.type = 1 [0627.816396][ctx none] value.value.i = 0x00000001 [0627.816396][ctx none] attrib_list[1] = [0627.816397][ctx none] type = 1 [0627.816397][ctx none] flags = 2 [0627.816397][ctx none] value.type = 1 [0627.816398][ctx none] value.value.i = 0x3231564e [0627.816401][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [0627.816438][ctx none]==========va_TraceCreateSurfaces [0627.816439][ctx none] width = 1920 [0627.816439][ctx none] height = 1080 [0627.816440][ctx none] format = 1 [0627.816440][ctx none] num_surfaces = 1 [0627.816440][ctx none] surfaces[0] = 0x00000005 [0627.816441][ctx none] attrib_list[0] = [0627.816441][ctx none] type = 6 [0627.816441][ctx none] flags = 2 [0627.816441][ctx none] value.type = 1 [0627.816442][ctx none] value.value.i = 0x00000001 [0627.816442][ctx none] attrib_list[1] = [0627.816442][ctx none] type = 1 [0627.816442][ctx none] flags = 2 [0627.816443][ctx none] value.type = 1 [0627.816443][ctx none] value.value.i = 0x3231564e [0627.816450][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [0627.816487][ctx none]==========va_TraceCreateSurfaces [0627.816488][ctx none] width = 1920 [0627.816488][ctx none] height = 1080 [0627.816488][ctx none] format = 1 [0627.816488][ctx none] num_surfaces = 1 [0627.816489][ctx none] surfaces[0] = 0x00000006 [0627.816489][ctx none] attrib_list[0] = [0627.816489][ctx none] type = 6 [0627.816490][ctx none] flags = 2 [0627.816490][ctx none] value.type = 1 [0627.816490][ctx none] value.value.i = 0x00000001 [0627.816490][ctx none] attrib_list[1] = [0627.816491][ctx none] type = 1 [0627.816491][ctx none] flags = 2 [0627.816491][ctx none] value.type = 1 [0627.816491][ctx none] value.value.i = 0x3231564e [0627.816495][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [0627.816532][ctx none]==========va_TraceCreateSurfaces [0627.816532][ctx none] width = 1920 [0627.816533][ctx none] height = 1080 [0627.816533][ctx none] format = 1 [0627.816533][ctx none] num_surfaces = 1 [0627.816534][ctx none] surfaces[0] = 0x00000007 [0627.816534][ctx none] attrib_list[0] = [0627.816534][ctx none] type = 6 [0627.816534][ctx none] flags = 2 [0627.816535][ctx none] value.type = 1 [0627.816535][ctx none] value.value.i = 0x00000001 [0627.816535][ctx none] attrib_list[1] = [0627.816536][ctx none] type = 1 [0627.816536][ctx none] flags = 2 [0627.816536][ctx none] value.type = 1 [0627.816536][ctx none] value.value.i = 0x3231564e [0627.816539][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [0627.816575][ctx none]==========va_TraceCreateSurfaces [0627.816576][ctx none] width = 1920 [0627.816576][ctx none] height = 1080 [0627.816576][ctx none] format = 1 [0627.816577][ctx none] num_surfaces = 1 [0627.816577][ctx none] surfaces[0] = 0x00000008 [0627.816577][ctx none] attrib_list[0] = [0627.816578][ctx none] type = 6 [0627.816578][ctx none] flags = 2 [0627.816578][ctx none] value.type = 1 [0627.816578][ctx none] value.value.i = 0x00000001 [0627.816579][ctx none] attrib_list[1] = [0627.816579][ctx none] type = 1 [0627.816579][ctx none] flags = 2 [0627.816579][ctx none] value.type = 1 [0627.816580][ctx none] value.value.i = 0x3231564e [0627.816583][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [0627.816622][ctx none]==========va_TraceCreateSurfaces [0627.816623][ctx none] width = 1920 [0627.816624][ctx none] height = 1080 [0627.816624][ctx none] format = 1 [0627.816624][ctx none] num_surfaces = 1 [0627.816625][ctx none] surfaces[0] = 0x00000009 [0627.816625][ctx none] attrib_list[0] = [0627.816625][ctx none] type = 6 [0627.816625][ctx none] flags = 2 [0627.816626][ctx none] value.type = 1 [0627.816626][ctx none] value.value.i = 0x00000001 [0627.816626][ctx none] attrib_list[1] = [0627.816627][ctx none] type = 1 [0627.816627][ctx none] flags = 2 [0627.816627][ctx none] value.type = 1 [0627.816627][ctx none] value.value.i = 0x3231564e [0627.816631][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [0627.816667][ctx none]==========va_TraceCreateSurfaces [0627.816668][ctx none] width = 1920 [0627.816668][ctx none] height = 1080 [0627.816668][ctx none] format = 1 [0627.816669][ctx none] num_surfaces = 1 [0627.816669][ctx none] surfaces[0] = 0x0000000a [0627.816669][ctx none] attrib_list[0] = [0627.816670][ctx none] type = 6 [0627.816670][ctx none] flags = 2 [0627.816670][ctx none] value.type = 1 [0627.816670][ctx none] value.value.i = 0x00000001 [0627.816671][ctx none] attrib_list[1] = [0627.816671][ctx none] type = 1 [0627.816671][ctx none] flags = 2 [0627.816671][ctx none] value.type = 1 [0627.816672][ctx none] value.value.i = 0x3231564e [0627.816677][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [0627.816715][ctx none]==========va_TraceCreateSurfaces [0627.816716][ctx none] width = 1920 [0627.816716][ctx none] height = 1080 [0627.816716][ctx none] format = 1 [0627.816716][ctx none] num_surfaces = 1 [0627.816717][ctx none] surfaces[0] = 0x0000000b [0627.816717][ctx none] attrib_list[0] = [0627.816717][ctx none] type = 6 [0627.816718][ctx none] flags = 2 [0627.816718][ctx none] value.type = 1 [0627.816718][ctx none] value.value.i = 0x00000001 [0627.816718][ctx none] attrib_list[1] = [0627.816719][ctx none] type = 1 [0627.816719][ctx none] flags = 2 [0627.816719][ctx none] value.type = 1 [0627.816719][ctx none] value.value.i = 0x3231564e [0627.816723][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [0627.816761][ctx none]==========va_TraceCreateSurfaces [0627.816762][ctx none] width = 1920 [0627.816762][ctx none] height = 1080 [0627.816762][ctx none] format = 1 [0627.816762][ctx none] num_surfaces = 1 [0627.816763][ctx none] surfaces[0] = 0x0000000c [0627.816763][ctx none] attrib_list[0] = [0627.816763][ctx none] type = 6 [0627.816764][ctx none] flags = 2 [0627.816764][ctx none] value.type = 1 [0627.816764][ctx none] value.value.i = 0x00000001 [0627.816764][ctx none] attrib_list[1] = [0627.816765][ctx none] type = 1 [0627.816765][ctx none] flags = 2 [0627.816765][ctx none] value.type = 1 [0627.816765][ctx none] value.value.i = 0x3231564e [0627.816769][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [0627.816815][ctx none]==========va_TraceCreateSurfaces [0627.816816][ctx none] width = 1920 [0627.816817][ctx none] height = 1080 [0627.816817][ctx none] format = 1 [0627.816817][ctx none] num_surfaces = 1 [0627.816818][ctx none] surfaces[0] = 0x0000000d [0627.816819][ctx none] attrib_list[0] = [0627.816819][ctx none] type = 6 [0627.816819][ctx none] flags = 2 [0627.816820][ctx none] value.type = 1 [0627.816820][ctx none] value.value.i = 0x00000001 [0627.816821][ctx none] attrib_list[1] = [0627.816821][ctx none] type = 1 [0627.816822][ctx none] flags = 2 [0627.816822][ctx none] value.type = 1 [0627.816822][ctx none] value.value.i = 0x3231564e [0627.816827][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [0627.816878][ctx none]==========va_TraceCreateSurfaces [0627.816879][ctx none] width = 1920 [0627.816879][ctx none] height = 1080 [0627.816880][ctx none] format = 1 [0627.816880][ctx none] num_surfaces = 1 [0627.816881][ctx none] surfaces[0] = 0x0000000e [0627.816881][ctx none] attrib_list[0] = [0627.816882][ctx none] type = 6 [0627.816882][ctx none] flags = 2 [0627.816883][ctx none] value.type = 1 [0627.816883][ctx none] value.value.i = 0x00000001 [0627.816884][ctx none] attrib_list[1] = [0627.816884][ctx none] type = 1 [0627.816884][ctx none] flags = 2 [0627.816885][ctx none] value.type = 1 [0627.816885][ctx none] value.value.i = 0x3231564e [0627.816890][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [0627.816940][ctx none]==========va_TraceCreateSurfaces [0627.816942][ctx none] width = 1920 [0627.816942][ctx none] height = 1080 [0627.816943][ctx none] format = 1 [0627.816943][ctx none] num_surfaces = 1 [0627.816943][ctx none] surfaces[0] = 0x0000000f [0627.816944][ctx none] attrib_list[0] = [0627.816944][ctx none] type = 6 [0627.816945][ctx none] flags = 2 [0627.816945][ctx none] value.type = 1 [0627.816946][ctx none] value.value.i = 0x00000001 [0627.816946][ctx none] attrib_list[1] = [0627.816947][ctx none] type = 1 [0627.816947][ctx none] flags = 2 [0627.816947][ctx none] value.type = 1 [0627.816948][ctx none] value.value.i = 0x3231564e [0627.816957][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [0627.817006][ctx none]==========va_TraceCreateSurfaces [0627.817006][ctx none] width = 1920 [0627.817007][ctx none] height = 1080 [0627.817007][ctx none] format = 1 [0627.817008][ctx none] num_surfaces = 1 [0627.817008][ctx none] surfaces[0] = 0x00000010 [0627.817009][ctx none] attrib_list[0] = [0627.817009][ctx none] type = 6 [0627.817009][ctx none] flags = 2 [0627.817010][ctx none] value.type = 1 [0627.817010][ctx none] value.value.i = 0x00000001 [0627.817011][ctx none] attrib_list[1] = [0627.817011][ctx none] type = 1 [0627.817011][ctx none] flags = 2 [0627.817012][ctx none] value.type = 1 [0627.817012][ctx none] value.value.i = 0x3231564e [0627.817017][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [0627.817062][ctx none]==========va_TraceCreateSurfaces [0627.817064][ctx none] width = 1920 [0627.817064][ctx none] height = 1080 [0627.817064][ctx none] format = 1 [0627.817065][ctx none] num_surfaces = 1 [0627.817065][ctx none] surfaces[0] = 0x00000011 [0627.817066][ctx none] attrib_list[0] = [0627.817066][ctx none] type = 6 [0627.817066][ctx none] flags = 2 [0627.817067][ctx none] value.type = 1 [0627.817067][ctx none] value.value.i = 0x00000001 [0627.817067][ctx none] attrib_list[1] = [0627.817068][ctx none] type = 1 [0627.817068][ctx none] flags = 2 [0627.817069][ctx none] value.type = 1 [0627.817069][ctx none] value.value.i = 0x3231564e [0627.817073][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [0627.817115][ctx none]==========va_TraceCreateSurfaces [0627.817116][ctx none] width = 1920 [0627.817117][ctx none] height = 1080 [0627.817117][ctx none] format = 1 [0627.817117][ctx none] num_surfaces = 1 [0627.817118][ctx none] surfaces[0] = 0x00000012 [0627.817118][ctx none] attrib_list[0] = [0627.817119][ctx none] type = 6 [0627.817119][ctx none] flags = 2 [0627.817119][ctx none] value.type = 1 [0627.817120][ctx none] value.value.i = 0x00000001 [0627.817120][ctx none] attrib_list[1] = [0627.817120][ctx none] type = 1 [0627.817121][ctx none] flags = 2 [0627.817121][ctx none] value.type = 1 [0627.817121][ctx none] value.value.i = 0x3231564e [0627.817126][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [0627.817172][ctx none]==========va_TraceCreateSurfaces [0627.817173][ctx none] width = 1920 [0627.817173][ctx none] height = 1080 [0627.817174][ctx none] format = 1 [0627.817174][ctx none] num_surfaces = 1 [0627.817174][ctx none] surfaces[0] = 0x00000013 [0627.817175][ctx none] attrib_list[0] = [0627.817175][ctx none] type = 6 [0627.817176][ctx none] flags = 2 [0627.817176][ctx none] value.type = 1 [0627.817176][ctx none] value.value.i = 0x00000001 [0627.817177][ctx none] attrib_list[1] = [0627.817177][ctx none] type = 1 [0627.817177][ctx none] flags = 2 [0627.817178][ctx none] value.type = 1 [0627.817178][ctx none] value.value.i = 0x3231564e [0627.817189][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [0627.817234][ctx none]==========va_TraceCreateSurfaces [0627.817235][ctx none] width = 1920 [0627.817236][ctx none] height = 1080 [0627.817236][ctx none] format = 1 [0627.817236][ctx none] num_surfaces = 1 [0627.817237][ctx none] surfaces[0] = 0x00000014 [0627.817237][ctx none] attrib_list[0] = [0627.817238][ctx none] type = 6 [0627.817238][ctx none] flags = 2 [0627.817238][ctx none] value.type = 1 [0627.817239][ctx none] value.value.i = 0x00000001 [0627.817239][ctx none] attrib_list[1] = [0627.817240][ctx none] type = 1 [0627.817240][ctx none] flags = 2 [0627.817240][ctx none] value.type = 1 [0627.817241][ctx none] value.value.i = 0x3231564e ```
gabrc52 commented 3 years ago
Fedora weylus_va_static On Fedora it falls back to software acceleration just like it used to do on Ubuntu. Fedora output of `WEYLUS_LOG_LEVEL=TRACE LIBVA_MESSAGING_LEVEL=2 LIBVA_TRACE=va.log ./weylus_va_static` ``` Feb 21 20:31:48.004 INFO weylus::web: Webserver listening at 0.0.0.0:1701... Feb 21 20:31:49.309 TRACE hyper::proto::h1::conn: Conn::read_head Feb 21 20:31:49.309 DEBUG hyper::proto::h1::io: read 360 bytes Feb 21 20:31:49.309 TRACE parse_headers: hyper::proto::h1::role: Request.parse([Header; 100], [u8; 360]) Feb 21 20:31:49.309 TRACE parse_headers: hyper::proto::h1::role: Request.parse Complete(360) Feb 21 20:31:49.309 DEBUG hyper::proto::h1::io: parsed 7 headers Feb 21 20:31:49.309 DEBUG hyper::proto::h1::conn: incoming body is empty Feb 21 20:31:49.309 DEBUG weylus::web: Got request: Request { method: GET, uri: /, version: HTTP/1.1, headers: {"host": "192.168.0.113:1701", "upgrade-insecure-requests": "1", "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15", "accept-language": "en-us", "accept-encoding": "gzip, deflate", "connection": "keep-alive"}, body: Body(Empty) } Feb 21 20:31:49.309 INFO weylus::web: Client connected: 192.168.0.104:65062 Feb 21 20:31:49.309 TRACE encode_headers: hyper::proto::h1::role: Server::encode status=200, body=Some(Known(2743)), req_method=Some(GET) Feb 21 20:31:49.309 DEBUG hyper::proto::h1::io: flushed 2861 bytes Feb 21 20:31:49.309 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } Feb 21 20:31:49.313 TRACE hyper::proto::h1::conn: Conn::read_head Feb 21 20:31:49.313 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } Feb 21 20:31:49.316 TRACE hyper::proto::h1::conn: Conn::read_head Feb 21 20:31:49.316 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } Feb 21 20:31:49.320 TRACE hyper::proto::h1::conn: Conn::read_head Feb 21 20:31:49.320 TRACE hyper::proto::h1::conn: Conn::read_head Feb 21 20:31:49.320 DEBUG hyper::proto::h1::io: read 331 bytes Feb 21 20:31:49.320 DEBUG hyper::proto::h1::io: read 313 bytes Feb 21 20:31:49.320 TRACE parse_headers: hyper::proto::h1::role: Request.parse([Header; 100], [u8; 313]) Feb 21 20:31:49.320 TRACE parse_headers: hyper::proto::h1::role: Request.parse Complete(313) Feb 21 20:31:49.320 TRACE parse_headers: hyper::proto::h1::role: Request.parse([Header; 100], [u8; 331]) Feb 21 20:31:49.321 TRACE parse_headers: hyper::proto::h1::role: Request.parse Complete(331) Feb 21 20:31:49.321 DEBUG hyper::proto::h1::io: parsed 7 headers Feb 21 20:31:49.321 DEBUG hyper::proto::h1::conn: incoming body is empty Feb 21 20:31:49.321 DEBUG hyper::proto::h1::io: parsed 7 headers Feb 21 20:31:49.321 DEBUG hyper::proto::h1::conn: incoming body is empty Feb 21 20:31:49.321 DEBUG weylus::web: Got request: Request { method: GET, uri: /lib.js, version: HTTP/1.1, headers: {"host": "192.168.0.113:1701", "connection": "keep-alive", "accept": "*/*", "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15", "accept-language": "en-us", "referer": "http://192.168.0.113:1701/", "accept-encoding": "gzip, deflate"}, body: Body(Empty) } Feb 21 20:31:49.321 DEBUG weylus::web: Got request: Request { method: GET, uri: /style.css, version: HTTP/1.1, headers: {"host": "192.168.0.113:1701", "connection": "keep-alive", "accept": "text/css,*/*;q=0.1", "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15", "accept-language": "en-us", "referer": "http://192.168.0.113:1701/", "accept-encoding": "gzip, deflate"}, body: Body(Empty) } Feb 21 20:31:49.321 TRACE encode_headers: hyper::proto::h1::role: Server::encode status=200, body=Some(Known(2852)), req_method=Some(GET) Feb 21 20:31:49.321 TRACE encode_headers: hyper::proto::h1::role: Server::encode status=200, body=Some(Known(15071)), req_method=Some(GET) Feb 21 20:31:49.321 DEBUG hyper::proto::h1::io: flushed 2969 bytes Feb 21 20:31:49.321 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } Feb 21 20:31:49.321 DEBUG hyper::proto::h1::io: flushed 15196 bytes Feb 21 20:31:49.321 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } Feb 21 20:31:49.653 TRACE weylus::websocket: Got: GetCapturableList Feb 21 20:31:49.657 TRACE weylus::websocket: Got: ClientConfiguration { stylus_support: false, faster_capture: true, capturable_id: 0, capture_cursor: false, max_width: 2160, max_height: 1620 } [AVHWDeviceContext @ 0x7f74f4001a80] Failed to initialise VAAPI connection: -1 (unknown libva error). [libx264 @ 0x7f74f4003600] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 [libx264 @ 0x7f74f4003600] profile Constrained Baseline, level 6.1, 4:2:0, 8-bit [libx264 @ 0x7f74f4003600] 264 - core 161 r3039 544c61f - H.264/MPEG-4 AVC codec - Copyleft 2003-2021 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=8 lookahead_threads=8 sliced_threads=1 slices=8 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=12 keyint_min=1 scenecut=0 intra_refresh=0 rc=crf mbtree=0 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=0 Output #0, mp4, to '(null)': Stream #0:0: Video: h264, yuv420p, 1920x1080, q=2-31 Feb 21 20:31:49.702 INFO weylus::log: Video: 1920x1080@libx264 pix_fmt: yuv420p ``` Fedora contents of `va.log.013149.thd-0x00002666`: ``` [2437.684091][ctx none]==========va_TraceInitialize [2437.684098][ctx none]=========vaInitialize ret = VA_STATUS_ERROR_UNKNOWN, unknown libva error [2437.684132][ctx none]==========va_TraceTerminate [2437.684158][ctx none]=========vaTerminate ret = VA_STATUS_SUCCESS, success (no error) `: ```

Fedora output of vainfo:

libva info: VA-API version 1.9.0
libva info: Trying to open /usr/lib64/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_9
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.9 (libva 2.9.0)
vainfo: Driver version: Mesa Gallium driver 20.2.0 for AMD RAVEN (DRM 3.38.0, 5.8.15-301.fc33.x86_64, LLVM 11.0.0)
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileHEVCMain               : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointEncSlice
      VAProfileHEVCMain10             : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointVLD
      VAProfileVP9Profile0            : VAEntrypointVLD
      VAProfileVP9Profile2            : VAEntrypointVLD
      VAProfileNone                   : VAEntrypointVideoProc

Fedora output of ffmpeg -hwaccel vaapi -vaapi_device /dev/dri/renderD128 -f lavfi -i testsrc2=size=1920x1080 -vf 'format=nv12,hwupload' -vcodec h264_vaapi -t 10 -bf 0 -movflags frag_keyframe+empty_moov+default_base_moof test.mp4:

ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 10 (GCC)
  configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --docdir=/usr/share/doc/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' --extra-ldflags='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld ' --extra-cflags=' -I/usr/include/rav1e' --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-version3 --enable-bzlib --disable-crystalhd --enable-fontconfig --enable-frei0r --enable-gcrypt --enable-gnutls --enable-ladspa --enable-libaom --enable-libdav1d --enable-libass --enable-libbluray --enable-libcdio --enable-libdrm --enable-libjack --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-liblensfun --enable-libmp3lame --enable-libmysofa --enable-nvenc --enable-openal --enable-opencl --enable-opengl --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librav1e --enable-libsmbclient --enable-version3 --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-version3 --enable-vapoursynth --enable-libvpx --enable-vulkan --enable-libglslang --enable-libx264 --enable-libx265 --enable-libxvid --enable-libxml2 --enable-libzimg --enable-libzvbi --enable-lv2 --enable-avfilter --enable-avresample --enable-libmodplug --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-lto --enable-libmfx --enable-runtime-cpudetect
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100
Input #0, lavfi, from 'testsrc2=size=1920x1080':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 25 tbr, 25 tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (h264_vaapi))
Press [q] to stop, [?] for help
[h264_vaapi @ 0x559cdfa53980] No quality level set; using default (20).
[h264_vaapi @ 0x559cdfa53980] Driver does not support some wanted packed headers (wanted 0xd, found 0).
[h264_vaapi @ 0x559cdfa53980] Driver does not support packed sequence headers, but a global header is requested.
[h264_vaapi @ 0x559cdfa53980] No global header will be written: this may result in a stream which is not usable for some purposes (e.g. not muxable to some containers).
Output #0, mp4, to 'test.mp4':
  Metadata:
    encoder         : Lavf58.45.100
    Stream #0:0: Video: h264 (h264_vaapi) (High) (avc1 / 0x31637661), vaapi_vld, 1920x1080 [SAR 1:1 DAR 16:9], q=-1--1, 25 fps, 12800 tbn, 25 tbc
    Metadata:
      encoder         : Lavc58.91.100 h264_vaapi
frame=  250 fps= 51 q=-0.0 Lsize=   15686kB time=00:00:09.96 bitrate=12901.3kbits/s speed=2.02x    
video:15684kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.013537%

But trying to play it displays "No valid frames decoded before end of stream"

H-M-H commented 3 years ago

Whoops, I am sorry, but I forgot to tell you that I switched things around. weylus has the dynamic version of libva now and weylus_va_static is what didn't work previously so please try weylus.

gabrc52 commented 3 years ago

Oops, sorry, I didn't realize it said "static".

On Manjaro, ./weylus crashes:

Manjaro output of WEYLUS_LOG_LEVEL=TRACE LIBVA_MESSAGING_LEVEL=2 LIBVA_TRACE=va.log ./weylus ``` Feb 22 15:46:09.019 TRACE hyper::proto::h1::conn: Conn::read_head Feb 22 15:46:09.019 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } Feb 22 15:46:09.096 TRACE hyper::proto::h1::conn: Conn::read_head Feb 22 15:46:09.096 DEBUG hyper::proto::h1::io: read 360 bytes Feb 22 15:46:09.096 TRACE parse_headers: hyper::proto::h1::role: Request.parse([Header; 100], [u8; 360]) Feb 22 15:46:09.096 TRACE parse_headers: hyper::proto::h1::role: Request.parse Complete(360) Feb 22 15:46:09.096 DEBUG hyper::proto::h1::io: parsed 7 headers Feb 22 15:46:09.096 DEBUG hyper::proto::h1::conn: incoming body is empty Feb 22 15:46:09.096 DEBUG weylus::web: Got request: Request { method: GET, uri: /, version: HTTP/1.1, headers: {"host": "192.168.0.113:1701", "upgrade-insecure-requests": "1", "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15", "accept-language": "en-us", "accept-encoding": "gzip, deflate", "connection": "keep-alive"}, body: Body(Empty) } Feb 22 15:46:09.096 INFO weylus::web: Client connected: 192.168.0.104:49704 Feb 22 15:46:09.096 TRACE encode_headers: hyper::proto::h1::role: Server::encode status=200, body=Some(Known(2743)), req_method=Some(GET) Feb 22 15:46:09.096 DEBUG hyper::proto::h1::io: flushed 2861 bytes Feb 22 15:46:09.096 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } Feb 22 15:46:09.194 TRACE hyper::proto::h1::conn: Conn::read_head Feb 22 15:46:09.195 DEBUG hyper::proto::h1::io: read 331 bytes Feb 22 15:46:09.195 TRACE parse_headers: hyper::proto::h1::role: Request.parse([Header; 100], [u8; 331]) Feb 22 15:46:09.195 TRACE parse_headers: hyper::proto::h1::role: Request.parse Complete(331) Feb 22 15:46:09.195 DEBUG hyper::proto::h1::io: parsed 7 headers Feb 22 15:46:09.195 DEBUG hyper::proto::h1::conn: incoming body is empty Feb 22 15:46:09.195 DEBUG weylus::web: Got request: Request { method: GET, uri: /style.css, version: HTTP/1.1, headers: {"host": "192.168.0.113:1701", "connection": "keep-alive", "accept": "text/css,*/*;q=0.1", "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15", "accept-language": "en-us", "referer": "http://192.168.0.113:1701/", "accept-encoding": "gzip, deflate"}, body: Body(Empty) } Feb 22 15:46:09.195 TRACE encode_headers: hyper::proto::h1::role: Server::encode status=200, body=Some(Known(2852)), req_method=Some(GET) Feb 22 15:46:09.195 DEBUG hyper::proto::h1::io: flushed 2969 bytes Feb 22 15:46:09.195 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } Feb 22 15:46:09.198 TRACE hyper::proto::h1::conn: Conn::read_head Feb 22 15:46:09.198 TRACE hyper::proto::h1::conn: Conn::read_head Feb 22 15:46:09.198 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } Feb 22 15:46:09.198 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } Feb 22 15:46:09.201 TRACE hyper::proto::h1::conn: Conn::read_head Feb 22 15:46:09.201 DEBUG hyper::proto::h1::io: read 313 bytes Feb 22 15:46:09.201 TRACE parse_headers: hyper::proto::h1::role: Request.parse([Header; 100], [u8; 313]) Feb 22 15:46:09.201 TRACE parse_headers: hyper::proto::h1::role: Request.parse Complete(313) Feb 22 15:46:09.201 DEBUG hyper::proto::h1::io: parsed 7 headers Feb 22 15:46:09.201 DEBUG hyper::proto::h1::conn: incoming body is empty Feb 22 15:46:09.201 DEBUG weylus::web: Got request: Request { method: GET, uri: /lib.js, version: HTTP/1.1, headers: {"host": "192.168.0.113:1701", "connection": "keep-alive", "accept": "*/*", "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15", "accept-language": "en-us", "referer": "http://192.168.0.113:1701/", "accept-encoding": "gzip, deflate"}, body: Body(Empty) } Feb 22 15:46:09.201 TRACE encode_headers: hyper::proto::h1::role: Server::encode status=200, body=Some(Known(15071)), req_method=Some(GET) Feb 22 15:46:09.201 DEBUG hyper::proto::h1::io: flushed 15196 bytes Feb 22 15:46:09.201 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } Feb 22 15:46:09.308 TRACE weylus::websocket: Got: GetCapturableList Feb 22 15:46:09.309 TRACE weylus::websocket: Got: ClientConfiguration { stylus_support: false, faster_capture: true, capturable_id: 0, capture_cursor: false, max_width: 2160, max_height: 1620 } Feb 22 15:46:09.378 DEBUG weylus::log: VA-API vendor: Mesa Gallium driver 20.2.3 for AMD Radeon(TM) Vega 8 Graphics (RAVEN, DRM 3.39.0, 5.9.11-3-MANJARO, LLVM 11.0.0) zsh: segmentation fault (core dumped) WEYLUS_LOG_LEVEL=TRACE LIBVA_MESSAGING_LEVEL=2 LIBVA_TRACE=va.log ./weylus ```
Manjaro contents of va.log.214609.thd-0x000016e7 ``` [9761.371697][ctx none]==========va_TraceInitialize [9761.371706][ctx none]=========vaInitialize ret = VA_STATUS_SUCCESS, success (no error) [9761.376342][ctx none]==========va_TraceCreateSurfaces [9761.376345][ctx none] width = 1920 [9761.376346][ctx none] height = 1080 [9761.376346][ctx none] format = 1 [9761.376347][ctx none] num_surfaces = 1 [9761.376347][ctx none] surfaces[0] = 0x00000001 [9761.376348][ctx none] attrib_list[0] = [9761.376349][ctx none] type = 6 [9761.376349][ctx none] flags = 2 [9761.376350][ctx none] value.type = 1 [9761.376350][ctx none] value.value.i = 0x00000001 [9761.376350][ctx none] attrib_list[1] = [9761.376351][ctx none] type = 1 [9761.376351][ctx none] flags = 2 [9761.376352][ctx none] value.type = 1 [9761.376352][ctx none] value.value.i = 0x3231564e [9761.376373][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [9761.376385][ctx none]=========vaDeriveImage ret = VA_STATUS_ERROR_OPERATION_FAILED, operation failed [9761.376487][ctx none]==========va_TraceCreateSurfaces [9761.376488][ctx none] width = 1920 [9761.376489][ctx none] height = 1080 [9761.376489][ctx none] format = 1 [9761.376489][ctx none] num_surfaces = 1 [9761.376490][ctx none] surfaces[0] = 0x00000002 [9761.376491][ctx none] attrib_list[0] = [9761.376491][ctx none] type = 6 [9761.376491][ctx none] flags = 2 [9761.376492][ctx none] value.type = 1 [9761.376492][ctx none] value.value.i = 0x00000001 [9761.376492][ctx none] attrib_list[1] = [9761.376493][ctx none] type = 1 [9761.376493][ctx none] flags = 2 [9761.376493][ctx none] value.type = 1 [9761.376494][ctx none] value.value.i = 0x3231564e [9761.376501][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [9761.376570][ctx none]==========va_TraceCreateSurfaces [9761.376572][ctx none] width = 1920 [9761.376572][ctx none] height = 1080 [9761.376573][ctx none] format = 1 [9761.376573][ctx none] num_surfaces = 1 [9761.376573][ctx none] surfaces[0] = 0x00000003 [9761.376574][ctx none] attrib_list[0] = [9761.376575][ctx none] type = 6 [9761.376575][ctx none] flags = 2 [9761.376575][ctx none] value.type = 1 [9761.376576][ctx none] value.value.i = 0x00000001 [9761.376576][ctx none] attrib_list[1] = [9761.376576][ctx none] type = 1 [9761.376577][ctx none] flags = 2 [9761.376577][ctx none] value.type = 1 [9761.376577][ctx none] value.value.i = 0x3231564e [9761.376583][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [9761.376636][ctx none]==========va_TraceCreateSurfaces [9761.376637][ctx none] width = 1920 [9761.376637][ctx none] height = 1080 [9761.376637][ctx none] format = 1 [9761.376638][ctx none] num_surfaces = 1 [9761.376638][ctx none] surfaces[0] = 0x00000004 [9761.376639][ctx none] attrib_list[0] = [9761.376639][ctx none] type = 6 [9761.376639][ctx none] flags = 2 [9761.376640][ctx none] value.type = 1 [9761.376640][ctx none] value.value.i = 0x00000001 [9761.376640][ctx none] attrib_list[1] = [9761.376641][ctx none] type = 1 [9761.376641][ctx none] flags = 2 [9761.376642][ctx none] value.type = 1 [9761.376642][ctx none] value.value.i = 0x3231564e [9761.376646][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [9761.376691][ctx none]==========va_TraceCreateSurfaces [9761.376692][ctx none] width = 1920 [9761.376693][ctx none] height = 1080 [9761.376693][ctx none] format = 1 [9761.376694][ctx none] num_surfaces = 1 [9761.376694][ctx none] surfaces[0] = 0x00000005 [9761.376695][ctx none] attrib_list[0] = [9761.376695][ctx none] type = 6 [9761.376695][ctx none] flags = 2 [9761.376696][ctx none] value.type = 1 [9761.376696][ctx none] value.value.i = 0x00000001 [9761.376696][ctx none] attrib_list[1] = [9761.376697][ctx none] type = 1 [9761.376697][ctx none] flags = 2 [9761.376697][ctx none] value.type = 1 [9761.376698][ctx none] value.value.i = 0x3231564e [9761.376705][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [9761.376751][ctx none]==========va_TraceCreateSurfaces [9761.376752][ctx none] width = 1920 [9761.376753][ctx none] height = 1080 [9761.376753][ctx none] format = 1 [9761.376753][ctx none] num_surfaces = 1 [9761.376754][ctx none] surfaces[0] = 0x00000006 [9761.376754][ctx none] attrib_list[0] = [9761.376754][ctx none] type = 6 [9761.376755][ctx none] flags = 2 [9761.376755][ctx none] value.type = 1 [9761.376755][ctx none] value.value.i = 0x00000001 [9761.376756][ctx none] attrib_list[1] = [9761.376756][ctx none] type = 1 [9761.376756][ctx none] flags = 2 [9761.376757][ctx none] value.type = 1 [9761.376757][ctx none] value.value.i = 0x3231564e [9761.376762][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [9761.376805][ctx none]==========va_TraceCreateSurfaces [9761.376806][ctx none] width = 1920 [9761.376806][ctx none] height = 1080 [9761.376807][ctx none] format = 1 [9761.376807][ctx none] num_surfaces = 1 [9761.376807][ctx none] surfaces[0] = 0x00000007 [9761.376808][ctx none] attrib_list[0] = [9761.376808][ctx none] type = 6 [9761.376809][ctx none] flags = 2 [9761.376809][ctx none] value.type = 1 [9761.376809][ctx none] value.value.i = 0x00000001 [9761.376810][ctx none] attrib_list[1] = [9761.376810][ctx none] type = 1 [9761.376811][ctx none] flags = 2 [9761.376811][ctx none] value.type = 1 [9761.376811][ctx none] value.value.i = 0x3231564e [9761.376815][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [9761.376859][ctx none]==========va_TraceCreateSurfaces [9761.376859][ctx none] width = 1920 [9761.376860][ctx none] height = 1080 [9761.376860][ctx none] format = 1 [9761.376860][ctx none] num_surfaces = 1 [9761.376861][ctx none] surfaces[0] = 0x00000008 [9761.376861][ctx none] attrib_list[0] = [9761.376862][ctx none] type = 6 [9761.376862][ctx none] flags = 2 [9761.376862][ctx none] value.type = 1 [9761.376863][ctx none] value.value.i = 0x00000001 [9761.376863][ctx none] attrib_list[1] = [9761.376863][ctx none] type = 1 [9761.376864][ctx none] flags = 2 [9761.376864][ctx none] value.type = 1 [9761.376865][ctx none] value.value.i = 0x3231564e [9761.376869][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [9761.376915][ctx none]==========va_TraceCreateSurfaces [9761.376916][ctx none] width = 1920 [9761.376916][ctx none] height = 1080 [9761.376917][ctx none] format = 1 [9761.376917][ctx none] num_surfaces = 1 [9761.376917][ctx none] surfaces[0] = 0x00000009 [9761.376918][ctx none] attrib_list[0] = [9761.376918][ctx none] type = 6 [9761.376919][ctx none] flags = 2 [9761.376919][ctx none] value.type = 1 [9761.376919][ctx none] value.value.i = 0x00000001 [9761.376920][ctx none] attrib_list[1] = [9761.376920][ctx none] type = 1 [9761.376920][ctx none] flags = 2 [9761.376920][ctx none] value.type = 1 [9761.376921][ctx none] value.value.i = 0x3231564e [9761.376925][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [9761.376968][ctx none]==========va_TraceCreateSurfaces [9761.376969][ctx none] width = 1920 [9761.376969][ctx none] height = 1080 [9761.376970][ctx none] format = 1 [9761.376970][ctx none] num_surfaces = 1 [9761.376970][ctx none] surfaces[0] = 0x0000000a [9761.376971][ctx none] attrib_list[0] = [9761.376971][ctx none] type = 6 [9761.376971][ctx none] flags = 2 [9761.376972][ctx none] value.type = 1 [9761.376972][ctx none] value.value.i = 0x00000001 [9761.376972][ctx none] attrib_list[1] = [9761.376972][ctx none] type = 1 [9761.376973][ctx none] flags = 2 [9761.376973][ctx none] value.type = 1 [9761.376973][ctx none] value.value.i = 0x3231564e [9761.376980][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [9761.377023][ctx none]==========va_TraceCreateSurfaces [9761.377024][ctx none] width = 1920 [9761.377025][ctx none] height = 1080 [9761.377025][ctx none] format = 1 [9761.377025][ctx none] num_surfaces = 1 [9761.377025][ctx none] surfaces[0] = 0x0000000b [9761.377026][ctx none] attrib_list[0] = [9761.377026][ctx none] type = 6 [9761.377027][ctx none] flags = 2 [9761.377027][ctx none] value.type = 1 [9761.377027][ctx none] value.value.i = 0x00000001 [9761.377028][ctx none] attrib_list[1] = [9761.377028][ctx none] type = 1 [9761.377028][ctx none] flags = 2 [9761.377029][ctx none] value.type = 1 [9761.377029][ctx none] value.value.i = 0x3231564e [9761.377033][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [9761.377077][ctx none]==========va_TraceCreateSurfaces [9761.377078][ctx none] width = 1920 [9761.377078][ctx none] height = 1080 [9761.377079][ctx none] format = 1 [9761.377079][ctx none] num_surfaces = 1 [9761.377079][ctx none] surfaces[0] = 0x0000000c [9761.377080][ctx none] attrib_list[0] = [9761.377080][ctx none] type = 6 [9761.377081][ctx none] flags = 2 [9761.377081][ctx none] value.type = 1 [9761.377081][ctx none] value.value.i = 0x00000001 [9761.377082][ctx none] attrib_list[1] = [9761.377082][ctx none] type = 1 [9761.377083][ctx none] flags = 2 [9761.377083][ctx none] value.type = 1 [9761.377083][ctx none] value.value.i = 0x3231564e [9761.377087][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [9761.377130][ctx none]==========va_TraceCreateSurfaces [9761.377131][ctx none] width = 1920 [9761.377131][ctx none] height = 1080 [9761.377131][ctx none] format = 1 [9761.377132][ctx none] num_surfaces = 1 [9761.377132][ctx none] surfaces[0] = 0x0000000d [9761.377132][ctx none] attrib_list[0] = [9761.377133][ctx none] type = 6 [9761.377133][ctx none] flags = 2 [9761.377134][ctx none] value.type = 1 [9761.377134][ctx none] value.value.i = 0x00000001 [9761.377134][ctx none] attrib_list[1] = [9761.377135][ctx none] type = 1 [9761.377135][ctx none] flags = 2 [9761.377135][ctx none] value.type = 1 [9761.377136][ctx none] value.value.i = 0x3231564e [9761.377140][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [9761.377182][ctx none]==========va_TraceCreateSurfaces [9761.377183][ctx none] width = 1920 [9761.377183][ctx none] height = 1080 [9761.377183][ctx none] format = 1 [9761.377183][ctx none] num_surfaces = 1 [9761.377184][ctx none] surfaces[0] = 0x0000000e [9761.377184][ctx none] attrib_list[0] = [9761.377185][ctx none] type = 6 [9761.377185][ctx none] flags = 2 [9761.377185][ctx none] value.type = 1 [9761.377185][ctx none] value.value.i = 0x00000001 [9761.377186][ctx none] attrib_list[1] = [9761.377186][ctx none] type = 1 [9761.377186][ctx none] flags = 2 [9761.377187][ctx none] value.type = 1 [9761.377187][ctx none] value.value.i = 0x3231564e [9761.377191][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [9761.377241][ctx none]==========va_TraceCreateSurfaces [9761.377242][ctx none] width = 1920 [9761.377242][ctx none] height = 1080 [9761.377242][ctx none] format = 1 [9761.377243][ctx none] num_surfaces = 1 [9761.377243][ctx none] surfaces[0] = 0x0000000f [9761.377244][ctx none] attrib_list[0] = [9761.377244][ctx none] type = 6 [9761.377244][ctx none] flags = 2 [9761.377245][ctx none] value.type = 1 [9761.377245][ctx none] value.value.i = 0x00000001 [9761.377245][ctx none] attrib_list[1] = [9761.377246][ctx none] type = 1 [9761.377246][ctx none] flags = 2 [9761.377246][ctx none] value.type = 1 [9761.377247][ctx none] value.value.i = 0x3231564e [9761.377253][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [9761.377298][ctx none]==========va_TraceCreateSurfaces [9761.377299][ctx none] width = 1920 [9761.377299][ctx none] height = 1080 [9761.377299][ctx none] format = 1 [9761.377300][ctx none] num_surfaces = 1 [9761.377300][ctx none] surfaces[0] = 0x00000010 [9761.377300][ctx none] attrib_list[0] = [9761.377301][ctx none] type = 6 [9761.377301][ctx none] flags = 2 [9761.377302][ctx none] value.type = 1 [9761.377302][ctx none] value.value.i = 0x00000001 [9761.377302][ctx none] attrib_list[1] = [9761.377303][ctx none] type = 1 [9761.377303][ctx none] flags = 2 [9761.377303][ctx none] value.type = 1 [9761.377304][ctx none] value.value.i = 0x3231564e [9761.377308][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [9761.377353][ctx none]==========va_TraceCreateSurfaces [9761.377354][ctx none] width = 1920 [9761.377354][ctx none] height = 1080 [9761.377354][ctx none] format = 1 [9761.377355][ctx none] num_surfaces = 1 [9761.377355][ctx none] surfaces[0] = 0x00000011 [9761.377356][ctx none] attrib_list[0] = [9761.377356][ctx none] type = 6 [9761.377357][ctx none] flags = 2 [9761.377357][ctx none] value.type = 1 [9761.377357][ctx none] value.value.i = 0x00000001 [9761.377358][ctx none] attrib_list[1] = [9761.377358][ctx none] type = 1 [9761.377359][ctx none] flags = 2 [9761.377359][ctx none] value.type = 1 [9761.377359][ctx none] value.value.i = 0x3231564e [9761.377363][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [9761.377911][ctx none]==========va_TraceCreateSurfaces [9761.377912][ctx none] width = 1920 [9761.377913][ctx none] height = 1080 [9761.377913][ctx none] format = 1 [9761.377914][ctx none] num_surfaces = 1 [9761.377914][ctx none] surfaces[0] = 0x00000012 [9761.377915][ctx none] attrib_list[0] = [9761.377915][ctx none] type = 6 [9761.377916][ctx none] flags = 2 [9761.377916][ctx none] value.type = 1 [9761.377916][ctx none] value.value.i = 0x00000001 [9761.377916][ctx none] attrib_list[1] = [9761.377917][ctx none] type = 1 [9761.377917][ctx none] flags = 2 [9761.377917][ctx none] value.type = 1 [9761.377918][ctx none] value.value.i = 0x3231564e [9761.377922][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [9761.377970][ctx none]==========va_TraceCreateSurfaces [9761.377971][ctx none] width = 1920 [9761.377972][ctx none] height = 1080 [9761.377972][ctx none] format = 1 [9761.377972][ctx none] num_surfaces = 1 [9761.377972][ctx none] surfaces[0] = 0x00000013 [9761.377973][ctx none] attrib_list[0] = [9761.377973][ctx none] type = 6 [9761.377974][ctx none] flags = 2 [9761.377974][ctx none] value.type = 1 [9761.377974][ctx none] value.value.i = 0x00000001 [9761.377975][ctx none] attrib_list[1] = [9761.377975][ctx none] type = 1 [9761.377975][ctx none] flags = 2 [9761.377976][ctx none] value.type = 1 [9761.377976][ctx none] value.value.i = 0x3231564e [9761.377983][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [9761.378029][ctx none]==========va_TraceCreateSurfaces [9761.378030][ctx none] width = 1920 [9761.378031][ctx none] height = 1080 [9761.378031][ctx none] format = 1 [9761.378031][ctx none] num_surfaces = 1 [9761.378032][ctx none] surfaces[0] = 0x00000014 [9761.378032][ctx none] attrib_list[0] = [9761.378033][ctx none] type = 6 [9761.378033][ctx none] flags = 2 [9761.378033][ctx none] value.type = 1 [9761.378034][ctx none] value.value.i = 0x00000001 [9761.378034][ctx none] attrib_list[1] = [9761.378035][ctx none] type = 1 [9761.378035][ctx none] flags = 2 [9761.378035][ctx none] value.type = 1 [9761.378036][ctx none] value.value.i = 0x3231564e ```
gabrc52 commented 3 years ago

On Fedora, I still get the

[h264_vaapi @ 0x7f0d402ca500] Driver does not support some wanted packed headers (wanted 0xd, found 0).
[h264_vaapi @ 0x7f0d402ca500] Driver does not support packed sequence headers, but a global header is requested.
[h264_vaapi @ 0x7f0d402ca500] No global header will be written: this may result in a stream which is not usable for some purposes (e.g. not muxable to some containers).
[h264_vaapi @ 0x7f0d402ca500] Quality attribute is not supported: will use default quality level.

and the client can't play the video with:

ERROR: Failed to obtain resource, target: [object HTMLVideoElement] type: error src: blob:http://localhost:1701/29bdb1cf-8f14-4502-b2fe-42e75552a4c7 Error object: {"isTrusted":true}
ERROR: http://localhost:1701/lib.js:L305:0: IndexSizeError: Index or size is negative or greater than the allowed amount Error object: {}

It might be a distro issue, since I get the same error message from ffmpeg -hwaccel vaapi -vaapi_device /dev/dri/renderD128 -f lavfi -i testsrc2=size=1920x1080 -vf 'format=nv12,hwupload' -vcodec h264_vaapi -t 10 -bf 0 -movflags frag_keyframe+empty_moov+default_base_moof test.mp4:

ffmpeg output ``` ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers built with gcc 10 (GCC) configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --docdir=/usr/share/doc/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' --extra-ldflags='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld ' --extra-cflags=' -I/usr/include/rav1e' --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-version3 --enable-bzlib --disable-crystalhd --enable-fontconfig --enable-frei0r --enable-gcrypt --enable-gnutls --enable-ladspa --enable-libaom --enable-libdav1d --enable-libass --enable-libbluray --enable-libcdio --enable-libdrm --enable-libjack --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-liblensfun --enable-libmp3lame --enable-libmysofa --enable-nvenc --enable-openal --enable-opencl --enable-opengl --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librav1e --enable-libsmbclient --enable-version3 --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-version3 --enable-vapoursynth --enable-libvpx --enable-vulkan --enable-libglslang --enable-libx264 --enable-libx265 --enable-libxvid --enable-libxml2 --enable-libzimg --enable-libzvbi --enable-lv2 --enable-avfilter --enable-avresample --enable-libmodplug --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-lto --enable-libmfx --enable-runtime-cpudetect libavutil 56. 51.100 / 56. 51.100 libavcodec 58. 91.100 / 58. 91.100 libavformat 58. 45.100 / 58. 45.100 libavdevice 58. 10.100 / 58. 10.100 libavfilter 7. 85.100 / 7. 85.100 libavresample 4. 0. 0 / 4. 0. 0 libswscale 5. 7.100 / 5. 7.100 libswresample 3. 7.100 / 3. 7.100 libpostproc 55. 7.100 / 55. 7.100 Input #0, lavfi, from 'testsrc2=size=1920x1080': Duration: N/A, start: 0.000000, bitrate: N/A Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 25 tbr, 25 tbn, 25 tbc Stream mapping: Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (h264_vaapi)) Press [q] to stop, [?] for help [h264_vaapi @ 0x56540cbe00c0] No quality level set; using default (20). [h264_vaapi @ 0x56540cbe00c0] Driver does not support some wanted packed headers (wanted 0xd, found 0). [h264_vaapi @ 0x56540cbe00c0] Driver does not support packed sequence headers, but a global header is requested. [h264_vaapi @ 0x56540cbe00c0] No global header will be written: this may result in a stream which is not usable for some purposes (e.g. not muxable to some containers). Output #0, mp4, to 'test.mp4': Metadata: encoder : Lavf58.45.100 Stream #0:0: Video: h264 (h264_vaapi) (High) (avc1 / 0x31637661), vaapi_vld, 1920x1080 [SAR 1:1 DAR 16:9], q=-1--1, 25 fps, 12800 tbn, 25 tbc Metadata: encoder : Lavc58.91.100 h264_vaapi frame= 250 fps= 49 q=-0.0 Lsize= 15686kB time=00:00:09.96 bitrate=12901.3kbits/s speed=1.96x video:15684kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.013537% ```

Generated test.mp4:

https://drive.google.com/file/d/1eMOoN6G7KZ-uo5DUQKh3bLtkErAkSn2q/view?usp=sharing

(The video doesn't seem to be playable).

Fedora full output of WEYLUS_LOG_LEVEL=TRACE LIBVA_MESSAGING_LEVEL=2 LIBVA_TRACE=va.log ./weylus ``` Feb 22 16:57:46.046 WARN weylus::config: Failed to read configuration file: No such file or directory (os error 2) Feb 22 16:57:58.946 INFO weylus::web: Webserver listening at 0.0.0.0:1701... Feb 22 16:58:54.458 INFO weylus::web: Client connected: 192.168.0.104:49750 [h264_vaapi @ 0x7f0d402ca500] Driver does not support some wanted packed headers (wanted 0xd, found 0). [h264_vaapi @ 0x7f0d402ca500] Driver does not support packed sequence headers, but a global header is requested. [h264_vaapi @ 0x7f0d402ca500] No global header will be written: this may result in a stream which is not usable for some purposes (e.g. not muxable to some containers). [h264_vaapi @ 0x7f0d402ca500] Quality attribute is not supported: will use default quality level. Output #0, mp4, to '(null)': Stream #0:0: Video: h264 (High), vaapi_vld, 1920x1080, q=2-31 Feb 22 16:58:55.048 INFO weylus::log: Video: 1920x1080@h264_vaapi pix_fmt: nv12 Feb 22 16:59:15.384 WARN weylus::input::mouse_device: Could not move mouse: Out of bounds Feb 22 16:59:18.836 WARN weylus::input::mouse_device: Could not move mouse: Out of bounds Feb 22 16:59:21.304 WARN weylus::input::mouse_device: Could not move mouse: Out of bounds ^[q^C [gabriel@localhost-live linux]$ WEYLUS_LOG_LEVEL=TRACE LIBVA_MESSAGING_LEVEL=2 LIBVA_TRACE=va.log ./weylus Feb 22 17:00:48.876 INFO weylus::web: Webserver listening at 0.0.0.0:1701... Feb 22 17:00:57.531 TRACE hyper::proto::h1::conn: Conn::read_head Feb 22 17:00:57.531 DEBUG hyper::proto::h1::io: read 360 bytes Feb 22 17:00:57.531 TRACE parse_headers: hyper::proto::h1::role: Request.parse([Header; 100], [u8; 360]) Feb 22 17:00:57.531 TRACE parse_headers: hyper::proto::h1::role: Request.parse Complete(360) Feb 22 17:00:57.531 DEBUG hyper::proto::h1::io: parsed 7 headers Feb 22 17:00:57.531 DEBUG hyper::proto::h1::conn: incoming body is empty Feb 22 17:00:57.531 DEBUG weylus::web: Got request: Request { method: GET, uri: /, version: HTTP/1.1, headers: {"host": "192.168.0.113:1701", "upgrade-insecure-requests": "1", "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15", "accept-language": "en-us", "accept-encoding": "gzip, deflate", "connection": "keep-alive"}, body: Body(Empty) } Feb 22 17:00:57.532 INFO weylus::web: Client connected: 192.168.0.104:49754 Feb 22 17:00:57.532 TRACE encode_headers: hyper::proto::h1::role: Server::encode status=200, body=Some(Known(2743)), req_method=Some(GET) Feb 22 17:00:57.532 DEBUG hyper::proto::h1::io: flushed 2861 bytes Feb 22 17:00:57.532 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } Feb 22 17:00:58.163 TRACE hyper::proto::h1::conn: Conn::read_head Feb 22 17:00:58.163 DEBUG hyper::proto::h1::io: read 331 bytes Feb 22 17:00:58.163 TRACE parse_headers: hyper::proto::h1::role: Request.parse([Header; 100], [u8; 331]) Feb 22 17:00:58.163 TRACE parse_headers: hyper::proto::h1::role: Request.parse Complete(331) Feb 22 17:00:58.163 DEBUG hyper::proto::h1::io: parsed 7 headers Feb 22 17:00:58.163 DEBUG hyper::proto::h1::conn: incoming body is empty Feb 22 17:00:58.163 DEBUG weylus::web: Got request: Request { method: GET, uri: /style.css, version: HTTP/1.1, headers: {"host": "192.168.0.113:1701", "connection": "keep-alive", "accept": "text/css,*/*;q=0.1", "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15", "accept-language": "en-us", "referer": "http://192.168.0.113:1701/", "accept-encoding": "gzip, deflate"}, body: Body(Empty) } Feb 22 17:00:58.163 TRACE encode_headers: hyper::proto::h1::role: Server::encode status=200, body=Some(Known(2852)), req_method=Some(GET) Feb 22 17:00:58.163 DEBUG hyper::proto::h1::io: flushed 2969 bytes Feb 22 17:00:58.164 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } Feb 22 17:00:58.895 TRACE hyper::proto::h1::conn: Conn::read_head Feb 22 17:00:58.896 TRACE hyper::proto::h1::conn: Conn::read_head Feb 22 17:00:58.896 DEBUG hyper::proto::h1::io: read 313 bytes Feb 22 17:00:58.896 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } Feb 22 17:00:58.896 TRACE parse_headers: hyper::proto::h1::role: Request.parse([Header; 100], [u8; 313]) Feb 22 17:00:58.896 TRACE parse_headers: hyper::proto::h1::role: Request.parse Complete(313) Feb 22 17:00:58.896 DEBUG hyper::proto::h1::io: parsed 7 headers Feb 22 17:00:58.896 DEBUG hyper::proto::h1::conn: incoming body is empty Feb 22 17:00:58.896 DEBUG weylus::web: Got request: Request { method: GET, uri: /lib.js, version: HTTP/1.1, headers: {"host": "192.168.0.113:1701", "connection": "keep-alive", "accept": "*/*", "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15", "accept-language": "en-us", "referer": "http://192.168.0.113:1701/", "accept-encoding": "gzip, deflate"}, body: Body(Empty) } Feb 22 17:00:58.896 TRACE encode_headers: hyper::proto::h1::role: Server::encode status=200, body=Some(Known(15071)), req_method=Some(GET) Feb 22 17:00:58.896 DEBUG hyper::proto::h1::io: flushed 15196 bytes Feb 22 17:00:58.896 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } Feb 22 17:01:02.578 TRACE weylus::websocket: Got: GetCapturableList Feb 22 17:01:02.579 TRACE weylus::websocket: Got: ClientConfiguration { stylus_support: false, faster_capture: true, capturable_id: 0, capture_cursor: false, max_width: 2160, max_height: 1620 } Feb 22 17:01:02.643 DEBUG weylus::log: VA-API vendor: Mesa Gallium driver 20.2.0 for AMD RAVEN (DRM 3.38.0, 5.8.15-301.fc33.x86_64, LLVM 11.0.0) Feb 22 17:01:02.643 DEBUG weylus::log: MD RAVEN is blacklisted and NV12 is forced as pixel format. [h264_vaapi @ 0x7fede41385c0] Driver does not support some wanted packed headers (wanted 0xd, found 0). [h264_vaapi @ 0x7fede41385c0] Driver does not support packed sequence headers, but a global header is requested. [h264_vaapi @ 0x7fede41385c0] No global header will be written: this may result in a stream which is not usable for some purposes (e.g. not muxable to some containers). [h264_vaapi @ 0x7fede41385c0] Quality attribute is not supported: will use default quality level. Output #0, mp4, to '(null)': Stream #0:0: Video: h264 (High), vaapi_vld, 1920x1080, q=2-31 Feb 22 17:01:02.645 INFO weylus::log: Video: 1920x1080@h264_vaapi pix_fmt: nv12 Feb 22 17:01:28.617 TRACE hyper::proto::h1::conn: Conn::read_head Feb 22 17:01:28.617 DEBUG hyper::proto::h1::io: read 0 bytes Feb 22 17:01:28.617 TRACE hyper::proto::h1::io: parse eof Feb 22 17:01:28.617 TRACE hyper::proto::h1::conn: State::close_read() Feb 22 17:01:28.617 DEBUG hyper::proto::h1::conn: read eof Feb 22 17:01:28.617 TRACE hyper::proto::h1::conn: State::close_write() Feb 22 17:01:28.617 TRACE hyper::proto::h1::conn: State::close_read() Feb 22 17:01:28.617 TRACE hyper::proto::h1::conn: State::close_write() Feb 22 17:01:28.617 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Closed, writing: Closed, keep_alive: Disabled } Feb 22 17:01:28.617 TRACE hyper::proto::h1::conn: shut down IO complete Feb 22 17:01:28.620 TRACE hyper::proto::h1::conn: Conn::read_head Feb 22 17:01:28.620 TRACE hyper::proto::h1::conn: Conn::read_head Feb 22 17:01:28.620 DEBUG hyper::proto::h1::io: read 0 bytes Feb 22 17:01:28.621 TRACE hyper::proto::h1::io: parse eof Feb 22 17:01:28.621 TRACE hyper::proto::h1::conn: State::close_read() Feb 22 17:01:28.621 DEBUG hyper::proto::h1::conn: read eof Feb 22 17:01:28.621 TRACE hyper::proto::h1::conn: State::close_write() Feb 22 17:01:28.621 TRACE hyper::proto::h1::conn: State::close_read() Feb 22 17:01:28.621 TRACE hyper::proto::h1::conn: State::close_write() Feb 22 17:01:28.621 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Closed, writing: Closed, keep_alive: Disabled } Feb 22 17:01:28.621 TRACE hyper::proto::h1::conn: shut down IO complete Feb 22 17:01:28.620 DEBUG hyper::proto::h1::io: read 0 bytes Feb 22 17:01:28.621 TRACE hyper::proto::h1::io: parse eof Feb 22 17:01:28.621 TRACE hyper::proto::h1::conn: State::close_read() Feb 22 17:01:28.621 DEBUG hyper::proto::h1::conn: read eof Feb 22 17:01:28.621 TRACE hyper::proto::h1::conn: State::close_write() Feb 22 17:01:28.621 TRACE hyper::proto::h1::conn: State::close_read() Feb 22 17:01:28.621 TRACE hyper::proto::h1::conn: State::close_write() Feb 22 17:01:28.621 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Closed, writing: Closed, keep_alive: Disabled } Feb 22 17:01:28.621 TRACE hyper::proto::h1::conn: shut down IO complete Feb 22 17:01:32.828 TRACE hyper::proto::h1::conn: Conn::read_head Feb 22 17:01:32.828 DEBUG hyper::proto::h1::io: read 0 bytes Feb 22 17:01:32.828 TRACE hyper::proto::h1::io: parse eof Feb 22 17:01:32.828 TRACE hyper::proto::h1::conn: State::close_read() Feb 22 17:01:32.828 DEBUG hyper::proto::h1::conn: read eof Feb 22 17:01:32.828 TRACE hyper::proto::h1::conn: State::close_write() Feb 22 17:01:32.828 TRACE hyper::proto::h1::conn: State::close_read() Feb 22 17:01:32.828 TRACE hyper::proto::h1::conn: State::close_write() Feb 22 17:01:32.828 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Closed, writing: Closed, keep_alive: Disabled } Feb 22 17:01:32.828 TRACE hyper::proto::h1::conn: shut down IO complete ```

Fedora contents of va.log.220225.thd-0x000018d2:

https://controlc.com/8159b342

H-M-H commented 3 years ago

Ah great, thanks for the help! The video you generated confirms my suspicions and running ffprobe tells me [extract_extradata @ 0x56334679a040] No start code is found., sadly this means that ffmpeg can't hardware encode to the required format and there is nothing I can do about it.

And I am pretty sure I know why it crashed on Manjaro this time, it was more or less a typo in my C code https://github.com/H-M-H/Weylus/commit/a2092ea18dfea59d1b5050d77c2484a96343e440 , now it shouldn't crash anymore.

gabrc52 commented 3 years ago

Okay, thanks. Now on Manjaro I'm getting a very similar result as Fedora (broken ffmpeg command [similar ffprobe error] and "Failed to obtain resource"). I'm guessing this should be filed as an upstream bug/regression?

WEYLUS_LOG_LEVEL=TRACE LIBVA_MESSAGING_LEVEL=2 LIBVA_TRACE=va.log ./weylus ``` Feb 23 15:50:56.751 INFO weylus::web: Webserver listening at 0.0.0.0:1701... Feb 23 15:51:02.510 TRACE hyper::proto::h1::conn: Conn::read_head Feb 23 15:51:02.510 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } Feb 23 15:51:02.568 TRACE hyper::proto::h1::conn: Conn::read_head Feb 23 15:51:02.568 DEBUG hyper::proto::h1::io: read 360 bytes Feb 23 15:51:02.568 TRACE parse_headers: hyper::proto::h1::role: Request.parse([Header; 100], [u8; 360]) Feb 23 15:51:02.568 TRACE parse_headers: hyper::proto::h1::role: Request.parse Complete(360) Feb 23 15:51:02.568 DEBUG hyper::proto::h1::io: parsed 7 headers Feb 23 15:51:02.568 DEBUG hyper::proto::h1::conn: incoming body is empty Feb 23 15:51:02.568 DEBUG weylus::web: Got request: Request { method: GET, uri: /, version: HTTP/1.1, headers: {"host": "192.168.0.113:1701", "upgrade-insecure-requests": "1", "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15", "accept-language": "en-us", "accept-encoding": "gzip, deflate", "connection": "keep-alive"}, body: Body(Empty) } Feb 23 15:51:02.568 INFO weylus::web: Client connected: 192.168.0.104:64525 Feb 23 15:51:02.568 TRACE encode_headers: hyper::proto::h1::role: Server::encode status=200, body=Some(Known(2743)), req_method=Some(GET) Feb 23 15:51:02.569 DEBUG hyper::proto::h1::io: flushed 2861 bytes Feb 23 15:51:02.569 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } Feb 23 15:51:02.578 TRACE hyper::proto::h1::conn: Conn::read_head Feb 23 15:51:02.578 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } Feb 23 15:51:02.578 TRACE hyper::proto::h1::conn: Conn::read_head Feb 23 15:51:02.578 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } Feb 23 15:51:02.581 TRACE hyper::proto::h1::conn: Conn::read_head Feb 23 15:51:02.581 TRACE hyper::proto::h1::conn: Conn::read_head Feb 23 15:51:02.581 DEBUG hyper::proto::h1::io: read 313 bytes Feb 23 15:51:02.581 DEBUG hyper::proto::h1::io: read 331 bytes Feb 23 15:51:02.581 TRACE parse_headers: hyper::proto::h1::role: Request.parse([Header; 100], [u8; 331]) Feb 23 15:51:02.581 TRACE parse_headers: hyper::proto::h1::role: Request.parse([Header; 100], [u8; 313]) Feb 23 15:51:02.581 TRACE parse_headers: hyper::proto::h1::role: Request.parse Complete(331) Feb 23 15:51:02.581 TRACE parse_headers: hyper::proto::h1::role: Request.parse Complete(313) Feb 23 15:51:02.581 DEBUG hyper::proto::h1::io: parsed 7 headers Feb 23 15:51:02.581 DEBUG hyper::proto::h1::conn: incoming body is empty Feb 23 15:51:02.581 DEBUG hyper::proto::h1::io: parsed 7 headers Feb 23 15:51:02.581 DEBUG hyper::proto::h1::conn: incoming body is empty Feb 23 15:51:02.581 DEBUG weylus::web: Got request: Request { method: GET, uri: /style.css, version: HTTP/1.1, headers: {"host": "192.168.0.113:1701", "connection": "keep-alive", "accept": "text/css,*/*;q=0.1", "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15", "accept-language": "en-us", "referer": "http://192.168.0.113:1701/", "accept-encoding": "gzip, deflate"}, body: Body(Empty) } Feb 23 15:51:02.581 DEBUG weylus::web: Got request: Request { method: GET, uri: /lib.js, version: HTTP/1.1, headers: {"host": "192.168.0.113:1701", "connection": "keep-alive", "accept": "*/*", "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15", "accept-language": "en-us", "referer": "http://192.168.0.113:1701/", "accept-encoding": "gzip, deflate"}, body: Body(Empty) } Feb 23 15:51:02.581 TRACE encode_headers: hyper::proto::h1::role: Server::encode status=200, body=Some(Known(2852)), req_method=Some(GET) Feb 23 15:51:02.581 TRACE encode_headers: hyper::proto::h1::role: Server::encode status=200, body=Some(Known(15071)), req_method=Some(GET) Feb 23 15:51:02.582 DEBUG hyper::proto::h1::io: flushed 2969 bytes Feb 23 15:51:02.582 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } Feb 23 15:51:02.582 DEBUG hyper::proto::h1::io: flushed 15196 bytes Feb 23 15:51:02.582 TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } Feb 23 15:51:02.684 TRACE weylus::websocket: Got: GetCapturableList Feb 23 15:51:02.685 TRACE weylus::websocket: Got: ClientConfiguration { stylus_support: false, faster_capture: true, capturable_id: 0, capture_cursor: false, max_width: 2160, max_height: 1620 } Feb 23 15:51:02.779 DEBUG weylus::log: VA-API vendor: Mesa Gallium driver 20.2.3 for AMD Radeon(TM) Vega 8 Graphics (RAVEN, DRM 3.39.0, 5.9.11-3-MANJARO, LLVM 11.0.0) Feb 23 15:51:02.779 DEBUG weylus::log: 'Mesa Gallium driver 20.2.3 for AMD Radeon(TM) Vega 8 Graphics (RAVEN, DRM 3.39.0, 5.9.11-3-MANJARO, LLVM 11.0.0)' is blacklisted and NV12 is forced as pixel format. [h264_vaapi @ 0x7fbbe8158b80] Driver does not support some wanted packed headers (wanted 0xd, found 0). [h264_vaapi @ 0x7fbbe8158b80] Driver does not support packed sequence headers, but a global header is requested. [h264_vaapi @ 0x7fbbe8158b80] No global header will be written: this may result in a stream which is not usable for some purposes (e.g. not muxable to some containers). [h264_vaapi @ 0x7fbbe8158b80] Quality attribute is not supported: will use default quality level. Output #0, mp4, to '(null)': Stream #0:0: Video: h264 (High), vaapi_vld, 1920x1080, q=2-31 Feb 23 15:51:02.781 INFO weylus::log: Video: 1920x1080@h264_vaapi pix_fmt: nv12 ^C ```
H-M-H commented 3 years ago

To me it looks like those are mesa issues. Here is what I could dig up:

Pixel formats reported as supported even though they are not:

Encoded video being invalid

I think this is as far as we can get here.

gabrc52 commented 3 years ago

Okay, thanks for all your help!

H-M-H commented 3 years ago

Likewise! I am closing this for now.