H-M-H / Weylus

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

encoding with amdgpu (apu) vaapi exits with Segmentation fault (core dumped) #133

Open j-mir-prazak opened 2 years ago

j-mir-prazak commented 2 years ago

Weylus works with CPU, but VAAPI crashes. ffmpeg with VAAPI works just fine (only mkv output fails).

Tried release version and build my own: the same error.

2022-01-01T01:46:07.067033Z DEBUG weylus::log: libva: LIBVA_TRACE is on, save log into va.log.014607.thd-0x00027707

2022-01-01T01:46:07.067069Z DEBUG weylus::log: libva: VA-API version 1.13.0

2022-01-01T01:46:07.067145Z DEBUG weylus::log: libva: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so

2022-01-01T01:46:07.086649Z DEBUG weylus::log: libva: Found init function __vaDriverInit_1_12

2022-01-01T01:46:07.108482Z DEBUG weylus::log: libva: va_openDriver() returns 0

2022-01-01T01:46:07.108607Z DEBUG weylus::log: Initialised VAAPI connection: version 1.13 2022-01-01T01:46:07.108644Z TRACE weylus::log: Format 0x3231564e -> nv12. 2022-01-01T01:46:07.108659Z TRACE weylus::log: Format 0x30313050 -> p010le. 2022-01-01T01:46:07.108672Z TRACE weylus::log: Format 0x36313050 -> unknown. 2022-01-01T01:46:07.108686Z TRACE weylus::log: Format 0x30323449 -> yuv420p. 2022-01-01T01:46:07.108699Z TRACE weylus::log: Format 0x32315659 -> yuv420p. 2022-01-01T01:46:07.108712Z TRACE weylus::log: Format 0x56595559 -> unknown. 2022-01-01T01:46:07.108724Z TRACE weylus::log: Format 0x32595559 -> yuyv422. 2022-01-01T01:46:07.108737Z TRACE weylus::log: Format 0x59565955 -> uyvy422. 2022-01-01T01:46:07.108750Z TRACE weylus::log: Format 0x41524742 -> bgra. 2022-01-01T01:46:07.108763Z TRACE weylus::log: Format 0x41424752 -> rgba. 2022-01-01T01:46:07.108776Z TRACE weylus::log: Format 0x58524742 -> bgr0. 2022-01-01T01:46:07.108788Z TRACE weylus::log: Format 0x58424752 -> rgb0. 2022-01-01T01:46:07.108801Z DEBUG weylus::log: VAAPI driver: Mesa Gallium driver 22.0.0-devel for AMD RENOIR (LLVM 13.0.0, DRM 3.42, 5.15.11). 2022-01-01T01:46:07.108815Z DEBUG weylus::log: Driver not found in known nonstandard list, using standard behaviour. 2022-01-01T01:46:07.112148Z TRACE weylus::log: Created surface 0x1. 2022-01-01T01:46:07.112306Z TRACE weylus::log: Direct mapping disabled: deriving image does not work: 1 (operation failed). 2022-01-01T01:46:07.112772Z TRACE weylus::log: Created surface 0x2. 2022-01-01T01:46:07.114371Z TRACE weylus::log: Created surface 0x3. 2022-01-01T01:46:07.114776Z TRACE weylus::log: Created surface 0x4. 2022-01-01T01:46:07.115092Z TRACE weylus::log: Created surface 0x5. 2022-01-01T01:46:07.115403Z TRACE weylus::log: Created surface 0x6. 2022-01-01T01:46:07.115676Z TRACE weylus::log: Created surface 0x7. 2022-01-01T01:46:07.115931Z TRACE weylus::log: Created surface 0x8. 2022-01-01T01:46:07.116347Z TRACE weylus::log: Created surface 0x9. 2022-01-01T01:46:07.117159Z TRACE weylus::log: Created surface 0xa. 2022-01-01T01:46:07.118231Z TRACE weylus::log: Created surface 0xb. 2022-01-01T01:46:07.118998Z TRACE weylus::log: Created surface 0xc. 2022-01-01T01:46:07.122751Z TRACE weylus::log: Created surface 0xd. 2022-01-01T01:46:07.123239Z TRACE weylus::log: Created surface 0xe. 2022-01-01T01:46:07.127541Z TRACE weylus::log: Created surface 0xf. 2022-01-01T01:46:07.129318Z TRACE weylus::log: Created surface 0x10. 2022-01-01T01:46:07.131178Z TRACE weylus::log: Created surface 0x11. 2022-01-01T01:46:07.132761Z TRACE weylus::log: Created surface 0x12. 2022-01-01T01:46:07.138024Z TRACE weylus::log: Created surface 0x13. 2022-01-01T01:46:07.139537Z TRACE weylus::log: Created surface 0x14. 2022-01-01T01:46:07.139671Z DEBUG weylus::log: VA-API vendor: Mesa Gallium driver 22.0.0-devel for AMD RENOIR (LLVM 13.0.0, DRM 3.42, 5.15.11) 2022-01-01T01:46:07.139741Z DEBUG weylus::log: Input surface format is nv12. 2022-01-01T01:46:07.139777Z DEBUG weylus::log: Using VAAPI profile VAProfileH264High (7). 2022-01-01T01:46:07.139802Z DEBUG weylus::log: Using VAAPI entrypoint VAEntrypointEncSlice (6). 2022-01-01T01:46:07.139825Z DEBUG weylus::log: Using VAAPI render target format YUV420 (0x1). 2022-01-01T01:46:07.139850Z TRACE weylus::log: Driver supports RC modes CQP, CBR, VBR. 2022-01-01T01:46:07.139871Z DEBUG weylus::log: RC mode: CQP. 2022-01-01T01:46:07.139891Z DEBUG weylus::log: RC quality: 23. 2022-01-01T01:46:07.139918Z DEBUG weylus::log: RC framerate: 1000/1 (1000.00 fps). 2022-01-01T01:46:07.139940Z DEBUG weylus::log: Using intra and P-frames (supported references: 1 / 0). 2022-01-01T01:46:07.139975Z WARN weylus::log: Driver does not support some wanted packed headers (wanted 0xd, found 0). 2022-01-01T01:46:07.139998Z WARN weylus::log: Driver does not support packed sequence headers, but a global header is requested. 2022-01-01T01:46:07.140019Z WARN weylus::log: 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). 2022-01-01T01:46:07.140042Z WARN weylus::log: Quality attribute is not supported: will use default quality level. 2022-01-01T01:46:07.140109Z TRACE weylus::log: Using nv12 as format of reconstructed frames. 2022-01-01T01:46:07.143005Z TRACE weylus::log: Created surface 0x16. 2022-01-01T01:46:07.143110Z TRACE weylus::log: Direct mapping disabled: deriving image does not work: 1 (operation failed). 2022-01-01T01:46:07.143132Z DEBUG weylus::log: libva: Save context 0x00000017 into log file va.log.014607.thd-0x00027707

2022-01-01T01:46:07.143174Z TRACE weylus::log: Using fixed QP = 23 / 23 / 28 for IDR- / P- / B-frames. 2022-01-01T01:46:07.143203Z DEBUG weylus::log: Using level 4. 2022-01-01T01:46:07.143270Z DEBUG weylus::log: Empty MOOV enabled; disabling automatic bitstream filtering 2022-01-01T01:46:07.144386Z INFO weylus::log: Video: 1728x972@h264_vaapi pix_fmt: bgr0 2022-01-01T01:46:07.161057Z TRACE weylus::log: Map surface 0x14. 2022-01-01T01:46:07.163877Z TRACE weylus::log: Unmap surface 0x14. 2022-01-01T01:46:07.172811Z TRACE weylus::log: Input frame: 1728x972 (106). 2022-01-01T01:46:07.173028Z TRACE weylus::log: Pick forced IDR-picture to encode next. 2022-01-01T01:46:07.173054Z TRACE weylus::log: Issuing encode for pic 0/0 as type IDR. 2022-01-01T01:46:07.173078Z TRACE weylus::log: No reference pictures. 2022-01-01T01:46:07.173095Z TRACE weylus::log: Input surface is 0x14. 2022-01-01T01:46:07.173113Z TRACE weylus::log: Recon surface is 0x16. 2022-01-01T01:46:07.173182Z TRACE weylus::log: Allocated output buffer 0x18 2022-01-01T01:46:07.173204Z TRACE weylus::log: Output buffer is 0x18. 2022-01-01T01:46:07.173221Z TRACE weylus::log: Param buffer (22) is 0x19. 2022-01-01T01:46:07.173237Z TRACE weylus::log: Param buffer (27) is 0x1a. 2022-01-01T01:46:07.173254Z TRACE weylus::log: Param buffer (23) is 0x1b. 2022-01-01T01:46:07.173269Z TRACE weylus::log: Slice 0: 0-60 (61 rows), 0-6587 (6588 blocks). 2022-01-01T01:46:07.173290Z TRACE weylus::log: Param buffer (24) is 0x1c. Segmentation fault (core dumped)

va.log.014607.thd-0x00027707

[45663.108593][ctx none]==========va_TraceInitialize [45663.108603][ctx none]=========vaInitialize ret = VA_STATUS_SUCCESS, success (no error) [45663.112032][ctx none]==========va_TraceCreateSurfaces [45663.112035][ctx none] width = 1728 [45663.112036][ctx none] height = 972 [45663.112036][ctx none] format = 1 [45663.112036][ctx none] num_surfaces = 1 [45663.112037][ctx none] surfaces[0] = 0x00000001 [45663.112037][ctx none] attrib_list[0] = [45663.112038][ctx none] type = 6 [45663.112038][ctx none] flags = 2 [45663.112038][ctx none] value.type = 1 [45663.112038][ctx none] value.value.i = 0x00000001 [45663.112039][ctx none] attrib_list[1] = [45663.112039][ctx none] type = 1 [45663.112039][ctx none] flags = 2 [45663.112039][ctx none] value.type = 1 [45663.112039][ctx none] value.value.i = 0x3231564e [45663.112094][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [45663.112302][ctx none]=========vaDeriveImage ret = VA_STATUS_ERROR_OPERATION_FAILED, operation failed [45663.112628][ctx none]==========va_TraceCreateSurfaces [45663.112630][ctx none] width = 1728 [45663.112631][ctx none] height = 972 [45663.112631][ctx none] format = 1 [45663.112631][ctx none] num_surfaces = 1 [45663.112631][ctx none] surfaces[0] = 0x00000002 [45663.112632][ctx none] attrib_list[0] = [45663.112632][ctx none] type = 6 [45663.112633][ctx none] flags = 2 [45663.112633][ctx none] value.type = 1 [45663.112633][ctx none] value.value.i = 0x00000001 [45663.112633][ctx none] attrib_list[1] = [45663.112634][ctx none] type = 1 [45663.112634][ctx none] flags = 2 [45663.112634][ctx none] value.type = 1 [45663.112634][ctx none] value.value.i = 0x3231564e [45663.112654][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [45663.114100][ctx none]==========va_TraceCreateSurfaces [45663.114289][ctx none] width = 1728 [45663.114290][ctx none] height = 972 [45663.114290][ctx none] format = 1 [45663.114290][ctx none] num_surfaces = 1 [45663.114290][ctx none] surfaces[0] = 0x00000003 [45663.114292][ctx none] attrib_list[0] = [45663.114292][ctx none] type = 6 [45663.114292][ctx none] flags = 2 [45663.114293][ctx none] value.type = 1 [45663.114293][ctx none] value.value.i = 0x00000001 [45663.114293][ctx none] attrib_list[1] = [45663.114293][ctx none] type = 1 [45663.114294][ctx none] flags = 2 [45663.114294][ctx none] value.type = 1 [45663.114294][ctx none] value.value.i = 0x3231564e [45663.114327][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [45663.114745][ctx none]==========va_TraceCreateSurfaces [45663.114746][ctx none] width = 1728 [45663.114746][ctx none] height = 972 [45663.114746][ctx none] format = 1 [45663.114747][ctx none] num_surfaces = 1 [45663.114747][ctx none] surfaces[0] = 0x00000004 [45663.114748][ctx none] attrib_list[0] = [45663.114748][ctx none] type = 6 [45663.114748][ctx none] flags = 2 [45663.114748][ctx none] value.type = 1 [45663.114748][ctx none] value.value.i = 0x00000001 [45663.114749][ctx none] attrib_list[1] = [45663.114749][ctx none] type = 1 [45663.114749][ctx none] flags = 2 [45663.114749][ctx none] value.type = 1 [45663.114749][ctx none] value.value.i = 0x3231564e [45663.114763][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [45663.115064][ctx none]==========va_TraceCreateSurfaces [45663.115065][ctx none] width = 1728 [45663.115066][ctx none] height = 972 [45663.115066][ctx none] format = 1 [45663.115066][ctx none] num_surfaces = 1 [45663.115066][ctx none] surfaces[0] = 0x00000005 [45663.115067][ctx none] attrib_list[0] = [45663.115067][ctx none] type = 6 [45663.115067][ctx none] flags = 2 [45663.115068][ctx none] value.type = 1 [45663.115068][ctx none] value.value.i = 0x00000001 [45663.115068][ctx none] attrib_list[1] = [45663.115068][ctx none] type = 1 [45663.115069][ctx none] flags = 2 [45663.115069][ctx none] value.type = 1 [45663.115069][ctx none] value.value.i = 0x3231564e [45663.115084][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [45663.115388][ctx none]==========va_TraceCreateSurfaces [45663.115389][ctx none] width = 1728 [45663.115389][ctx none] height = 972 [45663.115390][ctx none] format = 1 [45663.115390][ctx none] num_surfaces = 1 [45663.115390][ctx none] surfaces[0] = 0x00000006 [45663.115391][ctx none] attrib_list[0] = [45663.115391][ctx none] type = 6 [45663.115391][ctx none] flags = 2 [45663.115391][ctx none] value.type = 1 [45663.115392][ctx none] value.value.i = 0x00000001 [45663.115392][ctx none] attrib_list[1] = [45663.115392][ctx none] type = 1 [45663.115392][ctx none] flags = 2 [45663.115393][ctx none] value.type = 1 [45663.115393][ctx none] value.value.i = 0x3231564e [45663.115397][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [45663.115662][ctx none]==========va_TraceCreateSurfaces [45663.115663][ctx none] width = 1728 [45663.115663][ctx none] height = 972 [45663.115663][ctx none] format = 1 [45663.115664][ctx none] num_surfaces = 1 [45663.115664][ctx none] surfaces[0] = 0x00000007 [45663.115664][ctx none] attrib_list[0] = [45663.115665][ctx none] type = 6 [45663.115665][ctx none] flags = 2 [45663.115665][ctx none] value.type = 1 [45663.115665][ctx none] value.value.i = 0x00000001 [45663.115666][ctx none] attrib_list[1] = [45663.115666][ctx none] type = 1 [45663.115666][ctx none] flags = 2 [45663.115666][ctx none] value.type = 1 [45663.115666][ctx none] value.value.i = 0x3231564e [45663.115670][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [45663.115916][ctx none]==========va_TraceCreateSurfaces [45663.115917][ctx none] width = 1728 [45663.115918][ctx none] height = 972 [45663.115918][ctx none] format = 1 [45663.115918][ctx none] num_surfaces = 1 [45663.115918][ctx none] surfaces[0] = 0x00000008 [45663.115919][ctx none] attrib_list[0] = [45663.115919][ctx none] type = 6 [45663.115919][ctx none] flags = 2 [45663.115920][ctx none] value.type = 1 [45663.115920][ctx none] value.value.i = 0x00000001 [45663.115920][ctx none] attrib_list[1] = [45663.115920][ctx none] type = 1 [45663.115921][ctx none] flags = 2 [45663.115921][ctx none] value.type = 1 [45663.115921][ctx none] value.value.i = 0x3231564e [45663.115925][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [45663.116331][ctx none]==========va_TraceCreateSurfaces [45663.116332][ctx none] width = 1728 [45663.116332][ctx none] height = 972 [45663.116332][ctx none] format = 1 [45663.116333][ctx none] num_surfaces = 1 [45663.116333][ctx none] surfaces[0] = 0x00000009 [45663.116333][ctx none] attrib_list[0] = [45663.116334][ctx none] type = 6 [45663.116334][ctx none] flags = 2 [45663.116334][ctx none] value.type = 1 [45663.116334][ctx none] value.value.i = 0x00000001 [45663.116335][ctx none] attrib_list[1] = [45663.116335][ctx none] type = 1 [45663.116335][ctx none] flags = 2 [45663.116335][ctx none] value.type = 1 [45663.116336][ctx none] value.value.i = 0x3231564e [45663.116340][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [45663.117117][ctx none]==========va_TraceCreateSurfaces [45663.117121][ctx none] width = 1728 [45663.117121][ctx none] height = 972 [45663.117121][ctx none] format = 1 [45663.117122][ctx none] num_surfaces = 1 [45663.117122][ctx none] surfaces[0] = 0x0000000a [45663.117123][ctx none] attrib_list[0] = [45663.117123][ctx none] type = 6 [45663.117123][ctx none] flags = 2 [45663.117124][ctx none] value.type = 1 [45663.117124][ctx none] value.value.i = 0x00000001 [45663.117124][ctx none] attrib_list[1] = [45663.117124][ctx none] type = 1 [45663.117125][ctx none] flags = 2 [45663.117125][ctx none] value.type = 1 [45663.117125][ctx none] value.value.i = 0x3231564e [45663.117145][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [45663.118166][ctx none]==========va_TraceCreateSurfaces [45663.118170][ctx none] width = 1728 [45663.118170][ctx none] height = 972 [45663.118170][ctx none] format = 1 [45663.118171][ctx none] num_surfaces = 1 [45663.118171][ctx none] surfaces[0] = 0x0000000b [45663.118172][ctx none] attrib_list[0] = [45663.118172][ctx none] type = 6 [45663.118172][ctx none] flags = 2 [45663.118173][ctx none] value.type = 1 [45663.118173][ctx none] value.value.i = 0x00000001 [45663.118173][ctx none] attrib_list[1] = [45663.118173][ctx none] type = 1 [45663.118174][ctx none] flags = 2 [45663.118174][ctx none] value.type = 1 [45663.118174][ctx none] value.value.i = 0x3231564e [45663.118197][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [45663.118956][ctx none]==========va_TraceCreateSurfaces [45663.118959][ctx none] width = 1728 [45663.118959][ctx none] height = 972 [45663.118960][ctx none] format = 1 [45663.118960][ctx none] num_surfaces = 1 [45663.118960][ctx none] surfaces[0] = 0x0000000c [45663.118961][ctx none] attrib_list[0] = [45663.118961][ctx none] type = 6 [45663.118962][ctx none] flags = 2 [45663.118962][ctx none] value.type = 1 [45663.118962][ctx none] value.value.i = 0x00000001 [45663.118962][ctx none] attrib_list[1] = [45663.118963][ctx none] type = 1 [45663.118963][ctx none] flags = 2 [45663.118963][ctx none] value.type = 1 [45663.118963][ctx none] value.value.i = 0x3231564e [45663.118979][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [45663.122686][ctx none]==========va_TraceCreateSurfaces [45663.122691][ctx none] width = 1728 [45663.122691][ctx none] height = 972 [45663.122692][ctx none] format = 1 [45663.122692][ctx none] num_surfaces = 1 [45663.122692][ctx none] surfaces[0] = 0x0000000d [45663.122693][ctx none] attrib_list[0] = [45663.122693][ctx none] type = 6 [45663.122693][ctx none] flags = 2 [45663.122694][ctx none] value.type = 1 [45663.122694][ctx none] value.value.i = 0x00000001 [45663.122694][ctx none] attrib_list[1] = [45663.122694][ctx none] type = 1 [45663.122694][ctx none] flags = 2 [45663.122695][ctx none] value.type = 1 [45663.122695][ctx none] value.value.i = 0x3231564e [45663.122717][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [45663.123185][ctx none]==========va_TraceCreateSurfaces [45663.123187][ctx none] width = 1728 [45663.123187][ctx none] height = 972 [45663.123188][ctx none] format = 1 [45663.123188][ctx none] num_surfaces = 1 [45663.123188][ctx none] surfaces[0] = 0x0000000e [45663.123189][ctx none] attrib_list[0] = [45663.123190][ctx none] type = 6 [45663.123190][ctx none] flags = 2 [45663.123191][ctx none] value.type = 1 [45663.123191][ctx none] value.value.i = 0x00000001 [45663.123192][ctx none] attrib_list[1] = [45663.123192][ctx none] type = 1 [45663.123192][ctx none] flags = 2 [45663.123193][ctx none] value.type = 1 [45663.123193][ctx none] value.value.i = 0x3231564e [45663.123225][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [45663.127476][ctx none]==========va_TraceCreateSurfaces [45663.127484][ctx none] width = 1728 [45663.127484][ctx none] height = 972 [45663.127485][ctx none] format = 1 [45663.127485][ctx none] num_surfaces = 1 [45663.127486][ctx none] surfaces[0] = 0x0000000f [45663.127486][ctx none] attrib_list[0] = [45663.127487][ctx none] type = 6 [45663.127487][ctx none] flags = 2 [45663.127487][ctx none] value.type = 1 [45663.127488][ctx none] value.value.i = 0x00000001 [45663.127488][ctx none] attrib_list[1] = [45663.127488][ctx none] type = 1 [45663.127488][ctx none] flags = 2 [45663.127489][ctx none] value.type = 1 [45663.127489][ctx none] value.value.i = 0x3231564e [45663.127511][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [45663.129228][ctx none]==========va_TraceCreateSurfaces [45663.129232][ctx none] width = 1728 [45663.129233][ctx none] height = 972 [45663.129233][ctx none] format = 1 [45663.129233][ctx none] num_surfaces = 1 [45663.129234][ctx none] surfaces[0] = 0x00000010 [45663.129235][ctx none] attrib_list[0] = [45663.129235][ctx none] type = 6 [45663.129235][ctx none] flags = 2 [45663.129235][ctx none] value.type = 1 [45663.129236][ctx none] value.value.i = 0x00000001 [45663.129236][ctx none] attrib_list[1] = [45663.129236][ctx none] type = 1 [45663.129237][ctx none] flags = 2 [45663.129237][ctx none] value.type = 1 [45663.129237][ctx none] value.value.i = 0x3231564e [45663.129273][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [45663.131107][ctx none]==========va_TraceCreateSurfaces [45663.131112][ctx none] width = 1728 [45663.131112][ctx none] height = 972 [45663.131112][ctx none] format = 1 [45663.131113][ctx none] num_surfaces = 1 [45663.131113][ctx none] surfaces[0] = 0x00000011 [45663.131114][ctx none] attrib_list[0] = [45663.131114][ctx none] type = 6 [45663.131114][ctx none] flags = 2 [45663.131114][ctx none] value.type = 1 [45663.131115][ctx none] value.value.i = 0x00000001 [45663.131115][ctx none] attrib_list[1] = [45663.131115][ctx none] type = 1 [45663.131115][ctx none] flags = 2 [45663.131116][ctx none] value.type = 1 [45663.131116][ctx none] value.value.i = 0x3231564e [45663.131141][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [45663.132680][ctx none]==========va_TraceCreateSurfaces [45663.132685][ctx none] width = 1728 [45663.132686][ctx none] height = 972 [45663.132686][ctx none] format = 1 [45663.132687][ctx none] num_surfaces = 1 [45663.132687][ctx none] surfaces[0] = 0x00000012 [45663.132689][ctx none] attrib_list[0] = [45663.132689][ctx none] type = 6 [45663.132689][ctx none] flags = 2 [45663.132689][ctx none] value.type = 1 [45663.132690][ctx none] value.value.i = 0x00000001 [45663.132690][ctx none] attrib_list[1] = [45663.132690][ctx none] type = 1 [45663.132691][ctx none] flags = 2 [45663.132691][ctx none] value.type = 1 [45663.132691][ctx none] value.value.i = 0x3231564e [45663.132719][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [45663.137805][ctx none]==========va_TraceCreateSurfaces [45663.137809][ctx none] width = 1728 [45663.137809][ctx none] height = 972 [45663.137810][ctx none] format = 1 [45663.137810][ctx none] num_surfaces = 1 [45663.137810][ctx none] surfaces[0] = 0x00000013 [45663.137811][ctx none] attrib_list[0] = [45663.137811][ctx none] type = 6 [45663.137811][ctx none] flags = 2 [45663.137812][ctx none] value.type = 1 [45663.137812][ctx none] value.value.i = 0x00000001 [45663.137812][ctx none] attrib_list[1] = [45663.137812][ctx none] type = 1 [45663.137812][ctx none] flags = 2 [45663.137813][ctx none] value.type = 1 [45663.137813][ctx none] value.value.i = 0x3231564e [45663.137924][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [45663.139474][ctx none]==========va_TraceCreateSurfaces [45663.139478][ctx none] width = 1728 [45663.139478][ctx none] height = 972 [45663.139478][ctx none] format = 1 [45663.139479][ctx none] num_surfaces = 1 [45663.139479][ctx none] surfaces[0] = 0x00000014 [45663.139480][ctx none] attrib_list[0] = [45663.139480][ctx none] type = 6 [45663.139481][ctx none] flags = 2 [45663.139481][ctx none] value.type = 1 [45663.139481][ctx none] value.value.i = 0x00000001 [45663.139482][ctx none] attrib_list[1] = [45663.139482][ctx none] type = 1 [45663.139482][ctx none] flags = 2 [45663.139483][ctx none] value.type = 1 [45663.139483][ctx none] value.value.i = 0x3231564e [45663.139502][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [45663.139771][ctx none]=========vaQueryConfigProfiles ret = VA_STATUS_SUCCESS, success (no error) [45663.139797][ctx none]=========vaQueryConfigEntrypoints ret = VA_STATUS_SUCCESS, success (no error) [45663.139820][ctx none]=========vaGetConfigAttributes ret = VA_STATUS_SUCCESS, success (no error) [45663.139843][ctx none]=========vaGetConfigAttributes ret = VA_STATUS_SUCCESS, success (no error) [45663.139936][ctx none]=========vaGetConfigAttributes ret = VA_STATUS_SUCCESS, success (no error) [45663.139960][ctx none]=========vaGetConfigAttributes ret = VA_STATUS_SUCCESS, success (no error) [45663.140037][ctx none]=========vaGetConfigAttributes ret = VA_STATUS_SUCCESS, success (no error) [45663.140037][ctx none]=========vaGetConfigAttributes ret = VA_STATUS_SUCCESS, success (no error) [45663.140060][ctx none]==========va_TraceCreateConfig [45663.140060][ctx none] profile = 7 [45663.140060][ctx none] entrypoint = 6 [45663.140061][ctx none] num_attribs = 2 [45663.140061][ctx none] attrib_list[0].type = 0x00000000 [45663.140062][ctx none] attrib_list[0].value = 0x00000001 [45663.140062][ctx none] attrib_list[1].type = 0x00000005 [45663.140062][ctx none] attrib_list[1].value = 0x00000010 [45663.140073][ctx none]=========vaCreateConfig ret = VA_STATUS_SUCCESS, success (no error) [45663.140075][ctx none]==========va_TraceQuerySurfaceAttributes [45663.140075][ctx none] config = 0x00000015 [45663.140078][ctx none]=========vaQuerySurfaceAttributes ret = VA_STATUS_SUCCESS, success (no error) [45663.140080][ctx none]==========va_TraceQuerySurfaceAttributes [45663.140080][ctx none] config = 0x00000015 [45663.140081][ctx none] attrib_list[0] = [45663.140081][ctx none] type = 1 [45663.140081][ctx none] flags = 3 [45663.140082][ctx none] value.type = 1 [45663.140082][ctx none] value.value.i = 0x3231564e [45663.140082][ctx none] attrib_list[1] = [45663.140082][ctx none] type = 1 [45663.140083][ctx none] flags = 3 [45663.140083][ctx none] value.type = 1 [45663.140083][ctx none] value.value.i = 0x30313050 [45663.140084][ctx none] attrib_list[2] = [45663.140084][ctx none] type = 1 [45663.140084][ctx none] flags = 3 [45663.140084][ctx none] value.type = 1 [45663.140085][ctx none] value.value.i = 0x36313050 [45663.140085][ctx none] attrib_list[3] = [45663.140085][ctx none] type = 6 [45663.140085][ctx none] flags = 3 [45663.140086][ctx none] value.type = 1 [45663.140086][ctx none] value.value.i = 0x60000001 [45663.140086][ctx none] attrib_list[4] = [45663.140087][ctx none] type = 7 [45663.140087][ctx none] flags = 2 [45663.140087][ctx none] value.type = 3 [45663.140087][ctx none] value.value.p = (nil) [45663.140088][ctx none] attrib_list[5] = [45663.140088][ctx none] type = 9 [45663.140088][ctx none] flags = 2 [45663.140089][ctx none] value.type = 3 [45663.140089][ctx none] value.value.p = (nil) [45663.140089][ctx none] attrib_list[6] = [45663.140089][ctx none] type = 3 [45663.140090][ctx none] flags = 1 [45663.140090][ctx none] value.type = 1 [45663.140090][ctx none] value.value.i = 0x00001000 [45663.140091][ctx none] attrib_list[7] = [45663.140091][ctx none] type = 5 [45663.140091][ctx none] flags = 1 [45663.140091][ctx none] value.type = 1 [45663.140092][ctx none] value.value.i = 0x00000900 [45663.140103][ctx none]=========vaQuerySurfaceAttributes ret = VA_STATUS_SUCCESS, success (no error) [45663.142944][ctx none]==========va_TraceCreateSurfaces [45663.142948][ctx none] width = 1728 [45663.142948][ctx none] height = 976 [45663.142949][ctx none] format = 1 [45663.142949][ctx none] num_surfaces = 1 [45663.142949][ctx none] surfaces[0] = 0x00000016 [45663.142950][ctx none] attrib_list[0] = [45663.142950][ctx none] type = 6 [45663.142950][ctx none] flags = 2 [45663.142951][ctx none] value.type = 1 [45663.142951][ctx none] value.value.i = 0x00000001 [45663.142951][ctx none] attrib_list[1] = [45663.142951][ctx none] type = 1 [45663.142951][ctx none] flags = 2 [45663.142952][ctx none] value.type = 1 [45663.142952][ctx none] value.value.i = 0x3231564e [45663.142976][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [45663.143106][ctx none]=========vaDeriveImage ret = VA_STATUS_ERROR_OPERATION_FAILED, operation failed [45663.143158][ctx 0x00000017]==========va_TraceCreateContext [45663.143159][ctx 0x00000017] context = 0x00000017 va_trace_flag 0x1 [45663.143159][ctx 0x00000017] profile = 7 entrypoint = 6 [45663.143159][ctx 0x00000017] config = 0x00000015 [45663.143160][ctx 0x00000017] width = 1728 [45663.143160][ctx 0x00000017] height = 976 [45663.143160][ctx 0x00000017] flag = 0x00000001 [45663.143160][ctx 0x00000017] num_render_targets = 0 [45663.143161][ctx none]=========vaCreateContext ret = VA_STATUS_SUCCESS, success (no error) [45663.161170][ctx none]==========va_TraceSyncSurface [45663.161172][ctx none] render_target = 0x00000014 [45663.161195][ctx none]=========vaSyncSurface ret = VA_STATUS_SUCCESS, success (no error) [45663.161255][ctx none]=========vaCreateImage ret = VA_STATUS_SUCCESS, success (no error) [45663.161257][ctx none]=========vaMapBuffer ret = VA_STATUS_SUCCESS, success (no error) [45663.164008][ctx none]=========vaUnmapBuffer ret = VA_STATUS_SUCCESS, success (no error) [45663.172480][ctx none]=========vaPutImage ret = VA_STATUS_SUCCESS, success (no error) [45663.172766][ctx none]=========vaDestroyImage ret = VA_STATUS_SUCCESS, success (no error) [45663.173155][ctx 0x00000017]==========va_TraceCreateBuffer [45663.173157][ctx 0x00000017] buf_type=VAEncCodedBufferType [45663.173158][ctx 0x00000017] buf_id=0x18 [45663.173158][ctx 0x00000017] size=5125120 [45663.173158][ctx 0x00000017] num_elements=1 [45663.173178][ctx none]=========vaCreateBuffer ret = VA_STATUS_SUCCESS, success (no error) [45663.173218][ctx none]=========vaCreateBuffer ret = VA_STATUS_SUCCESS, success (no error) [45663.173234][ctx none]=========vaCreateBuffer ret = VA_STATUS_SUCCESS, success (no error) [45663.173251][ctx none]=========vaCreateBuffer ret = VA_STATUS_SUCCESS, success (no error) [45663.173287][ctx none]=========vaCreateBuffer ret = VA_STATUS_SUCCESS, success (no error) [45663.173304][ctx 0x00000017]==========va_TraceBeginPicture [45663.173304][ctx 0x00000017] context = 0x00000017 [45663.173305][ctx 0x00000017] render_targets = 0x00000014 [45663.173305][ctx 0x00000017] frame_count = #0 [45663.173318][ctx none]=========vaBeginPicture ret = VA_STATUS_SUCCESS, success (no error) [45663.173319][ctx 0x00000017]==========va_TraceRenderPicture [45663.173319][ctx 0x00000017] context = 0x00000017 [45663.173319][ctx 0x00000017] num_buffers = 4 [45663.173320][ctx none]=========vaBufferInfo ret = VA_STATUS_SUCCESS, success (no error) [45663.173320][ctx 0x00000017] --------------------------- [45663.173321][ctx 0x00000017] buffers[0] = 0x00000019 [45663.173321][ctx 0x00000017] type = VAEncSequenceParameterBufferType [45663.173321][ctx 0x00000017] size = 1132 [45663.173322][ctx 0x00000017] num_elements = 1 [45663.173322][ctx none]=========vaMapBuffer ret = VA_STATUS_SUCCESS, success (no error) [45663.173323][ctx 0x00000017] element[0] = [45663.173323][ctx 0x00000017] --VAEncSequenceParameterBufferH264 [45663.173324][ctx 0x00000017] seq_parameter_set_id = 0 [45663.173324][ctx 0x00000017] level_idc = 40 [45663.173324][ctx 0x00000017] intra_period = 12 [45663.173325][ctx 0x00000017] intra_idr_period = 12 [45663.173325][ctx 0x00000017] ip_period = 1 [45663.173325][ctx 0x00000017] bits_per_second = 0 [45663.173325][ctx 0x00000017] max_num_ref_frames = 1 [45663.173326][ctx 0x00000017] picture_width_in_mbs = 108 [45663.173326][ctx 0x00000017] picture_height_in_mbs = 61 [45663.173326][ctx 0x00000017] chroma_format_idc = 1 [45663.173326][ctx 0x00000017] frame_mbs_only_flag = 1 [45663.173327][ctx 0x00000017] mb_adaptive_frame_field_flag = 0 [45663.173327][ctx 0x00000017] seq_scaling_matrix_present_flag = 0 [45663.173327][ctx 0x00000017] direct_8x8_inference_flag = 1 [45663.173327][ctx 0x00000017] log2_max_frame_num_minus4 = 4 [45663.173328][ctx 0x00000017] pic_order_cnt_type = 0 [45663.173328][ctx 0x00000017] log2_max_pic_order_cnt_lsb_minus4 = 4 [45663.173328][ctx 0x00000017] delta_pic_order_always_zero_flag = 0 [45663.173329][ctx 0x00000017] bit_depth_luma_minus8 = 0 [45663.173329][ctx 0x00000017] bit_depth_chroma_minus8 = 0 [45663.173329][ctx 0x00000017] num_ref_frames_in_pic_order_cnt_cycle = 0 [45663.173329][ctx 0x00000017] offset_for_non_ref_pic = 0 [45663.173330][ctx 0x00000017] offset_for_top_to_bottom_field = 0 [45663.173330][ctx 0x00000017] offset_for_ref_frame[0] = 0 [45663.173330][ctx 0x00000017] frame_cropping_flag = 1 [45663.173330][ctx 0x00000017] frame_crop_left_offset = 0 [45663.173331][ctx 0x00000017] frame_crop_right_offset = 0 [45663.173331][ctx 0x00000017] frame_crop_top_offset = 0 [45663.173331][ctx 0x00000017] frame_crop_bottom_offset = 2 [45663.173331][ctx 0x00000017] vui_parameters_present_flag = 1 [45663.173332][ctx 0x00000017] aspect_ratio_info_present_flag = 0 [45663.173332][ctx 0x00000017] timing_info_present_flag = 1 [45663.173332][ctx 0x00000017] bitstream_restriction_flag = 1 [45663.173332][ctx 0x00000017] log2_max_mv_length_horizontal = 15 [45663.173333][ctx 0x00000017] log2_max_mv_length_vertical = 15 [45663.173333][ctx 0x00000017] aspect_ratio_idc = 0 [45663.173333][ctx 0x00000017] sar_width = 0 [45663.173333][ctx 0x00000017] sar_height = 0 [45663.173334][ctx 0x00000017] num_units_in_tick = 1 [45663.173334][ctx 0x00000017] time_scale = 2000 [45663.173336][ctx none]=========vaUnmapBuffer ret = VA_STATUS_SUCCESS, success (no error) [45663.173336][ctx none]=========vaBufferInfo ret = VA_STATUS_SUCCESS, success (no error) [45663.173337][ctx 0x00000017] --------------------------- [45663.173337][ctx 0x00000017] buffers[1] = 0x0000001a [45663.173337][ctx 0x00000017] type = VAEncMiscParameterBufferType [45663.173337][ctx 0x00000017] size = 28 [45663.173338][ctx 0x00000017] num_elements = 1 [45663.173338][ctx none]=========vaMapBuffer ret = VA_STATUS_SUCCESS, success (no error) [45663.173338][ctx 0x00000017] element[0] = [45663.173339][ctx 0x00000017] --VAEncMiscParameterFrameRate [45663.173339][ctx 0x00000017] framerate = 66536 [45663.173340][ctx 0x00000017] framerate_flags.temporal_id = 0 [45663.173341][ctx none]=========vaUnmapBuffer ret = VA_STATUS_SUCCESS, success (no error) [45663.173342][ctx none]=========vaBufferInfo ret = VA_STATUS_SUCCESS, success (no error) [45663.173342][ctx 0x00000017] --------------------------- [45663.173342][ctx 0x00000017] buffers[2] = 0x0000001b [45663.173343][ctx 0x00000017] type = VAEncPictureParameterBufferType [45663.173343][ctx 0x00000017] size = 648 [45663.173343][ctx 0x00000017] num_elements = 1 [45663.173343][ctx none]=========vaMapBuffer ret = VA_STATUS_SUCCESS, success (no error) [45663.173344][ctx 0x00000017] element[0] = [45663.173344][ctx 0x00000017] --VAEncPictureParameterBufferH264 [45663.173345][ctx 0x00000017] CurrPic.picture_id = 0x00000016 [45663.173345][ctx 0x00000017] CurrPic.frame_idx = 0 [45663.173345][ctx 0x00000017] CurrPic.flags = 0x00000000 [45663.173346][ctx 0x00000017] CurrPic.TopFieldOrderCnt = 0 [45663.173346][ctx 0x00000017] CurrPic.BottomFieldOrderCnt = 0 [45663.173346][ctx 0x00000017] ReferenceFrames (TopFieldOrderCnt-BottomFieldOrderCnt-picture_id-frame_idx-flags): [45663.173346][ctx 0x00000017] coded_buf = 00000018 [45663.173347][ctx 0x00000017] pic_parameter_set_id = 0 [45663.173347][ctx 0x00000017] seq_parameter_set_id = 0 [45663.173347][ctx 0x00000017] last_picture = 0x00000000 [45663.173347][ctx 0x00000017] frame_num = 0 [45663.173348][ctx 0x00000017] pic_init_qp = 23 [45663.173348][ctx 0x00000017] num_ref_idx_l0_active_minus1 = 0 [45663.173348][ctx 0x00000017] num_ref_idx_l1_active_minus1 = 0 [45663.173349][ctx 0x00000017] chroma_qp_index_offset = 0 [45663.173349][ctx 0x00000017] second_chroma_qp_index_offset = 0 [45663.173349][ctx 0x00000017] pic_fields = 0x10b [45663.173349][ctx 0x00000017] idr_pic_flag = 1 [45663.173350][ctx 0x00000017] reference_pic_flag = 1 [45663.173350][ctx 0x00000017] entropy_coding_mode_flag = 1 [45663.173350][ctx 0x00000017] weighted_pred_flag = 0 [45663.173350][ctx 0x00000017] weighted_bipred_idc = 0 [45663.173351][ctx 0x00000017] constrained_intra_pred_flag = 0 [45663.173351][ctx 0x00000017] transform_8x8_mode_flag = 1 [45663.173351][ctx 0x00000017] deblocking_filter_control_present_flag = 0 [45663.173351][ctx 0x00000017] redundant_pic_cnt_present_flag = 0 [45663.173352][ctx 0x00000017] pic_order_present_flag = 0 [45663.173352][ctx 0x00000017] pic_scaling_matrix_present_flag = 0 [45663.173356][ctx none]=========vaUnmapBuffer ret = VA_STATUS_SUCCESS, success (no error) [45663.173356][ctx none]=========vaBufferInfo ret = VA_STATUS_SUCCESS, success (no error) [45663.173356][ctx 0x00000017] --------------------------- [45663.173357][ctx 0x00000017] buffers[3] = 0x0000001c [45663.173357][ctx 0x00000017] type = VAEncSliceParameterBufferType [45663.173357][ctx 0x00000017] size = 3140 [45663.173357][ctx 0x00000017] num_elements = 1 [45663.173358][ctx none]=========vaMapBuffer ret = VA_STATUS_SUCCESS, success (no error) [45663.173358][ctx 0x00000017] element[0] = [45663.173358][ctx 0x00000017] --VAEncSliceParameterBufferH264 [45663.173359][ctx 0x00000017] macroblock_address = 0 [45663.173359][ctx 0x00000017] num_macroblocks = 6588 [45663.173359][ctx 0x00000017] macroblock_info = ffffffff [45663.173359][ctx 0x00000017] slice_type = 2 [45663.173360][ctx 0x00000017] pic_parameter_set_id = 0 [45663.173360][ctx 0x00000017] idr_pic_id = 0 [45663.173360][ctx 0x00000017] pic_order_cnt_lsb = 0 [45663.173360][ctx 0x00000017] delta_pic_order_cnt_bottom = 0 [45663.173361][ctx 0x00000017] delta_pic_order_cnt[0] = 0 [45663.173361][ctx 0x00000017] delta_pic_order_cnt[1] = 0 [45663.173361][ctx 0x00000017] direct_spatial_mv_pred_flag = 1 [45663.173361][ctx 0x00000017] num_ref_idx_active_override_flag = 0 [45663.173361][ctx 0x00000017] num_ref_idx_l1_active_minus1 = 0 [45663.173362][ctx 0x00000017] slice_beta_offset_div2 = 0 [45663.173362][ctx 0x00000017] RefPicList0 (TopFieldOrderCnt-BottomFieldOrderCnt-picture_id-frame_idx-flags): [45663.173362][ctx 0x00000017] RefPicList1 (TopFieldOrderCnt-BottomFieldOrderCnt-picture_id-frame_idx-flags): [45663.173362][ctx 0x00000017] luma_log2_weight_denom = 0 [45663.173363][ctx 0x00000017] chroma_log2_weight_denom = 0 [45663.173363][ctx 0x00000017] luma_weight_l0_flag = 0 [45663.173363][ctx 0x00000017] chroma_weight_l0_flag = 0 [45663.173363][ctx 0x00000017] luma_weight_l1_flag = 0 [45663.173364][ctx 0x00000017] chroma_weight_l1_flag = 0 [45663.173367][ctx 0x00000017] cabac_init_idc = 0 [45663.173367][ctx 0x00000017] slice_qp_delta = 0 [45663.173368][ctx 0x00000017] disable_deblocking_filter_idc = 0 [45663.173368][ctx 0x00000017] slice_alpha_c0_offset_div2 = 0 [45663.173368][ctx 0x00000017] slice_beta_offset_div2 = 0 [45663.173370][ctx none]=========vaUnmapBuffer ret = VA_STATUS_SUCCESS, success (no error) [45663.174082][ctx none]=========vaRenderPicture ret = VA_STATUS_SUCCESS, success (no error) [45663.174086][ctx 0x00000017]==========va_TraceEndPicture [45663.174087][ctx 0x00000017] context = 0x00000017 [45663.174088][ctx 0x00000017] render_targets = 0x00000014

H-M-H commented 2 years ago

Thanks for the detailed report! As you can compile on your own please check if adding AMD RENOIR to this blacklist https://github.com/H-M-H/Weylus/blob/67500d87769c9b9c1acc87ebd1c15488d0c7a3d2/lib/encode_video.c#L219-L220 prevents crashes.

I suspect this is the same problem as discussed here: https://github.com/H-M-H/Weylus/issues/62#issuecomment-780251858.

j-mir-prazak commented 2 years ago

@H-M-H i already tried to forced it manually and also tried to force AV_PIX_FMT_NV12 and commenting out the "quality" option (as amd does not seem to care about it much). with that the vaapi does not crash, but then the browser spills out: "ERROR: Failed to decode video, try reducing resolution or disabling hardware acceleration and reload the page. Error src: blob:http://127.0.0.1:1701/f73373ea-90e1-4579-86ad-fd1d8cecf8d1"

bash runlog ``` 2022-01-01T16:53:00.208886Z DEBUG weylus::log: Trying to use DRM render node for device 0. 2022-01-01T16:53:00.209505Z DEBUG weylus::log: libva: VA-API version 1.13.0 2022-01-01T16:53:00.210573Z DEBUG weylus::log: libva: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so 2022-01-01T16:53:00.238974Z DEBUG weylus::log: libva: Found init function __vaDriverInit_1_12 2022-01-01T16:53:00.261063Z DEBUG weylus::log: libva: va_openDriver() returns 0 2022-01-01T16:53:00.261537Z DEBUG weylus::log: Initialised VAAPI connection: version 1.13 2022-01-01T16:53:00.261812Z DEBUG weylus::log: VAAPI driver: Mesa Gallium driver 22.0.0-devel for AMD RENOIR (LLVM 13.0.0, DRM 3.42, 5.15.11). 2022-01-01T16:53:00.261989Z DEBUG weylus::log: Driver not found in known nonstandard list, using standard behaviour. 2022-01-01T16:53:00.265653Z DEBUG weylus::log: VA-API vendor: Mesa Gallium driver 22.0.0-devel for AMD RENOIR (LLVM 13.0.0, DRM 3.42, 5.15.11) 2022-01-01T16:53:00.265892Z DEBUG weylus::log: Input surface format is nv12. 2022-01-01T16:53:00.265953Z DEBUG weylus::log: Using VAAPI profile VAProfileH264High (7). 2022-01-01T16:53:00.265991Z DEBUG weylus::log: Using VAAPI entrypoint VAEntrypointEncSlice (6). 2022-01-01T16:53:00.266021Z DEBUG weylus::log: Using VAAPI render target format YUV420 (0x1). 2022-01-01T16:53:00.266056Z DEBUG weylus::log: RC mode: CQP. 2022-01-01T16:53:00.266088Z DEBUG weylus::log: RC quality: 23. 2022-01-01T16:53:00.266124Z DEBUG weylus::log: RC framerate: 1000/1 (1000.00 fps). 2022-01-01T16:53:00.266166Z DEBUG weylus::log: Using intra and P-frames (supported references: 1 / 0). 2022-01-01T16:53:00.266316Z WARN weylus::log: Driver does not support some wanted packed headers (wanted 0xd, found 0). 2022-01-01T16:53:00.266346Z WARN weylus::log: Driver does not support packed sequence headers, but a global header is requested. 2022-01-01T16:53:00.266488Z WARN weylus::log: 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). 2022-01-01T16:53:00.266757Z DEBUG weylus::log: Using level 4. 2022-01-01T16:53:00.266966Z DEBUG weylus::log: Empty MOOV enabled; disabling automatic bitstream filtering 2022-01-01T16:53:00.268214Z INFO weylus::log: Video: 1920x1080@h264_vaapi pix_fmt: nv12 ```
H-M-H commented 2 years ago

I am afraid but in this case you may be out of luck. Please check if you can create a video with this ffmpeg command: ffmpeg -hwaccel vaapi -f lavfi -i testsrc2=size=1920x1080 -vf 'format=nv12,hwupload' -vcodec h264_vaapi -qp 23 -quality 7 -t 10 -bf 0 -movflags frag_keyframe+empty_moov+default_base_moof test.mp4. If your browser can't play this either this is definitely an issue with ffmpeg/AMD drivers.

j-mir-prazak commented 2 years ago

as is the i cannot even run the file in mpv. however, if i do not use empty_moov, mpv and browser works just fine. so it seems amdgpu vaapi bug + empty_moov brakes the file.

there is line in the bash log: "Empty MOOV enabled; disabling automatic bitstream filtering" - so you have alternative in the code, if you cannot use empty moov?

H-M-H commented 2 years ago

The point about empty_moov is to enable instant streaming without buffering. You can try to build Weylus without it by removing the option from this line: https://github.com/H-M-H/Weylus/blob/67500d87769c9b9c1acc87ebd1c15488d0c7a3d2/lib/encode_video.c#L411

But yeah, the conclusion is your driver in combination with ffmpeg is faulty and it's not a bug inside Weylus. If you get things to work with above workaround I will consider adding it.

j-mir-prazak commented 2 years ago

@H-M-H thanks for the tips!

i did removed the empty_moov and added faststart for good measure, and it seems to work fine: however it is kinda unstable, if you change resolution in the browser, it tends to crash. compare to x264 it seems to not be willing to push as many frames. i will mess with vaapi arguments tomorrow to see if i can make it behave, but i won't probably make much difference and it won't be much use for general solution.

x264 also seems to be less laggy: even with the same no empty_moov it is noticably more in sync. vaapi seems to be more then round 10 frames behind. localhost testing seems to be quite taxing - chromium + weylus + davinci resolve (also tapping into gpu). however with phone as the display, it can go round 60fps quite okey (also my wifi is probably not the best, might try to use hotspot on the phone for that). but still vaapi do not seem to be as stable.

can i just put here two questions unrelated? there seems to be bug (i am running gnome-shell), where after starting client my cursor disappers - is that known?

and are you planning to add keyboard support? it could be nice to be able to use the client keyboard as well (i was planning on getting chromebook tablet with keyboard, so i could use it with my main machine as secondary display, or as remote access terminal - using the client inputs)

thank you though for the tips and great tool! j

H-M-H commented 2 years ago

Alright, hopefully you can make it behave tomorrow!

Regarding your questions:

there seems to be bug (i am running gnome-shell), where after starting client my cursor disappers - is that known?

This is might not be a bug but intended behavior. Weylus simulates stylus and touch input and a cursor doesn't make much sense in this case. Are you running X11 or Wayland?

keyboard support

Actually there already is! All you need is a physical keyboard (onscreen keyboards typically do not work as they do not generate key codes that I could simulate). I have used a bluetooth keyboard on Android and iPadOS quite a few times.

thank you though for the tips and great tool!

Thanks!

j-mir-prazak commented 2 years ago

@H-M-H okey, so i was messing around with the settings and i was able to get fairly stable vaapi encoding when i changed the time_base to {1, 60} : vaapi might have been chocking on the 1000 framerate. or is it something virtual and you change it on a fly via the browser slider?

also to the silder: what values does it operate in? it is slider from 100 to 999.999 - i wanted to try to specifiy the appropriate value for set framerate, but i cannot figure out what is the constatnt you are using there for the conversion.

This is might not be a bug but intended behavior. Weylus simulates stylus and touch input and a cursor doesn't make much sense in this case. Are you running X11 or Wayland? yes, it might be result of me running the localhost instance - just to clarify it the cursor disapers on the host, not client, until i do some crazy mouse movements and workspace changes. i will try to find when it happens.

Actually there already is! All you need is a physical keyboard (onscreen keyboards typically do not work as they do not generate key codes that I could simulate). I have used a bluetooth keyboard on Android and iPadOS quite a few times. i have second machine that i tried running weylus on and control with my laptop. the mouse is fine, however keyboard is no dice. running Xorg on both.

also to the second machine, i am testing nvenc there: it works, i was able to make it less laggy using the same faststart and time_base settings, however it seems to be not so springy as the x264. it have not problem running x264 there, as it is 8c/16t machine, however i like to try hw encoding whenever i can.

would you consider adding text field for fixed framerate to the gui and as command line argument? and maybe some other ffmpeg injection tools? i know you get you are mostly aiming for tablet as tablet/pen control, but the secondary monitor is nice thing to have and might be nice to have some tweaking space without having to edit and recompile.

also, i was thinking about trying to make some nodejs interface for the ws communication, so i can just something like mpv for video only - as browser can get bit prickly with playback. do you have any documentation for the ws communication, or should i just dig into the code?

thanks!

H-M-H commented 2 years ago

i was able to get fairly stable vaapi encoding when i changed the time_base to {1, 60} : vaapi might have been chocking on the 1000 framerate. or is it something virtual and you change it on a fly via the browser slider?

time_base does not describe the framerate. Actually Weylus generates a variable framerate video. The actual framerate is unknown and depends on user input and how fast your computer is at encoding. That is also why the video is not encoded at a fixed frame rate. time_base merely describes at what precision time is being kept track of in the encoded video. That is the time resolution with time_base: {1, 60} is less precise than {1, 1000}. A time_base like {1, 15} can even lead to errors if you encode faster than at 15 fps because two consecutive frames will then be encoded as if they happened simultaneously.

also to the silder: what values does it operate in?

The slider Min Frame Interval can be used to force a delay between two consecutive frames of up to 1 second. Weylus encodes the video with variable framerate and the user can throttle it like that. The values on the slider are not distributed linearly, see: https://github.com/H-M-H/Weylus/blob/67500d87769c9b9c1acc87ebd1c15488d0c7a3d2/ts/lib.ts#L56-L62 This enables being more precise for lower framerates.

keyboard is no dice

That should not be the case please check if keyboard events are actually sent from the browser by looking for them in the debug log you get by running Weylus like this: WEYLUS_LOG_LEVEL="DEBUG" weylus.

i was able to make it less laggy using the same faststart and time_base settings

Have you tried unchecking the Lower Latency checkbox? On Firefox this makes things noticeably smoother.

and maybe some other ffmpeg injection tools

I will have to think about this as this is very much non-trivial. I'd prefer good defaults here.

do you have any documentation for the ws communication, or should i just dig into the code?

The protocol is pretty simple and I have an example python script that feeds into mpv: https://github.com/H-M-H/Weylus/issues/87#issuecomment-850481361

Alright, I hope this helps. Happy hacking!

hammerfunctor commented 2 years ago

As for the original bug, some information can be found at https://gitlab.freedesktop.org/mesa/mesa/-/issues/3524.

hammerfunctor commented 2 years ago

As for the original bug, some information can be found at https://gitlab.freedesktop.org/mesa/mesa/-/issues/3524.

Update: mesa-22.1.0-1 fixes this problem. Now it no longer exits with Segmentation fault

choiman1559 commented 2 years ago

Well, I had the same problem, but still having the same problem despite compiling after disabling "empty_moov".

My driver info : ``` libva info: VA-API version 1.14.0 libva info: User environment variable requested driver 'radeonsi' libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so libva info: Found init function __vaDriverInit_1_14 libva info: va_openDriver() returns 0 vainfo: VA-API version: 1.14 (libva 2.6.0) vainfo: Driver version: Mesa Gallium driver 22.2.3 - kisak-mesa PPA for RENOIR (renoir, LLVM 14.0.6, DRM 3.48, 6.0.6-060006-generic) 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 VAProfileHEVCMain10 : VAEntrypointEncSlice VAProfileJPEGBaseline : VAEntrypointVLD VAProfileVP9Profile0 : VAEntrypointVLD VAProfileVP9Profile2 : VAEntrypointVLD VAProfileNone : VAEntrypointVideoProc ```
And the ffmpeg test, the result of this test.mp4 played well on Samsung Internet of Android. ``` cuj1559@cuj1559-Lenovo-IdeaPad-S340-14API:~$ 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.2.7-0ubuntu0.1 Copyright (c) 2000-2022 the FFmpeg developers built with gcc 9 (Ubuntu 9.4.0-1ubuntu1~20.04.1) configuration: --prefix=/usr --extra-version=0ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared libavutil 56. 31.100 / 56. 31.100 libavcodec 58. 54.100 / 58. 54.100 libavformat 58. 29.100 / 58. 29.100 libavdevice 58. 8.100 / 58. 8.100 libavfilter 7. 57.100 / 7. 57.100 libavresample 4. 0. 0 / 4. 0. 0 libswscale 5. 5.100 / 5. 5.100 libswresample 3. 5.100 / 3. 5.100 libpostproc 55. 5.100 / 55. 5.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 File 'test.mp4' already exists. Overwrite ? [y/N] y Stream mapping: Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (h264_vaapi)) Press [q] to stop, [?] for help [h264_vaapi @ 0x55723c78bd40] No quality level set; using default (20). [h264_vaapi @ 0x55723c78bd40] Driver does not support some wanted packed headers (wanted 0xd, found 0). [h264_vaapi @ 0x55723c78bd40] Driver does not support packed sequence headers, but a global header is requested. [h264_vaapi @ 0x55723c78bd40] 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.29.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.54.100 h264_vaapi frame= 250 fps= 84 q=-0.0 Lsize= 13704kB time=00:00:09.96 bitrate=11271.3kbits/s speed=3.35x video:13702kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.015466% ```
And my weylus log on bash: ``` cuj1559@cuj1559-Lenovo-IdeaPad-S340-14API:~$ WEYLUS_LOG_LEVEL=TRACE LIBVA_MESSAGING_LEVEL=2 LIBVA_TRACE=va.log WEYLUS_VAAPI_DEVICE=/dev/dri/renderD128 weylus 2022-11-13T04:13:45.329553Z INFO weylus::web: Webserver listening at 0.0.0.0:1701... 2022-11-13T04:13:45.330532Z INFO weylus::gui: Found more than one IP address for browsers to connect to, 2022-11-13T04:13:45.330550Z INFO weylus::gui: other urls are: 2022-11-13T04:13:45.330559Z INFO weylus::gui: http://172.17.0.1:1701 2022-11-13T04:13:55.438165Z TRACE hyper::proto::h1::conn: Conn::read_head 2022-11-13T04:13:55.438269Z TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } 2022-11-13T04:13:55.438267Z TRACE hyper::proto::h1::conn: Conn::read_head 2022-11-13T04:13:55.438336Z TRACE hyper::proto::h1::io: received 557 bytes 2022-11-13T04:13:55.438429Z TRACE parse_headers: hyper::proto::h1::role: Request.parse bytes=557 2022-11-13T04:13:55.438463Z TRACE parse_headers: hyper::proto::h1::role: Request.parse Complete(557) 2022-11-13T04:13:55.438510Z DEBUG hyper::proto::h1::io: parsed 10 headers 2022-11-13T04:13:55.438523Z DEBUG hyper::proto::h1::conn: incoming body is empty 2022-11-13T04:13:55.438555Z DEBUG weylus::web: Got request: Request { method: GET, uri: /, version: HTTP/1.1, headers: {"host": "192.168.50.83:1701", "connection": "keep-alive", "cache-control": "max-age=0", "dnt": "1", "upgrade-insecure-requests": "1", "user-agent": "Mozilla/5.0 (Linux; Android 13; Lenovo TB-J607F) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/19.0 Chrome/102.0.5005.125 Safari/537.36", "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "referer": "http://192.168.50.83:1701/", "accept-encoding": "gzip, deflate", "accept-language": "ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7"}, body: Body(Empty) } 2022-11-13T04:13:55.438618Z DEBUG weylus::web: Client connected. address=192.168.50.105:41072 2022-11-13T04:13:55.438790Z TRACE encode_headers: hyper::proto::h1::role: Server::encode status=200, body=Some(Known(3845)), req_method=Some(GET) 2022-11-13T04:13:55.438817Z TRACE hyper::proto::h1::io: buffer.queue self.len=118 buf.len=3845 2022-11-13T04:13:55.438921Z DEBUG hyper::proto::h1::io: flushed 3963 bytes 2022-11-13T04:13:55.438951Z TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 2022-11-13T04:13:55.632289Z TRACE hyper::proto::h1::conn: Conn::read_head 2022-11-13T04:13:55.632288Z TRACE hyper::proto::h1::conn: Conn::read_head 2022-11-13T04:13:55.632409Z TRACE hyper::proto::h1::io: received 393 bytes 2022-11-13T04:13:55.632453Z TRACE parse_headers: hyper::proto::h1::role: Request.parse bytes=393 2022-11-13T04:13:55.632470Z TRACE hyper::proto::h1::io: received 375 bytes 2022-11-13T04:13:55.632501Z TRACE parse_headers: hyper::proto::h1::role: Request.parse Complete(393) 2022-11-13T04:13:55.632527Z TRACE parse_headers: hyper::proto::h1::role: Request.parse bytes=375 2022-11-13T04:13:55.632559Z DEBUG hyper::proto::h1::io: parsed 8 headers 2022-11-13T04:13:55.632570Z TRACE parse_headers: hyper::proto::h1::role: Request.parse Complete(375) 2022-11-13T04:13:55.632578Z DEBUG hyper::proto::h1::conn: incoming body is empty 2022-11-13T04:13:55.632624Z DEBUG hyper::proto::h1::io: parsed 8 headers 2022-11-13T04:13:55.632644Z DEBUG hyper::proto::h1::conn: incoming body is empty 2022-11-13T04:13:55.632619Z DEBUG weylus::web: Got request: Request { method: GET, uri: /style.css, version: HTTP/1.1, headers: {"host": "192.168.50.83:1701", "connection": "keep-alive", "user-agent": "Mozilla/5.0 (Linux; Android 13; Lenovo TB-J607F) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/19.0 Chrome/102.0.5005.125 Safari/537.36", "dnt": "1", "accept": "text/css,*/*;q=0.1", "referer": "http://192.168.50.83:1701/", "accept-encoding": "gzip, deflate", "accept-language": "ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7"}, body: Body(Empty) } 2022-11-13T04:13:55.632759Z TRACE encode_headers: hyper::proto::h1::role: Server::encode status=200, body=Some(Known(3850)), req_method=Some(GET) 2022-11-13T04:13:55.632720Z DEBUG weylus::web: Got request: Request { method: GET, uri: /lib.js, version: HTTP/1.1, headers: {"host": "192.168.50.83:1701", "connection": "keep-alive", "user-agent": "Mozilla/5.0 (Linux; Android 13; Lenovo TB-J607F) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/19.0 Chrome/102.0.5005.125 Safari/537.36", "dnt": "1", "accept": "*/*", "referer": "http://192.168.50.83:1701/", "accept-encoding": "gzip, deflate", "accept-language": "ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7"}, body: Body(Empty) } 2022-11-13T04:13:55.632801Z TRACE hyper::proto::h1::io: buffer.queue self.len=117 buf.len=3850 2022-11-13T04:13:55.632875Z TRACE encode_headers: hyper::proto::h1::role: Server::encode status=200, body=Some(Known(31974)), req_method=Some(GET) 2022-11-13T04:13:55.632911Z TRACE hyper::proto::h1::io: buffer.queue self.len=125 buf.len=31974 2022-11-13T04:13:55.632942Z DEBUG hyper::proto::h1::io: flushed 3967 bytes 2022-11-13T04:13:55.632962Z TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 2022-11-13T04:13:55.633220Z DEBUG hyper::proto::h1::io: flushed 32099 bytes 2022-11-13T04:13:55.633240Z TRACE hyper::proto::h1::conn: flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 2022-11-13T04:13:55.709192Z INFO weylus::websocket: Client connected. address=192.168.50.105:37490 2022-11-13T04:13:55.714157Z DEBUG weylus::websocket: Got message from client. client_message="GetCapturableList" address=192.168.50.105:37490 2022-11-13T04:13:55.716869Z DEBUG weylus::websocket: Got message from client. client_message={"Config":{"capturable_id":0,"uinput_support":false,"capture_cursor":true,"max_width":2101,"max_height":1052}} address=192.168.50.105:37490 2022-11-13T04:13:55.833918Z DEBUG weylus::log: libva: Open new log file va.log.041355.thd-0x000064d4 for the thread 0x000064d4 2022-11-13T04:13:55.833962Z DEBUG weylus::log: libva: LIBVA_TRACE is on, save log into va.log.041355.thd-0x000064d4 2022-11-13T04:13:55.833991Z DEBUG weylus::log: libva: VA-API version 1.15.0 2022-11-13T04:13:55.834025Z DEBUG weylus::log: libva: User environment variable requested driver 'radeonsi' 2022-11-13T04:13:55.834032Z DEBUG weylus::log: libva: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so 2022-11-13T04:13:55.859894Z DEBUG weylus::log: libva: Found init function __vaDriverInit_1_14 2022-11-13T04:13:55.870461Z DEBUG weylus::log: libva: va_openDriver() returns 0 2022-11-13T04:13:55.870502Z DEBUG weylus::log: Initialised VAAPI connection: version 1.15 2022-11-13T04:13:55.870525Z TRACE weylus::log: Format 0x3231564e -> nv12. 2022-11-13T04:13:55.870531Z TRACE weylus::log: Format 0x30313050 -> p010le. 2022-11-13T04:13:55.870535Z TRACE weylus::log: Format 0x36313050 -> unknown. 2022-11-13T04:13:55.870540Z TRACE weylus::log: Format 0x30323449 -> yuv420p. 2022-11-13T04:13:55.870544Z TRACE weylus::log: Format 0x32315659 -> yuv420p. 2022-11-13T04:13:55.870549Z TRACE weylus::log: Format 0x56595559 -> unknown. 2022-11-13T04:13:55.870554Z TRACE weylus::log: Format 0x32595559 -> yuyv422. 2022-11-13T04:13:55.870560Z TRACE weylus::log: Format 0x59565955 -> uyvy422. 2022-11-13T04:13:55.870564Z TRACE weylus::log: Format 0x41524742 -> bgra. 2022-11-13T04:13:55.870567Z TRACE weylus::log: Format 0x41424752 -> rgba. 2022-11-13T04:13:55.870571Z TRACE weylus::log: Format 0x58524742 -> bgr0. 2022-11-13T04:13:55.870575Z TRACE weylus::log: Format 0x58424752 -> rgb0. 2022-11-13T04:13:55.870579Z DEBUG weylus::log: VAAPI driver: Mesa Gallium driver 22.2.3 - kisak-mesa PPA for RENOIR (renoir, LLVM 14.0.6, DRM 3.48, 6.0.6-060006-generic). 2022-11-13T04:13:55.870585Z DEBUG weylus::log: Driver not found in known nonstandard list, using standard behaviour. 2022-11-13T04:13:55.871691Z TRACE weylus::log: Created surface 0x1. 2022-11-13T04:13:55.871721Z TRACE weylus::log: Direct mapping disabled: deriving image does not work: 1 (operation failed). 2022-11-13T04:13:55.871913Z TRACE weylus::log: Created surface 0x2. 2022-11-13T04:13:55.872066Z TRACE weylus::log: Created surface 0x3. 2022-11-13T04:13:55.872209Z TRACE weylus::log: Created surface 0x4. 2022-11-13T04:13:55.872357Z TRACE weylus::log: Created surface 0x5. 2022-11-13T04:13:55.872493Z TRACE weylus::log: Created surface 0x6. 2022-11-13T04:13:55.872622Z TRACE weylus::log: Created surface 0x7. 2022-11-13T04:13:55.872766Z TRACE weylus::log: Created surface 0x8. 2022-11-13T04:13:55.872916Z TRACE weylus::log: Created surface 0x9. 2022-11-13T04:13:55.873059Z TRACE weylus::log: Created surface 0xa. 2022-11-13T04:13:55.873196Z TRACE weylus::log: Created surface 0xb. 2022-11-13T04:13:55.873352Z TRACE weylus::log: Created surface 0xc. 2022-11-13T04:13:55.873484Z TRACE weylus::log: Created surface 0xd. 2022-11-13T04:13:55.873648Z TRACE weylus::log: Created surface 0xe. 2022-11-13T04:13:55.873787Z TRACE weylus::log: Created surface 0xf. 2022-11-13T04:13:55.873926Z TRACE weylus::log: Created surface 0x10. 2022-11-13T04:13:55.874064Z TRACE weylus::log: Created surface 0x11. 2022-11-13T04:13:55.874164Z TRACE weylus::log: Created surface 0x12. 2022-11-13T04:13:55.874262Z TRACE weylus::log: Created surface 0x13. 2022-11-13T04:13:55.874358Z TRACE weylus::log: Created surface 0x14. 2022-11-13T04:13:55.874373Z DEBUG weylus::log: VA-API vendor: Mesa Gallium driver 22.2.3 - kisak-mesa PPA for RENOIR (renoir, LLVM 14.0.6, DRM 3.48, 6.0.6-060006-generic) 2022-11-13T04:13:55.874442Z DEBUG weylus::log: Input surface format is nv12. 2022-11-13T04:13:55.874456Z DEBUG weylus::log: Using VAAPI profile VAProfileH264High (7). 2022-11-13T04:13:55.874461Z DEBUG weylus::log: Using VAAPI entrypoint VAEntrypointEncSlice (6). 2022-11-13T04:13:55.874467Z DEBUG weylus::log: Using VAAPI render target format YUV420 (0x1). 2022-11-13T04:13:55.874479Z TRACE weylus::log: Driver supports RC modes CQP, CBR, VBR. 2022-11-13T04:13:55.874487Z DEBUG weylus::log: RC mode: CQP. 2022-11-13T04:13:55.874493Z DEBUG weylus::log: RC quality: 23. 2022-11-13T04:13:55.874515Z DEBUG weylus::log: RC framerate: 1000/1 (1000.00 fps). 2022-11-13T04:13:55.874526Z DEBUG weylus::log: Driver does not report any additional prediction constraints. 2022-11-13T04:13:55.874534Z DEBUG weylus::log: Using intra and P-frames (supported references: 1 / 0). 2022-11-13T04:13:55.874543Z WARN weylus::log: Driver does not support some wanted packed headers (wanted 0xd, found 0). 2022-11-13T04:13:55.874549Z WARN weylus::log: Driver does not support packed sequence headers, but a global header is requested. 2022-11-13T04:13:55.874554Z WARN weylus::log: 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). 2022-11-13T04:13:55.874559Z WARN weylus::log: Quality attribute is not supported: will use default quality level. 2022-11-13T04:13:55.874606Z TRACE weylus::log: Using nv12 as format of reconstructed frames. 2022-11-13T04:13:55.874717Z TRACE weylus::log: Created surface 0x16. 2022-11-13T04:13:55.874726Z TRACE weylus::log: Direct mapping disabled: deriving image does not work: 1 (operation failed). 2022-11-13T04:13:55.874733Z DEBUG weylus::log: libva: Save context 0x00000017 into log file va.log.041355.thd-0x000064d4 2022-11-13T04:13:55.874750Z TRACE weylus::log: Using fixed QP = 23 / 23 / 28 for IDR- / P- / B-frames. 2022-11-13T04:13:55.874769Z DEBUG weylus::log: Using level 4. 2022-11-13T04:13:55.876345Z INFO weylus::log: Video: 2100x642@h264_vaapi pix_fmt: bgr0 2022-11-13T04:13:55.909366Z TRACE weylus::log: Map surface 0x14. 2022-11-13T04:13:55.912624Z TRACE weylus::log: Unmap surface 0x14. 2022-11-13T04:13:55.915583Z TRACE weylus::log: Input frame: 2100x642 (82). 2022-11-13T04:13:55.915594Z TRACE weylus::log: Pick forced IDR-picture to encode next. 2022-11-13T04:13:55.915600Z TRACE weylus::log: Issuing encode for pic 0/0 as type IDR. 2022-11-13T04:13:55.915604Z TRACE weylus::log: No reference pictures. 2022-11-13T04:13:55.915607Z TRACE weylus::log: Input surface is 0x14. 2022-11-13T04:13:55.915612Z TRACE weylus::log: Recon surface is 0x16. 2022-11-13T04:13:55.915662Z TRACE weylus::log: Allocated output buffer 0x18 2022-11-13T04:13:55.915671Z TRACE weylus::log: Output buffer is 0x18. 2022-11-13T04:13:55.915677Z TRACE weylus::log: Param buffer (22) is 0x19. 2022-11-13T04:13:55.915683Z TRACE weylus::log: Param buffer (27) is 0x1a. 2022-11-13T04:13:55.915689Z TRACE weylus::log: Param buffer (23) is 0x1b. 2022-11-13T04:13:55.915696Z TRACE weylus::log: Slice 0: 0-40 (41 rows), 0-5411 (5412 blocks). 2022-11-13T04:13:55.915707Z TRACE weylus::log: Param buffer (24) is 0x1c. Segmentation error (core dumped) ```
gdb log ``` cuj1559@cuj1559-Lenovo-IdeaPad-S340-14API:~$ gdb weylus GNU gdb (Ubuntu 10.2-0ubuntu1~20.04~1) 10.2 Copyright (C) 2021 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: . Find the GDB manual and other documentation resources online at: . For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from weylus... (No debugging symbols found in weylus) (gdb) run Starting program: /usr/bin/weylus [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [New Thread 0x7ffff4b0c700 (LWP 32707)] [New Thread 0x7ffff490b700 (LWP 32708)] [New Thread 0x7ffff470a700 (LWP 32709)] [New Thread 0x7ffff4509700 (LWP 32710)] [New Thread 0x7ffff4308700 (LWP 32711)] [New Thread 0x7fffdffff700 (LWP 32712)] [New Thread 0x7fffd7fff700 (LWP 32713)] [New Thread 0x7fffdfdfe700 (LWP 32714)] [New Thread 0x7fffdfbfd700 (LWP 32715)] [New Thread 0x7fffdf9fc700 (LWP 32716)] [New Thread 0x7fffdf7fb700 (LWP 32717)] [New Thread 0x7fffdf5fa700 (LWP 32718)] [New Thread 0x7fffdf3f9700 (LWP 32719)] [New Thread 0x7fffdf1f8700 (LWP 32720)] [New Thread 0x7fffdeff7700 (LWP 32721)] [New Thread 0x7fffdedf6700 (LWP 32722)] [New Thread 0x7fffdebf5700 (LWP 32723)] [New Thread 0x7fffde9f4700 (LWP 32724)] [New Thread 0x7fffde7f3700 (LWP 32725)] 2022-11-13T04:41:18.102311Z INFO weylus::web: Webserver listening at 0.0.0.0:1701... [New Thread 0x7fffde5f2700 (LWP 32726)] [New Thread 0x7fffde3f1700 (LWP 32727)] 2022-11-13T04:41:18.103339Z INFO weylus::gui: Found more than one IP address for browsers to connect to, 2022-11-13T04:41:18.103351Z INFO weylus::gui: other urls are: 2022-11-13T04:41:18.103355Z INFO weylus::gui: http://172.17.0.1:1701 [New Thread 0x7fffde1f0700 (LWP 32738)] 2022-11-13T04:41:21.402217Z INFO weylus::websocket: Client connected. address=192.168.50.105:40812 [New Thread 0x7fffddfef700 (LWP 32739)] [New Thread 0x7fffd5dff700 (LWP 32740)] [New Thread 0x7fffd55fe700 (LWP 32741)] [New Thread 0x7fffd4dfd700 (LWP 32742)] [New Thread 0x7fff895ff700 (LWP 32743)] [New Thread 0x7fff88dfe700 (LWP 32744)] [New Thread 0x7fff73fff700 (LWP 32745)] [New Thread 0x7fff737fe700 (LWP 32746)] [New Thread 0x7fff72ffd700 (LWP 32747)] 2022-11-13T04:41:21.729524Z WARN weylus::log: Driver does not support some wanted packed headers (wanted 0xd, found 0). 2022-11-13T04:41:21.729552Z WARN weylus::log: Driver does not support packed sequence headers, but a global header is requested. 2022-11-13T04:41:21.729562Z WARN weylus::log: 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). 2022-11-13T04:41:21.729573Z WARN weylus::log: Quality attribute is not supported: will use default quality level. 2022-11-13T04:41:21.731503Z INFO weylus::log: Video: 1870x1052@h264_vaapi pix_fmt: bgr0 Thread 24 "weylus" received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fffddfef700 (LWP 32739)] 0x00007fffdcaf48a7 in ?? () from /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so (gdb) bt #0 0x00007fffdcaf48a7 in () at /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so #1 0x00007fffdcaf2056 in () at /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so #2 0x00007fffdcaf5377 in () at /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so #3 0x00007fffdc86ebfc in () at /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so #4 0x000055555660866c in () #5 0x0000555556257a3c in () #6 0x0000555556258fc4 in () #7 0x0000555555b0f03e in () #8 0x0000555555b0f323 in () #9 0x000055555587fdf3 in encode_video_frame () #10 0x00005555557ea64c in () #11 0x000055555584123d in () #12 0x000055555580db5f in () #13 0x00005555557477c5 in () #14 0x00007ffff7a72609 in start_thread (arg=) at pthread_create.c:477 #15 0x00007ffff732d133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 (gdb) quit A debugging session is active. Inferior 1 [process 32699] will be killed. Quit anyway? (y or n) y ```
And finally, va.log : ``` [28419.870483][ctx none]==========va_TraceInitialize [28419.870495][ctx none]=========vaInitialize ret = VA_STATUS_SUCCESS, success (no error) [28419.871596][ctx none]==========va_TraceCreateSurfaces [28419.871599][ctx none] width = 2100 [28419.871599][ctx none] height = 642 [28419.871600][ctx none] format = 1 [28419.871600][ctx none] num_surfaces = 1 [28419.871601][ctx none] surfaces[0] = 0x00000001 [28419.871602][ctx none] attrib_list[0] = [28419.871602][ctx none] type = 6 [28419.871603][ctx none] flags = 2 [28419.871603][ctx none] value.type = 1 [28419.871603][ctx none] value.value.i = 0x00000001 [28419.871604][ctx none] attrib_list[1] = [28419.871604][ctx none] type = 1 [28419.871604][ctx none] flags = 2 [28419.871605][ctx none] value.type = 1 [28419.871605][ctx none] value.value.i = 0x3231564e [28419.871685][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [28419.871716][ctx none]=========vaDeriveImage ret = VA_STATUS_ERROR_OPERATION_FAILED, operation failed [28419.871886][ctx none]==========va_TraceCreateSurfaces [28419.871889][ctx none] width = 2100 [28419.871889][ctx none] height = 642 [28419.871890][ctx none] format = 1 [28419.871890][ctx none] num_surfaces = 1 [28419.871891][ctx none] surfaces[0] = 0x00000002 [28419.871891][ctx none] attrib_list[0] = [28419.871892][ctx none] type = 6 [28419.871892][ctx none] flags = 2 [28419.871892][ctx none] value.type = 1 [28419.871893][ctx none] value.value.i = 0x00000001 [28419.871893][ctx none] attrib_list[1] = [28419.871894][ctx none] type = 1 [28419.871894][ctx none] flags = 2 [28419.871894][ctx none] value.type = 1 [28419.871894][ctx none] value.value.i = 0x3231564e [28419.871909][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [28419.872045][ctx none]==========va_TraceCreateSurfaces [28419.872046][ctx none] width = 2100 [28419.872047][ctx none] height = 642 [28419.872047][ctx none] format = 1 [28419.872047][ctx none] num_surfaces = 1 [28419.872048][ctx none] surfaces[0] = 0x00000003 [28419.872048][ctx none] attrib_list[0] = [28419.872049][ctx none] type = 6 [28419.872050][ctx none] flags = 2 [28419.872050][ctx none] value.type = 1 [28419.872050][ctx none] value.value.i = 0x00000001 [28419.872051][ctx none] attrib_list[1] = [28419.872051][ctx none] type = 1 [28419.872051][ctx none] flags = 2 [28419.872051][ctx none] value.type = 1 [28419.872052][ctx none] value.value.i = 0x3231564e [28419.872063][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [28419.872190][ctx none]==========va_TraceCreateSurfaces [28419.872191][ctx none] width = 2100 [28419.872192][ctx none] height = 642 [28419.872192][ctx none] format = 1 [28419.872193][ctx none] num_surfaces = 1 [28419.872193][ctx none] surfaces[0] = 0x00000004 [28419.872194][ctx none] attrib_list[0] = [28419.872194][ctx none] type = 6 [28419.872195][ctx none] flags = 2 [28419.872195][ctx none] value.type = 1 [28419.872195][ctx none] value.value.i = 0x00000001 [28419.872196][ctx none] attrib_list[1] = [28419.872196][ctx none] type = 1 [28419.872196][ctx none] flags = 2 [28419.872196][ctx none] value.type = 1 [28419.872197][ctx none] value.value.i = 0x3231564e [28419.872206][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [28419.872328][ctx none]==========va_TraceCreateSurfaces [28419.872330][ctx none] width = 2100 [28419.872331][ctx none] height = 642 [28419.872331][ctx none] format = 1 [28419.872331][ctx none] num_surfaces = 1 [28419.872332][ctx none] surfaces[0] = 0x00000005 [28419.872332][ctx none] attrib_list[0] = [28419.872333][ctx none] type = 6 [28419.872333][ctx none] flags = 2 [28419.872333][ctx none] value.type = 1 [28419.872334][ctx none] value.value.i = 0x00000001 [28419.872334][ctx none] attrib_list[1] = [28419.872334][ctx none] type = 1 [28419.872334][ctx none] flags = 2 [28419.872335][ctx none] value.type = 1 [28419.872335][ctx none] value.value.i = 0x3231564e [28419.872354][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [28419.872474][ctx none]==========va_TraceCreateSurfaces [28419.872476][ctx none] width = 2100 [28419.872476][ctx none] height = 642 [28419.872477][ctx none] format = 1 [28419.872477][ctx none] num_surfaces = 1 [28419.872477][ctx none] surfaces[0] = 0x00000006 [28419.872478][ctx none] attrib_list[0] = [28419.872479][ctx none] type = 6 [28419.872479][ctx none] flags = 2 [28419.872479][ctx none] value.type = 1 [28419.872480][ctx none] value.value.i = 0x00000001 [28419.872480][ctx none] attrib_list[1] = [28419.872480][ctx none] type = 1 [28419.872481][ctx none] flags = 2 [28419.872481][ctx none] value.type = 1 [28419.872481][ctx none] value.value.i = 0x3231564e [28419.872490][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [28419.872594][ctx none]==========va_TraceCreateSurfaces [28419.872595][ctx none] width = 2100 [28419.872596][ctx none] height = 642 [28419.872596][ctx none] format = 1 [28419.872596][ctx none] num_surfaces = 1 [28419.872597][ctx none] surfaces[0] = 0x00000007 [28419.872597][ctx none] attrib_list[0] = [28419.872598][ctx none] type = 6 [28419.872598][ctx none] flags = 2 [28419.872598][ctx none] value.type = 1 [28419.872599][ctx none] value.value.i = 0x00000001 [28419.872599][ctx none] attrib_list[1] = [28419.872599][ctx none] type = 1 [28419.872599][ctx none] flags = 2 [28419.872600][ctx none] value.type = 1 [28419.872600][ctx none] value.value.i = 0x3231564e [28419.872619][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [28419.872747][ctx none]==========va_TraceCreateSurfaces [28419.872749][ctx none] width = 2100 [28419.872749][ctx none] height = 642 [28419.872749][ctx none] format = 1 [28419.872750][ctx none] num_surfaces = 1 [28419.872750][ctx none] surfaces[0] = 0x00000008 [28419.872751][ctx none] attrib_list[0] = [28419.872751][ctx none] type = 6 [28419.872751][ctx none] flags = 2 [28419.872752][ctx none] value.type = 1 [28419.872752][ctx none] value.value.i = 0x00000001 [28419.872752][ctx none] attrib_list[1] = [28419.872753][ctx none] type = 1 [28419.872753][ctx none] flags = 2 [28419.872753][ctx none] value.type = 1 [28419.872753][ctx none] value.value.i = 0x3231564e [28419.872763][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [28419.872897][ctx none]==========va_TraceCreateSurfaces [28419.872898][ctx none] width = 2100 [28419.872899][ctx none] height = 642 [28419.872900][ctx none] format = 1 [28419.872900][ctx none] num_surfaces = 1 [28419.872901][ctx none] surfaces[0] = 0x00000009 [28419.872901][ctx none] attrib_list[0] = [28419.872902][ctx none] type = 6 [28419.872902][ctx none] flags = 2 [28419.872903][ctx none] value.type = 1 [28419.872903][ctx none] value.value.i = 0x00000001 [28419.872903][ctx none] attrib_list[1] = [28419.872904][ctx none] type = 1 [28419.872904][ctx none] flags = 2 [28419.872904][ctx none] value.type = 1 [28419.872904][ctx none] value.value.i = 0x3231564e [28419.872913][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [28419.873022][ctx none]==========va_TraceCreateSurfaces [28419.873024][ctx none] width = 2100 [28419.873024][ctx none] height = 642 [28419.873025][ctx none] format = 1 [28419.873025][ctx none] num_surfaces = 1 [28419.873026][ctx none] surfaces[0] = 0x0000000a [28419.873026][ctx none] attrib_list[0] = [28419.873027][ctx none] type = 6 [28419.873027][ctx none] flags = 2 [28419.873027][ctx none] value.type = 1 [28419.873027][ctx none] value.value.i = 0x00000001 [28419.873028][ctx none] attrib_list[1] = [28419.873028][ctx none] type = 1 [28419.873028][ctx none] flags = 2 [28419.873029][ctx none] value.type = 1 [28419.873034][ctx none] value.value.i = 0x3231564e [28419.873056][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [28419.873171][ctx none]==========va_TraceCreateSurfaces [28419.873172][ctx none] width = 2100 [28419.873173][ctx none] height = 642 [28419.873173][ctx none] format = 1 [28419.873173][ctx none] num_surfaces = 1 [28419.873174][ctx none] surfaces[0] = 0x0000000b [28419.873174][ctx none] attrib_list[0] = [28419.873175][ctx none] type = 6 [28419.873175][ctx none] flags = 2 [28419.873175][ctx none] value.type = 1 [28419.873176][ctx none] value.value.i = 0x00000001 [28419.873176][ctx none] attrib_list[1] = [28419.873176][ctx none] type = 1 [28419.873176][ctx none] flags = 2 [28419.873177][ctx none] value.type = 1 [28419.873177][ctx none] value.value.i = 0x3231564e [28419.873191][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [28419.873334][ctx none]==========va_TraceCreateSurfaces [28419.873335][ctx none] width = 2100 [28419.873336][ctx none] height = 642 [28419.873336][ctx none] format = 1 [28419.873336][ctx none] num_surfaces = 1 [28419.873337][ctx none] surfaces[0] = 0x0000000c [28419.873337][ctx none] attrib_list[0] = [28419.873337][ctx none] type = 6 [28419.873338][ctx none] flags = 2 [28419.873338][ctx none] value.type = 1 [28419.873338][ctx none] value.value.i = 0x00000001 [28419.873339][ctx none] attrib_list[1] = [28419.873339][ctx none] type = 1 [28419.873339][ctx none] flags = 2 [28419.873340][ctx none] value.type = 1 [28419.873340][ctx none] value.value.i = 0x3231564e [28419.873349][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [28419.873466][ctx none]==========va_TraceCreateSurfaces [28419.873467][ctx none] width = 2100 [28419.873468][ctx none] height = 642 [28419.873468][ctx none] format = 1 [28419.873468][ctx none] num_surfaces = 1 [28419.873469][ctx none] surfaces[0] = 0x0000000d [28419.873469][ctx none] attrib_list[0] = [28419.873470][ctx none] type = 6 [28419.873470][ctx none] flags = 2 [28419.873470][ctx none] value.type = 1 [28419.873471][ctx none] value.value.i = 0x00000001 [28419.873471][ctx none] attrib_list[1] = [28419.873471][ctx none] type = 1 [28419.873471][ctx none] flags = 2 [28419.873472][ctx none] value.type = 1 [28419.873472][ctx none] value.value.i = 0x3231564e [28419.873481][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [28419.873621][ctx none]==========va_TraceCreateSurfaces [28419.873623][ctx none] width = 2100 [28419.873623][ctx none] height = 642 [28419.873623][ctx none] format = 1 [28419.873624][ctx none] num_surfaces = 1 [28419.873624][ctx none] surfaces[0] = 0x0000000e [28419.873625][ctx none] attrib_list[0] = [28419.873625][ctx none] type = 6 [28419.873625][ctx none] flags = 2 [28419.873625][ctx none] value.type = 1 [28419.873626][ctx none] value.value.i = 0x00000001 [28419.873626][ctx none] attrib_list[1] = [28419.873626][ctx none] type = 1 [28419.873627][ctx none] flags = 2 [28419.873627][ctx none] value.type = 1 [28419.873627][ctx none] value.value.i = 0x3231564e [28419.873645][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [28419.873762][ctx none]==========va_TraceCreateSurfaces [28419.873763][ctx none] width = 2100 [28419.873764][ctx none] height = 642 [28419.873764][ctx none] format = 1 [28419.873764][ctx none] num_surfaces = 1 [28419.873769][ctx none] surfaces[0] = 0x0000000f [28419.873770][ctx none] attrib_list[0] = [28419.873770][ctx none] type = 6 [28419.873771][ctx none] flags = 2 [28419.873771][ctx none] value.type = 1 [28419.873771][ctx none] value.value.i = 0x00000001 [28419.873772][ctx none] attrib_list[1] = [28419.873772][ctx none] type = 1 [28419.873772][ctx none] flags = 2 [28419.873773][ctx none] value.type = 1 [28419.873773][ctx none] value.value.i = 0x3231564e [28419.873783][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [28419.873893][ctx none]==========va_TraceCreateSurfaces [28419.873896][ctx none] width = 2100 [28419.873896][ctx none] height = 642 [28419.873896][ctx none] format = 1 [28419.873897][ctx none] num_surfaces = 1 [28419.873906][ctx none] surfaces[0] = 0x00000010 [28419.873907][ctx none] attrib_list[0] = [28419.873907][ctx none] type = 6 [28419.873908][ctx none] flags = 2 [28419.873908][ctx none] value.type = 1 [28419.873909][ctx none] value.value.i = 0x00000001 [28419.873909][ctx none] attrib_list[1] = [28419.873909][ctx none] type = 1 [28419.873909][ctx none] flags = 2 [28419.873910][ctx none] value.type = 1 [28419.873910][ctx none] value.value.i = 0x3231564e [28419.873918][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [28419.874045][ctx none]==========va_TraceCreateSurfaces [28419.874047][ctx none] width = 2100 [28419.874047][ctx none] height = 642 [28419.874047][ctx none] format = 1 [28419.874048][ctx none] num_surfaces = 1 [28419.874048][ctx none] surfaces[0] = 0x00000011 [28419.874049][ctx none] attrib_list[0] = [28419.874050][ctx none] type = 6 [28419.874050][ctx none] flags = 2 [28419.874051][ctx none] value.type = 1 [28419.874051][ctx none] value.value.i = 0x00000001 [28419.874051][ctx none] attrib_list[1] = [28419.874052][ctx none] type = 1 [28419.874052][ctx none] flags = 2 [28419.874052][ctx none] value.type = 1 [28419.874052][ctx none] value.value.i = 0x3231564e [28419.874060][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [28419.874149][ctx none]==========va_TraceCreateSurfaces [28419.874150][ctx none] width = 2100 [28419.874150][ctx none] height = 642 [28419.874151][ctx none] format = 1 [28419.874151][ctx none] num_surfaces = 1 [28419.874151][ctx none] surfaces[0] = 0x00000012 [28419.874152][ctx none] attrib_list[0] = [28419.874152][ctx none] type = 6 [28419.874152][ctx none] flags = 2 [28419.874153][ctx none] value.type = 1 [28419.874153][ctx none] value.value.i = 0x00000001 [28419.874153][ctx none] attrib_list[1] = [28419.874154][ctx none] type = 1 [28419.874154][ctx none] flags = 2 [28419.874154][ctx none] value.type = 1 [28419.874154][ctx none] value.value.i = 0x3231564e [28419.874161][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [28419.874237][ctx none]==========va_TraceCreateSurfaces [28419.874239][ctx none] width = 2100 [28419.874239][ctx none] height = 642 [28419.874239][ctx none] format = 1 [28419.874240][ctx none] num_surfaces = 1 [28419.874240][ctx none] surfaces[0] = 0x00000013 [28419.874240][ctx none] attrib_list[0] = [28419.874241][ctx none] type = 6 [28419.874241][ctx none] flags = 2 [28419.874241][ctx none] value.type = 1 [28419.874241][ctx none] value.value.i = 0x00000001 [28419.874242][ctx none] attrib_list[1] = [28419.874242][ctx none] type = 1 [28419.874242][ctx none] flags = 2 [28419.874242][ctx none] value.type = 1 [28419.874243][ctx none] value.value.i = 0x3231564e [28419.874260][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [28419.874344][ctx none]==========va_TraceCreateSurfaces [28419.874345][ctx none] width = 2100 [28419.874346][ctx none] height = 642 [28419.874346][ctx none] format = 1 [28419.874346][ctx none] num_surfaces = 1 [28419.874346][ctx none] surfaces[0] = 0x00000014 [28419.874347][ctx none] attrib_list[0] = [28419.874347][ctx none] type = 6 [28419.874347][ctx none] flags = 2 [28419.874348][ctx none] value.type = 1 [28419.874348][ctx none] value.value.i = 0x00000001 [28419.874348][ctx none] attrib_list[1] = [28419.874348][ctx none] type = 1 [28419.874349][ctx none] flags = 2 [28419.874349][ctx none] value.type = 1 [28419.874349][ctx none] value.value.i = 0x3231564e [28419.874356][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [28419.874452][ctx none]=========vaQueryConfigProfiles ret = VA_STATUS_SUCCESS, success (no error) [28419.874459][ctx none]=========vaQueryConfigEntrypoints ret = VA_STATUS_SUCCESS, success (no error) [28419.874465][ctx none]=========vaGetConfigAttributes ret = VA_STATUS_SUCCESS, success (no error) [28419.874471][ctx none]=========vaGetConfigAttributes ret = VA_STATUS_SUCCESS, success (no error) [28419.874522][ctx none]=========vaGetConfigAttributes ret = VA_STATUS_SUCCESS, success (no error) [28419.874523][ctx none]=========vaGetConfigAttributes ret = VA_STATUS_SUCCESS, success (no error) [28419.874540][ctx none]=========vaGetConfigAttributes ret = VA_STATUS_SUCCESS, success (no error) [28419.874557][ctx none]=========vaGetConfigAttributes ret = VA_STATUS_SUCCESS, success (no error) [28419.874558][ctx none]=========vaGetConfigAttributes ret = VA_STATUS_SUCCESS, success (no error) [28419.874563][ctx none]==========va_TraceCreateConfig [28419.874564][ctx none] profile = 7, VAProfileH264High [28419.874564][ctx none] entrypoint = 6, VAEntrypointEncSlice [28419.874565][ctx none] num_attribs = 2 [28419.874565][ctx none] attrib_list[0].type = 0x00000000, VAConfigAttribRTFormat [28419.874566][ctx none] attrib_list[0].value = 0x00000001 [28419.874567][ctx none] attrib_list[1].type = 0x00000005, VAConfigAttribRateControl [28419.874568][ctx none] attrib_list[1].value = 0x00000010 [28419.874575][ctx none]=========vaCreateConfig ret = VA_STATUS_SUCCESS, success (no error) [28419.874577][ctx none]==========va_TraceQuerySurfaceAttributes [28419.874577][ctx none] config = 0x00000015 [28419.874581][ctx none]=========vaQuerySurfaceAttributes ret = VA_STATUS_SUCCESS, success (no error) [28419.874583][ctx none]==========va_TraceQuerySurfaceAttributes [28419.874583][ctx none] config = 0x00000015 [28419.874583][ctx none] attrib_list[0] = [28419.874584][ctx none] type = 1 [28419.874584][ctx none] flags = 3 [28419.874584][ctx none] value.type = 1 [28419.874584][ctx none] value.value.i = 0x3231564e [28419.874585][ctx none] attrib_list[1] = [28419.874585][ctx none] type = 1 [28419.874585][ctx none] flags = 3 [28419.874585][ctx none] value.type = 1 [28419.874586][ctx none] value.value.i = 0x30313050 [28419.874586][ctx none] attrib_list[2] = [28419.874586][ctx none] type = 1 [28419.874586][ctx none] flags = 3 [28419.874587][ctx none] value.type = 1 [28419.874587][ctx none] value.value.i = 0x36313050 [28419.874587][ctx none] attrib_list[3] = [28419.874587][ctx none] type = 6 [28419.874587][ctx none] flags = 3 [28419.874588][ctx none] value.type = 1 [28419.874588][ctx none] value.value.i = 0x60000001 [28419.874588][ctx none] attrib_list[4] = [28419.874588][ctx none] type = 7 [28419.874589][ctx none] flags = 2 [28419.874589][ctx none] value.type = 3 [28419.874589][ctx none] value.value.p = (nil) [28419.874590][ctx none] attrib_list[5] = [28419.874590][ctx none] type = 9 [28419.874590][ctx none] flags = 2 [28419.874590][ctx none] value.type = 3 [28419.874591][ctx none] value.value.p = (nil) [28419.874591][ctx none] attrib_list[6] = [28419.874591][ctx none] type = 3 [28419.874591][ctx none] flags = 1 [28419.874592][ctx none] value.type = 1 [28419.874592][ctx none] value.value.i = 0x00001000 [28419.874592][ctx none] attrib_list[7] = [28419.874592][ctx none] type = 5 [28419.874593][ctx none] flags = 1 [28419.874593][ctx none] value.type = 1 [28419.874593][ctx none] value.value.i = 0x00000900 [28419.874603][ctx none]=========vaQuerySurfaceAttributes ret = VA_STATUS_SUCCESS, success (no error) [28419.874699][ctx none]==========va_TraceCreateSurfaces [28419.874701][ctx none] width = 2112 [28419.874701][ctx none] height = 656 [28419.874702][ctx none] format = 1 [28419.874702][ctx none] num_surfaces = 1 [28419.874702][ctx none] surfaces[0] = 0x00000016 [28419.874703][ctx none] attrib_list[0] = [28419.874703][ctx none] type = 6 [28419.874704][ctx none] flags = 2 [28419.874704][ctx none] value.type = 1 [28419.874704][ctx none] value.value.i = 0x00000001 [28419.874704][ctx none] attrib_list[1] = [28419.874705][ctx none] type = 1 [28419.874705][ctx none] flags = 2 [28419.874705][ctx none] value.type = 1 [28419.874705][ctx none] value.value.i = 0x3231564e [28419.874713][ctx none]=========vaCreateSurfaces ret = VA_STATUS_SUCCESS, success (no error) [28419.874724][ctx none]=========vaDeriveImage ret = VA_STATUS_ERROR_OPERATION_FAILED, operation failed [28419.874737][ctx 0x00000017]==========va_TraceCreateContext [28419.874738][ctx 0x00000017] context = 0x00000017 va_trace_flag 0x1 [28419.874738][ctx 0x00000017] profile = 7,VAProfileH264High entrypoint = 6,VAEntrypointEncSlice [28419.874739][ctx 0x00000017] config = 0x00000015 [28419.874739][ctx 0x00000017] width = 2112 [28419.874740][ctx 0x00000017] height = 656 [28419.874740][ctx 0x00000017] flag = 0x00000001 [28419.874740][ctx 0x00000017] num_render_targets = 0 [28419.874741][ctx none]=========vaCreateContext ret = VA_STATUS_SUCCESS, success (no error) [28419.874773][ctx none]==========va_TraceSyncBuffer [28419.874773][ctx none] buf_id = 0xffffffff [28419.874774][ctx none] timeout_ns = 0 [28419.874779][ctx none]=========vaSyncBuffer ret = VA_STATUS_ERROR_UNIMPLEMENTED, the requested function is not implemented [28419.909399][ctx none]==========va_TraceSyncSurface [28419.909402][ctx none] render_target = 0x00000014 [28419.909431][ctx none]=========vaSyncSurface ret = VA_STATUS_SUCCESS, success (no error) [28419.909463][ctx none]=========vaCreateImage ret = VA_STATUS_SUCCESS, success (no error) [28419.909465][ctx none]=========vaMapBuffer ret = VA_STATUS_SUCCESS, success (no error) [28419.912638][ctx none]=========vaUnmapBuffer ret = VA_STATUS_SUCCESS, success (no error) [28419.915230][ctx none]=========vaPutImage ret = VA_STATUS_SUCCESS, success (no error) [28419.915566][ctx none]=========vaDestroyImage ret = VA_STATUS_SUCCESS, success (no error) [28419.915635][ctx 0x00000017]==========va_TraceCreateBuffer [28419.915636][ctx 0x00000017] buf_type=VAEncCodedBufferType [28419.915637][ctx 0x00000017] buf_id=0x18 [28419.915637][ctx 0x00000017] size=4221952 [28419.915637][ctx 0x00000017] num_elements=1 [28419.915657][ctx none]=========vaCreateBuffer ret = VA_STATUS_SUCCESS, success (no error) [28419.915675][ctx none]=========vaCreateBuffer ret = VA_STATUS_SUCCESS, success (no error) [28419.915682][ctx none]=========vaCreateBuffer ret = VA_STATUS_SUCCESS, success (no error) [28419.915688][ctx none]=========vaCreateBuffer ret = VA_STATUS_SUCCESS, success (no error) [28419.915706][ctx none]=========vaCreateBuffer ret = VA_STATUS_SUCCESS, success (no error) [28419.915711][ctx 0x00000017]==========va_TraceBeginPicture [28419.915712][ctx 0x00000017] context = 0x00000017 [28419.915712][ctx 0x00000017] render_targets = 0x00000014 [28419.915713][ctx 0x00000017] frame_count = #0 [28419.915729][ctx none]=========vaBeginPicture ret = VA_STATUS_SUCCESS, success (no error) [28419.915730][ctx 0x00000017]==========va_TraceRenderPicture [28419.915730][ctx 0x00000017] context = 0x00000017 [28419.915731][ctx 0x00000017] num_buffers = 4 [28419.915732][ctx none]=========vaBufferInfo ret = VA_STATUS_SUCCESS, success (no error) [28419.915732][ctx 0x00000017] --------------------------- [28419.915732][ctx 0x00000017] buffers[0] = 0x00000019 [28419.915733][ctx 0x00000017] type = VAEncSequenceParameterBufferType [28419.915733][ctx 0x00000017] size = 1132 [28419.915734][ctx 0x00000017] num_elements = 1 [28419.915734][ctx none]=========vaMapBuffer ret = VA_STATUS_SUCCESS, success (no error) [28419.915753][ctx 0x00000017] element[0] = [28419.915755][ctx 0x00000017] --VAEncSequenceParameterBufferH264 [28419.915756][ctx 0x00000017] seq_parameter_set_id = 0 [28419.915757][ctx 0x00000017] level_idc = 40 [28419.915758][ctx 0x00000017] intra_period = 12 [28419.915758][ctx 0x00000017] intra_idr_period = 12 [28419.915759][ctx 0x00000017] ip_period = 1 [28419.915760][ctx 0x00000017] bits_per_second = 0 [28419.915760][ctx 0x00000017] max_num_ref_frames = 1 [28419.915761][ctx 0x00000017] picture_width_in_mbs = 132 [28419.915761][ctx 0x00000017] picture_height_in_mbs = 41 [28419.915762][ctx 0x00000017] chroma_format_idc = 1 [28419.915762][ctx 0x00000017] frame_mbs_only_flag = 1 [28419.915763][ctx 0x00000017] mb_adaptive_frame_field_flag = 0 [28419.915764][ctx 0x00000017] seq_scaling_matrix_present_flag = 0 [28419.915764][ctx 0x00000017] direct_8x8_inference_flag = 1 [28419.915765][ctx 0x00000017] log2_max_frame_num_minus4 = 4 [28419.915766][ctx 0x00000017] pic_order_cnt_type = 0 [28419.915766][ctx 0x00000017] log2_max_pic_order_cnt_lsb_minus4 = 4 [28419.915767][ctx 0x00000017] delta_pic_order_always_zero_flag = 0 [28419.915767][ctx 0x00000017] bit_depth_luma_minus8 = 0 [28419.915767][ctx 0x00000017] bit_depth_chroma_minus8 = 0 [28419.915768][ctx 0x00000017] num_ref_frames_in_pic_order_cnt_cycle = 0 [28419.915768][ctx 0x00000017] offset_for_non_ref_pic = 0 [28419.915768][ctx 0x00000017] offset_for_top_to_bottom_field = 0 [28419.915769][ctx 0x00000017] offset_for_ref_frame[0] = 0 [28419.915769][ctx 0x00000017] frame_cropping_flag = 1 [28419.915770][ctx 0x00000017] frame_crop_left_offset = 0 [28419.915770][ctx 0x00000017] frame_crop_right_offset = 6 [28419.915770][ctx 0x00000017] frame_crop_top_offset = 0 [28419.915771][ctx 0x00000017] frame_crop_bottom_offset = 7 [28419.915771][ctx 0x00000017] vui_parameters_present_flag = 1 [28419.915771][ctx 0x00000017] aspect_ratio_info_present_flag = 0 [28419.915771][ctx 0x00000017] timing_info_present_flag = 1 [28419.915772][ctx 0x00000017] bitstream_restriction_flag = 1 [28419.915772][ctx 0x00000017] log2_max_mv_length_horizontal = 15 [28419.915772][ctx 0x00000017] log2_max_mv_length_vertical = 15 [28419.915773][ctx 0x00000017] aspect_ratio_idc = 0 [28419.915773][ctx 0x00000017] sar_width = 0 [28419.915773][ctx 0x00000017] sar_height = 0 [28419.915774][ctx 0x00000017] num_units_in_tick = 1 [28419.915774][ctx 0x00000017] time_scale = 2000 [28419.915780][ctx none]=========vaUnmapBuffer ret = VA_STATUS_SUCCESS, success (no error) [28419.915781][ctx none]=========vaBufferInfo ret = VA_STATUS_SUCCESS, success (no error) [28419.915781][ctx 0x00000017] --------------------------- [28419.915781][ctx 0x00000017] buffers[1] = 0x0000001a [28419.915782][ctx 0x00000017] type = VAEncMiscParameterBufferType [28419.915782][ctx 0x00000017] size = 28 [28419.915782][ctx 0x00000017] num_elements = 1 [28419.915783][ctx none]=========vaMapBuffer ret = VA_STATUS_SUCCESS, success (no error) [28419.915783][ctx 0x00000017] element[0] = [28419.915785][ctx 0x00000017] --VAEncMiscParameterFrameRate [28419.915785][ctx 0x00000017] framerate = 66536 [28419.915786][ctx 0x00000017] framerate_flags.temporal_id = 0 [28419.915793][ctx none]=========vaUnmapBuffer ret = VA_STATUS_SUCCESS, success (no error) [28419.915794][ctx none]=========vaBufferInfo ret = VA_STATUS_SUCCESS, success (no error) [28419.915795][ctx 0x00000017] --------------------------- [28419.915795][ctx 0x00000017] buffers[2] = 0x0000001b [28419.915795][ctx 0x00000017] type = VAEncPictureParameterBufferType [28419.915796][ctx 0x00000017] size = 648 [28419.915796][ctx 0x00000017] num_elements = 1 [28419.915796][ctx none]=========vaMapBuffer ret = VA_STATUS_SUCCESS, success (no error) [28419.915797][ctx 0x00000017] element[0] = [28419.915798][ctx 0x00000017] --VAEncPictureParameterBufferH264 [28419.915798][ctx 0x00000017] CurrPic.picture_id = 0x00000016 [28419.915798][ctx 0x00000017] CurrPic.frame_idx = 0 [28419.915798][ctx 0x00000017] CurrPic.flags = 0x00000000 [28419.915799][ctx 0x00000017] CurrPic.TopFieldOrderCnt = 0 [28419.915799][ctx 0x00000017] CurrPic.BottomFieldOrderCnt = 0 [28419.915800][ctx 0x00000017] ReferenceFrames (TopFieldOrderCnt-BottomFieldOrderCnt-picture_id-frame_idx-flags): [28419.915800][ctx 0x00000017] coded_buf = 00000018 [28419.915801][ctx 0x00000017] pic_parameter_set_id = 0 [28419.915801][ctx 0x00000017] seq_parameter_set_id = 0 [28419.915801][ctx 0x00000017] last_picture = 0x00000000 [28419.915802][ctx 0x00000017] frame_num = 0 [28419.915802][ctx 0x00000017] pic_init_qp = 23 [28419.915802][ctx 0x00000017] num_ref_idx_l0_active_minus1 = 0 [28419.915803][ctx 0x00000017] num_ref_idx_l1_active_minus1 = 0 [28419.915803][ctx 0x00000017] chroma_qp_index_offset = 0 [28419.915803][ctx 0x00000017] second_chroma_qp_index_offset = 0 [28419.915803][ctx 0x00000017] pic_fields = 0x10b [28419.915804][ctx 0x00000017] idr_pic_flag = 1 [28419.915804][ctx 0x00000017] reference_pic_flag = 1 [28419.915804][ctx 0x00000017] entropy_coding_mode_flag = 1 [28419.915805][ctx 0x00000017] weighted_pred_flag = 0 [28419.915805][ctx 0x00000017] weighted_bipred_idc = 0 [28419.915805][ctx 0x00000017] constrained_intra_pred_flag = 0 [28419.915806][ctx 0x00000017] transform_8x8_mode_flag = 1 [28419.915806][ctx 0x00000017] deblocking_filter_control_present_flag = 0 [28419.915806][ctx 0x00000017] redundant_pic_cnt_present_flag = 0 [28419.915807][ctx 0x00000017] pic_order_present_flag = 0 [28419.915807][ctx 0x00000017] pic_scaling_matrix_present_flag = 0 [28419.915811][ctx none]=========vaUnmapBuffer ret = VA_STATUS_SUCCESS, success (no error) [28419.915812][ctx none]=========vaBufferInfo ret = VA_STATUS_SUCCESS, success (no error) [28419.915812][ctx 0x00000017] --------------------------- [28419.915812][ctx 0x00000017] buffers[3] = 0x0000001c [28419.915813][ctx 0x00000017] type = VAEncSliceParameterBufferType [28419.915813][ctx 0x00000017] size = 3140 [28419.915813][ctx 0x00000017] num_elements = 1 [28419.915814][ctx none]=========vaMapBuffer ret = VA_STATUS_SUCCESS, success (no error) [28419.915814][ctx 0x00000017] element[0] = [28419.915815][ctx 0x00000017] --VAEncSliceParameterBufferH264 [28419.915815][ctx 0x00000017] macroblock_address = 0 [28419.915816][ctx 0x00000017] num_macroblocks = 5412 [28419.915816][ctx 0x00000017] macroblock_info = ffffffff [28419.915816][ctx 0x00000017] slice_type = 2 [28419.915817][ctx 0x00000017] pic_parameter_set_id = 0 [28419.915817][ctx 0x00000017] idr_pic_id = 0 [28419.915817][ctx 0x00000017] pic_order_cnt_lsb = 0 [28419.915818][ctx 0x00000017] delta_pic_order_cnt_bottom = 0 [28419.915818][ctx 0x00000017] delta_pic_order_cnt[0] = 0 [28419.915819][ctx 0x00000017] delta_pic_order_cnt[1] = 0 [28419.915819][ctx 0x00000017] direct_spatial_mv_pred_flag = 1 [28419.915819][ctx 0x00000017] num_ref_idx_active_override_flag = 0 [28419.915819][ctx 0x00000017] num_ref_idx_l0_active_minus1 = 0 [28419.915820][ctx 0x00000017] num_ref_idx_l1_active_minus1 = 0 [28419.915820][ctx 0x00000017] slice_beta_offset_div2 = 0 [28419.915820][ctx 0x00000017] RefPicList0 (TopFieldOrderCnt-BottomFieldOrderCnt-picture_id-frame_idx-flags): [28419.915821][ctx 0x00000017] RefPicList1 (TopFieldOrderCnt-BottomFieldOrderCnt-picture_id-frame_idx-flags): [28419.915822][ctx 0x00000017] luma_log2_weight_denom = 0 [28419.915822][ctx 0x00000017] chroma_log2_weight_denom = 0 [28419.915822][ctx 0x00000017] luma_weight_l0_flag = 0 [28419.915823][ctx 0x00000017] chroma_weight_l0_flag = 0 [28419.915823][ctx 0x00000017] luma_weight_l1_flag = 0 [28419.915823][ctx 0x00000017] chroma_weight_l1_flag = 0 [28419.915829][ctx 0x00000017] cabac_init_idc = 0 [28419.915830][ctx 0x00000017] slice_qp_delta = 0 [28419.915830][ctx 0x00000017] disable_deblocking_filter_idc = 0 [28419.915830][ctx 0x00000017] slice_alpha_c0_offset_div2 = 0 [28419.915831][ctx 0x00000017] slice_beta_offset_div2 = 0 [28419.915834][ctx none]=========vaUnmapBuffer ret = VA_STATUS_SUCCESS, success (no error) [28419.916244][ctx none]=========vaRenderPicture ret = VA_STATUS_SUCCESS, success (no error) [28419.916247][ctx 0x00000017]==========va_TraceEndPicture [28419.916248][ctx 0x00000017] context = 0x00000017 [28419.916249][ctx 0x00000017] render_targets = 0x00000014 ```

As you can see, updating mesa to 22.1.0 or higher does nothing for me.

Even though my cpu is not that bad stuff (Ryzen 5800u), but the video stutters quite a bit when encoding with cpu only, so i have to use gpu acceleration but these issues bother me.

Is there no way?