webosbrew/hyperion-webos

Cannot get any backend to work on LG G1 / WebOS 6.2

chcore opened this issue · 7 comments

Hello,

Using this command I can successfully capture a screenshot:

luna-send -n 1 -f 'luna://com.webos.service.capture/executeOneShot' '{"path":"/tmp/capture.png","method":"DISPLAY","format":"PNG"}'

But cannot actually start the grabber, no matter which backend I use:

root@lg-tv:~/hyperion# LD_LIBRARY_PATH=. ./hyperion-webos --verbose -S -a 192.168.77.202 -p 19400 -b libdile_vt
     0.000s [INFO main                ] Starting up...
     0.000s [ DBG parse_options       ] Finished parsing arguments
     0.000s [ DBG capture_main        ] Using these values: Address: 192.168.77.202 | Port: 19400 | Width: 360 | Height: 180 | FPS: 0 | Backend: libdile_vt | NoVideo: 0 | NoGUI: 0 | Autostart: 0
     0.000s [ DBG capture_main        ] Detecting backend...
     0.000s [ DBG import_backend_library] Full library path: /home/root/hyperion/libdile_vt_backend.so
     0.016s [ DBG capture_main        ] Backend preinit...
     0.016s [INFO capture_preinit     ] Preinit called. Copying config..
     0.016s [ DBG capture_main        ] Initiating capture...
     0.016s [INFO capture_init        ] Init called
     0.016s [ DBG capture_main        ] Starting capture..
     0.016s [INFO capture_start       ] Capture start called.
     0.018s [WARN capture_start       ] DILE_VT_CreateEx failed, attempting DILE_VT_Create...
     0.018s [WARN capture_start       ] Failed to get DILE_VT context!
     0.018s [ ERR capture_main        ] Error! capture_start. Code: -1
     0.018s [ DBG cleanup             ] Starting cleanup... isRunning: 0
     0.018s [ DBG cleanup             ] Destroying hyperion-client...
     0.018s [ DBG cleanup             ] Cleanup capture within library...
     0.018s [ DBG cleanup             ] Cleanup finished.
     0.018s [ ERR main                ] ERROR: Capture main init failed!
root@lg-tv:~/hyperion# LD_LIBRARY_PATH=. ./hyperion-webos --verbose -S -a 192.168.77.202 -p 19400 -b libvt
     0.000s [INFO main                ] Starting up...
     0.000s [ DBG parse_options       ] Finished parsing arguments
     0.000s [ DBG capture_main        ] Using these values: Address: 192.168.77.202 | Port: 19400 | Width: 360 | Height: 180 | FPS: 0 | Backend: libvt | NoVideo: 0 | NoGUI: 0 | Autostart: 0
     0.000s [ DBG capture_main        ] Detecting backend...
     0.000s [ DBG import_backend_library] Full library path: /home/root/hyperion/libvt_backend.so
     0.002s [ ERR import_backend_library] Failed to load backend library: /home/root/hyperion/libvt_backend.so, error: libbcm_host.so: cannot open shared object file: No such file or directory
     0.002s [ ERR capture_main        ] Error! detect_backend.
     0.002s [ DBG cleanup             ] Starting cleanup... isRunning: 0
     0.002s [ DBG cleanup             ] Destroying hyperion-client...
     0.002s [ DBG cleanup             ] Cleanup finished.
     0.002s [ ERR main                ] ERROR: Capture main init failed!
root@lg-tv:~/hyperion# LD_LIBRARY_PATH=. ./hyperion-webos --verbose -S -a 192.168.77.202 -p 19400 -b libvtcapture
     0.000s [INFO main                ] Starting up...
     0.000s [ DBG parse_options       ] Finished parsing arguments
     0.000s [ DBG capture_main        ] Using these values: Address: 192.168.77.202 | Port: 19400 | Width: 360 | Height: 180 | FPS: 0 | Backend: libvtcapture | NoVideo: 0 | NoGUI: 0 | Autostart: 0
     0.000s [ DBG capture_main        ] Detecting backend...
     0.000s [ DBG import_backend_library] Full library path: /home/root/hyperion/libvtcapture_backend.so
     0.027s [ DBG capture_main        ] Backend preinit...
     0.027s [INFO capture_preinit     ] Preinit called. Copying config..
     0.027s [INFO capture_preinit     ] Copying config done. Initialize vars..
     0.027s [INFO capture_preinit     ] Init finished.
     0.027s [ DBG capture_main        ] Initiating capture...
     0.027s [INFO capture_init        ] Initialization of capture devices..
     0.027s [INFO capture_init        ] Graphical capture enabled. Begin init..
     0.030s [INFO capture_init        ] HAL_GAL_Init done! Exit: 0
     0.030s [INFO capture_init        ] HAL_GAL_CreateSurface done! SurfaceID: 251
     0.034s [INFO capture_init        ] HAL_GAL_CaptureFrameBuffer done! 0
     0.035s [INFO capture_init        ] HAL_GAL: gfx open ok result: 14
     0.035s [INFO capture_init        ] Halgal done!
     0.035s [INFO capture_init        ] Init video capture..
terminate called after throwing an instance of 'std::runtime_error'
  what():  LSRegisterPubPriv FAILED
[1]+  Stopped (signal)           ./hyperion-webos --verbose -S -a 192.168.77.202 -p 19400 -b libvtcapture
root@lg-tv:~/hyperion#      0.076s [INFO handle_signal       ] SIGCONT called! Stopping capture if running and rerun from scratch..
     0.076s [ DBG capture_main        ] Using these values: Address: 192.168.77.202 | Port: 19400 | Width: 360 | Height: 180 | FPS: 0 | Backend: libvtcapture | NoVideo: 0 | NoGUI: 0 | Autostart: 0
     0.076s [ DBG capture_main        ] Detecting backend...
     0.076s [ DBG import_backend_library] Full library path: /home/root/hyperion/libvtcapture_backend.so
     0.076s [ DBG capture_main        ] Backend preinit...
     0.076s [INFO capture_preinit     ] Preinit called. Copying config..
     0.076s [INFO capture_preinit     ] Copying config done. Initialize vars..
     0.076s [INFO capture_preinit     ] Init finished.
     0.076s [ DBG capture_main        ] Initiating capture...
     0.076s [INFO capture_init        ] Initialization of capture devices..
     0.076s [INFO capture_init        ] Graphical capture enabled. Begin init..
     0.076s [INFO capture_init        ] HAL_GAL_Init done! Exit: 0

Here is some diagnostic info as requested in the README:

root@lg-tv:~/hyperion# grep -h -E '"(hardware_id|core_os_release|product_id|webos_manufacturing_version|board_type)"' /var/run/nyx/*
    "board_type": "O20_DVB",
    "hardware_id": "HE_DTV_W21O_AFABATAA",
    "product_id": "OLED65G1PTA",
    "core_os_release": "6.2.0-33",
    "webos_manufacturing_version": "03.21.10",

Any ideas as to why it's not working for me? I am trying to capture while using the HDMI input if that matters. I have tried using the hyperion-webos binary included in the latest piccap release, and also the latest binary from this repo.

In practice only backend supported on 6.x is libvtcapture. The issue is that it requires proper Luna bus configuration, which we do not cover here in the readme. Easiest way of getting it set up is to install PicCap app from Homebrew Channel. webOS will properly set up luna bus permissions for hyperion-webos bundled with piccap (it'll be extracted into /media/developer/apps/usr/palm/service/org.webosbrew.piccap.service, and the actual final path of hyperion-webos executable is important there, in case you wanted to replace the release with some other version - there are some unmerged patches for libvtcapture in #43 / #40 PRs...)

Thank you @Informatic, I installed piccap using the latest release .pkg file, and got a little further with the libvtcapture backend, but still get some errors:

root@lg-tv:/media/developer/apps/usr/palm/services/org.webosbrew.piccap.service# ./hyperion-webos --verbose -S -a 192.168.77.202 -p 19400 -f 25 -b libvtcapture
     0.000s [INFO main                ] Starting up...
     0.000s [ DBG parse_options       ] Finished parsing arguments
     0.000s [ DBG capture_main        ] Using these values: Address: 192.168.77.202 | Port: 19400 | Width: 360 | Height: 180 | FPS: 25 | Backend: libvtcapture | NoVideo: 0 | NoGUI: 0 | Autostart: 0
     0.000s [ DBG capture_main        ] Detecting backend...
     0.000s [ DBG import_backend_library] Full library path: /media/developer/apps/usr/palm/services/org.webosbrew.piccap.service/libvtcapture_backend.so
     0.024s [ DBG capture_main        ] Backend preinit...
     0.024s [INFO capture_preinit     ] Preinit called. Copying config..
     0.024s [INFO capture_preinit     ] Copying config done. Initialize vars..
     0.024s [INFO capture_preinit     ] Init finished.
     0.024s [ DBG capture_main        ] Initiating capture...
     0.024s [INFO capture_init        ] Initialization of capture devices..
     0.024s [INFO capture_init        ] Graphical capture enabled. Begin init..
     0.026s [INFO capture_init        ] HAL_GAL_Init done! Exit: 0
     0.026s [INFO capture_init        ] HAL_GAL_CreateSurface done! SurfaceID: 251
     0.031s [INFO capture_init        ] HAL_GAL_CaptureFrameBuffer done! 0
     0.031s [INFO capture_init        ] HAL_GAL: gfx open ok result: 14
     0.031s [INFO capture_init        ] Halgal done!
     0.031s [INFO capture_init        ] Init video capture..
     0.549s [INFO capture_init        ] Driver created!
     0.550s [INFO vtcapture_initialize] Starting vtcapture initialization.
     0.557s [INFO vtcapture_initialize] vtCapture_init done! Caller_ID: hyperion-webos_service Client ID: 4083432
     0.557s [INFO vtcapture_initialize] Skipping successfull vtCapture_init to prevent start after first try.
     0.558s [INFO vtcapture_initialize] vtCapture_postprocess done!
     0.558s [INFO vtcapture_initialize] vtCapture_finalize done!
     0.558s [INFO capture_init        ] vtcapture not ready yet!
     0.558s [INFO capture_init        ] Malloc hal+vt vars..
     0.559s [INFO capture_init        ] Malloc hal+vt vars finished.
     0.559s [ DBG capture_main        ] Starting capture..
     0.559s [INFO capture_start       ] Starting capture thread..
     0.559s [ DBG capture_main        ] Capture main init completed. Creating connection thread...
     0.560s [ DBG connection_loop     ] Starting connection loop
     0.561s [INFO connection_loop     ] Connecting hyperion-client..
     0.562s [INFO connection_loop     ] hyperion-client connected!
     3.951s [INFO send_picture        ] Try to init vtcapture again..
     3.951s [INFO vtcapture_initialize] Starting vtcapture initialization.
     3.957s [INFO vtcapture_initialize] vtCapture_init done! Caller_ID: hyperion-webos_service Client ID: 4083432
     3.959s [ ERR vtcapture_initialize] vtCapture_preprocess not ready yet return: 1
     7.344s [INFO send_picture        ] Try to init vtcapture again..
     7.344s [INFO vtcapture_initialize] Starting vtcapture initialization.
     7.348s [INFO vtcapture_initialize] vtCapture_init done! Caller_ID: hyperion-webos_service Client ID: 4083432
     7.351s [ ERR vtcapture_initialize] vtCapture_preprocess not ready yet return: 1
    10.690s [INFO send_picture        ] Try to init vtcapture again..
    10.691s [INFO vtcapture_initialize] Starting vtcapture initialization.
    10.697s [INFO vtcapture_initialize] vtCapture_init done! Caller_ID: hyperion-webos_service Client ID: 4083432
    10.699s [ ERR vtcapture_initialize] vtCapture_preprocess not ready yet return: 1
    14.079s [INFO send_picture        ] Try to init vtcapture again..
    14.079s [INFO vtcapture_initialize] Starting vtcapture initialization.
    14.086s [INFO vtcapture_initialize] vtCapture_init done! Caller_ID: hyperion-webos_service Client ID: 4083432
    14.088s [ ERR vtcapture_initialize] vtCapture_preprocess not ready yet return: 1
    17.429s [INFO send_picture        ] Try to init vtcapture again..
    17.429s [INFO vtcapture_initialize] Starting vtcapture initialization.
    17.437s [INFO vtcapture_initialize] vtCapture_init done! Caller_ID: hyperion-webos_service Client ID: 4083432
    17.438s [ ERR vtcapture_initialize] vtCapture_preprocess not ready yet return: 1
    20.825s [INFO send_picture        ] Try to init vtcapture again..
    20.825s [INFO vtcapture_initialize] Starting vtcapture initialization.
    20.829s [INFO vtcapture_initialize] vtCapture_init done! Caller_ID: hyperion-webos_service Client ID: 4083432
    20.831s [ ERR vtcapture_initialize] vtCapture_preprocess not ready yet return: 1
^C    21.700s [INFO handle_signal       ] SIGINT called! Stopping capture if running..

(process:2614): GLib-CRITICAL **: 12:13:01.472: g_main_loop_quit: assertion 'loop != NULL' failed
    21.706s [INFO connection_loop     ] Ending connection loop
    21.706s [ DBG cleanup             ] Starting cleanup... isRunning: 1
    21.706s [ DBG cleanup             ] Capture is running! Breaking loop and joining thread...
    21.706s [ DBG cleanup             ] Destroying hyperion-client...
    21.706s [ DBG cleanup             ] Terminating capture within library...
    21.706s [INFO capture_terminate   ] Called termination of vtcapture
    21.720s [INFO capture_terminate   ] GUI capture enabled - Also stopping..
    21.720s [INFO capture_stop_hal    ] Stopping HAL capture...
    21.721s [INFO capture_stop_hal    ] HAL_GAL_DestroySurface done. Result: 0
    21.742s [ ERR capture_terminate   ] Finishing with errors: 3130c!
    21.742s [ DBG cleanup             ] Cleanup capture within library...
    21.742s [INFO capture_cleanup     ] Capture cleanup...
    21.742s [INFO capture_cleanup     ] Capture was running, freeing vars...
    21.742s [INFO capture_cleanup     ] Freeing video vars...
    21.742s [INFO capture_cleanup     ] Freeing gui vars...
    21.742s [INFO capture_cleanup     ] gfx close ok result: 0
    21.742s [INFO capture_cleanup     ] Finished capture cleanup..
    21.742s [ DBG cleanup             ] Cleanup finished.
    21.742s [ DBG connection_loop     ] Connection loop exiting
    21.743s [INFO main                ] Finished

When I tried the libvt backend, I saw some corruption/artifacts on the screen, so hit Ctrl+C a few times to make it stop:

root@lg-tv:/media/developer/apps/usr/palm/services/org.webosbrew.piccap.service# ./hyperion-webos --verbose -S -a 192.168.77.202 -p 19400 -f 25 -b libvt
     0.000s [INFO main                ] Starting up...
     0.000s [ DBG parse_options       ] Finished parsing arguments
     0.000s [ DBG capture_main        ] Using these values: Address: 192.168.77.202 | Port: 19400 | Width: 360 | Height: 180 | FPS: 25 | Backend: libvt | NoVideo: 0 | NoGUI: 0 | Autostart: 0
     0.000s [ DBG capture_main        ] Detecting backend...
     0.000s [ DBG import_backend_library] Full library path: /media/developer/apps/usr/palm/services/org.webosbrew.piccap.service/libvt_backend.so
     0.021s [ DBG capture_main        ] Backend preinit...
     0.021s [INFO capture_preinit     ] Preinit called. Copying config..
     0.027s [INFO egl_init            ] [EGL] Display, major = 1, minor = 4
     0.031s [INFO egl_init            ] [EGL] Surface size: 360x180
     0.031s [INFO egl_init            ] [EGL] init complete
     0.031s [ DBG capture_main        ] Initiating capture...
     0.031s [INFO capture_init        ] [VT] VT_CreateVideoWindow
     0.031s [INFO capture_init        ] [VT] window_id=0
     0.031s [INFO capture_init        ] [VT] VT_AcquireVideoWindowResource
     0.046s [INFO capture_init        ] [VT] resource_id=8305008
     0.046s [INFO capture_init        ] [VT] VT_CreateContext
     0.160s [INFO capture_init        ] [VT] context_id=8361240
     0.160s [INFO capture_init        ] [VT] VT_SetTextureResolution
     0.160s [INFO capture_init        ] [VT] VT_SetTextureSourceRegion
     0.160s [INFO capture_init        ] [VT] VT_SetTextureSourceLocation
     0.160s [INFO capture_init        ] [VT] VT_RegisterEventHandler
     0.161s [ DBG capture_main        ] Starting capture..
     0.161s [ DBG capture_main        ] Capture main init completed. Creating connection thread...
     0.161s [ DBG connection_loop     ] Starting connection loop
     0.161s [INFO connection_loop     ] Connecting hyperion-client..
     0.161s [ ERR capture_frame       ] VT_GenerateTexture failed
     0.162s [INFO connection_loop     ] hyperion-client connected!
     0.214s [ ERR capture_frame       ] VT_GenerateTexture failed
     0.274s [ ERR capture_frame       ] VT_GenerateTexture failed
     0.314s [ ERR capture_frame       ] VT_GenerateTexture failed
     0.374s [ ERR capture_frame       ] VT_GenerateTexture failed
     0.434s [ ERR capture_frame       ] VT_GenerateTexture failed
     0.474s [ ERR capture_frame       ] VT_GenerateTexture failed
     0.514s [ ERR capture_frame       ] VT_GenerateTexture failed
     0.574s [ ERR capture_frame       ] VT_GenerateTexture failed
     0.634s [ ERR capture_frame       ] VT_GenerateTexture failed
     0.694s [ ERR capture_frame       ] VT_GenerateTexture failed
     0.734s [ ERR capture_frame       ] VT_GenerateTexture failed
     0.794s [ ERR capture_frame       ] VT_GenerateTexture failed
     0.834s [ ERR capture_frame       ] VT_GenerateTexture failed
     0.874s [ ERR capture_frame       ] VT_GenerateTexture failed
     0.934s [ ERR capture_frame       ] VT_GenerateTexture failed
     0.974s [ ERR capture_frame       ] VT_GenerateTexture failed
     1.014s [ ERR capture_frame       ] VT_GenerateTexture failed
     1.074s [ ERR capture_frame       ] VT_GenerateTexture failed
     1.114s [ ERR capture_frame       ] VT_GenerateTexture failed
     1.174s [ ERR capture_frame       ] VT_GenerateTexture failed
     1.174s [INFO capture_frame       ] [Stat] Send framerate: 0 FPS. gen 73 us, read 0 us, send 0 us
     1.234s [ ERR capture_frame       ] VT_GenerateTexture failed
     1.274s [ ERR capture_frame       ] VT_GenerateTexture failed
     1.334s [ ERR capture_frame       ] VT_GenerateTexture failed
     1.394s [ ERR capture_frame       ] VT_GenerateTexture failed
     1.434s [ ERR capture_frame       ] VT_GenerateTexture failed
     1.494s [ ERR capture_frame       ] VT_GenerateTexture failed
     1.554s [ ERR capture_frame       ] VT_GenerateTexture failed
     1.614s [ ERR capture_frame       ] VT_GenerateTexture failed
     1.674s [ ERR capture_frame       ] VT_GenerateTexture failed
     1.734s [ ERR capture_frame       ] VT_GenerateTexture failed
     1.794s [ ERR capture_frame       ] VT_GenerateTexture failed
     1.854s [ ERR capture_frame       ] VT_GenerateTexture failed
     1.914s [ ERR capture_frame       ] VT_GenerateTexture failed
     1.974s [ ERR capture_frame       ] VT_GenerateTexture failed
     2.034s [ ERR capture_frame       ] VT_GenerateTexture failed
     2.074s [ ERR capture_frame       ] VT_GenerateTexture failed
     2.114s [ ERR capture_frame       ] VT_GenerateTexture failed
     2.174s [ ERR capture_frame       ] VT_GenerateTexture failed
     2.214s [ ERR capture_frame       ] VT_GenerateTexture failed
     2.214s [INFO capture_frame       ] [Stat] Send framerate: 0 FPS. gen 55 us, read 0 us, send 0 us
     2.274s [ ERR capture_frame       ] VT_GenerateTexture failed
     2.314s [ ERR capture_frame       ] VT_GenerateTexture failed
     2.374s [ ERR capture_frame       ] VT_GenerateTexture failed
     2.414s [ ERR capture_frame       ] VT_GenerateTexture failed
     2.474s [ ERR capture_frame       ] VT_GenerateTexture failed
     2.534s [ ERR capture_frame       ] VT_GenerateTexture failed
     2.574s [ ERR capture_frame       ] VT_GenerateTexture failed
     2.614s [ ERR capture_frame       ] VT_GenerateTexture failed
     2.674s [ ERR capture_frame       ] VT_GenerateTexture failed
     2.714s [ ERR capture_frame       ] VT_GenerateTexture failed
     2.774s [ ERR capture_frame       ] VT_GenerateTexture failed
     2.814s [ ERR capture_frame       ] VT_GenerateTexture failed
     2.854s [ ERR capture_frame       ] VT_GenerateTexture failed
     2.914s [ ERR capture_frame       ] VT_GenerateTexture failed
     2.974s [ ERR capture_frame       ] VT_GenerateTexture failed
     3.034s [ ERR capture_frame       ] VT_GenerateTexture failed
     3.094s [ ERR capture_frame       ] VT_GenerateTexture failed
^C     3.150s [INFO handle_signal       ] SIGINT called! Stopping capture if running..
     3.154s [ ERR capture_frame       ] VT_GenerateTexture failed

(process:2748): GLib-CRITICAL **: 12:24:35.922: g_main_loop_quit: assertion 'loop != NULL' failed
     3.214s [ ERR capture_frame       ] VT_GenerateTexture failed
     3.254s [ ERR capture_frame       ] VT_GenerateTexture failed
     3.254s [INFO capture_frame       ] [Stat] Send framerate: 0 FPS. gen 60 us, read 0 us, send 0 us
     3.314s [ ERR capture_frame       ] VT_GenerateTexture failed
     3.354s [ ERR capture_frame       ] VT_GenerateTexture failed
     3.414s [ ERR capture_frame       ] VT_GenerateTexture failed
     3.474s [ ERR capture_frame       ] VT_GenerateTexture failed
     3.514s [ ERR capture_frame       ] VT_GenerateTexture failed
     3.554s [ ERR capture_frame       ] VT_GenerateTexture failed
^C     3.573s [INFO handle_signal       ] SIGINT called! Stopping capture if running..

(process:2748): GLib-CRITICAL **: 12:24:36.345: g_main_loop_quit: assertion 'loop != NULL' failed
     3.594s [ ERR capture_frame       ] VT_GenerateTexture failed
     3.634s [ ERR capture_frame       ] VT_GenerateTexture failed
     3.694s [ ERR capture_frame       ] VT_GenerateTexture failed
^C     3.732s [INFO handle_signal       ] SIGINT called! Stopping capture if running..

(process:2748): GLib-CRITICAL **: 12:24:36.504: g_main_loop_quit: assertion 'loop != NULL' failed
     3.754s [ ERR capture_frame       ] VT_GenerateTexture failed
     3.814s [ ERR capture_frame       ] VT_GenerateTexture failed
     3.874s [ ERR capture_frame       ] VT_GenerateTexture failed
^C     3.926s [INFO handle_signal       ] SIGINT called! Stopping capture if running..

(process:2748): GLib-CRITICAL **: 12:24:36.698: g_main_loop_quit: assertion 'loop != NULL' failed
     3.934s [ ERR capture_frame       ] VT_GenerateTexture failed
     3.994s [ ERR capture_frame       ] VT_GenerateTexture failed
     4.054s [ ERR capture_frame       ] VT_GenerateTexture failed
^C     4.091s [INFO handle_signal       ] SIGINT called! Stopping capture if running..

(process:2748): GLib-CRITICAL **: 12:24:36.863: g_main_loop_quit: assertion 'loop != NULL' failed
     4.114s [ ERR capture_frame       ] VT_GenerateTexture failed
     4.174s [ ERR capture_frame       ] VT_GenerateTexture failed
     4.214s [ ERR capture_frame       ] VT_GenerateTexture failed
^C     4.256s [INFO handle_signal       ] SIGINT called! Stopping capture if running..

(process:2748): GLib-CRITICAL **: 12:24:37.028: g_main_loop_quit: assertion 'loop != NULL' failed
     4.274s [ ERR capture_frame       ] VT_GenerateTexture failed
     4.274s [INFO capture_frame       ] [Stat] Send framerate: 0 FPS. gen 54 us, read 0 us, send 0 us
     4.334s [ ERR capture_frame       ] VT_GenerateTexture failed
     4.394s [ ERR capture_frame       ] VT_GenerateTexture failed
^C     4.420s [INFO handle_signal       ] SIGINT called! Stopping capture if running..

(process:2748): GLib-CRITICAL **: 12:24:37.192: g_main_loop_quit: assertion 'loop != NULL' failed
     4.434s [ ERR capture_frame       ] VT_GenerateTexture failed
     4.494s [ ERR capture_frame       ] VT_GenerateTexture failed
     4.534s [ ERR capture_frame       ] VT_GenerateTexture failed
     4.594s [ ERR capture_frame       ] VT_GenerateTexture failed
^C     4.594s [INFO handle_signal       ] SIGINT called! Stopping capture if running..

(process:2748): GLib-CRITICAL **: 12:24:37.367: g_main_loop_quit: assertion 'loop != NULL' failed
     4.634s [ ERR capture_frame       ] VT_GenerateTexture failed
     4.694s [ ERR capture_frame       ] VT_GenerateTexture failed
     4.734s [ ERR capture_frame       ] VT_GenerateTexture failed
^C     4.761s [INFO handle_signal       ] SIGINT called! Stopping capture if running..

(process:2748): GLib-CRITICAL **: 12:24:37.533: g_main_loop_quit: assertion 'loop != NULL' failed
     4.794s [ ERR capture_frame       ] VT_GenerateTexture failed
     4.854s [ ERR capture_frame       ] VT_GenerateTexture failed
     4.914s [ ERR capture_frame       ] VT_GenerateTexture failed

     4.974s [ ERR capture_frame       ] VT_GenerateTexture failed
     5.034s [ ERR capture_frame       ] VT_GenerateTexture failed
     5.094s [ ERR capture_frame       ] VT_GenerateTexture failed

     5.154s [ ERR capture_frame       ] VT_GenerateTexture failed
     5.159s [ ERR connection_loop     ] Error! Connection timeout.
     5.159s [INFO connection_loop     ] Ending connection loop
     5.159s [ DBG cleanup             ] Starting cleanup... isRunning: 1
     5.159s [ DBG cleanup             ] Capture is running! Breaking loop and joining thread...
     5.159s [ DBG cleanup             ] Destroying hyperion-client...
     5.159s [ DBG cleanup             ] Terminating capture within library...
     5.159s [INFO capture_terminate   ] [VT] VT_UnRegisterEventHandler
     5.159s [INFO capture_terminate   ] [VT] VT_DeleteContext
     5.177s [INFO capture_terminate   ] [VT] VT_ReleaseVideoWindowResource
     5.178s [ DBG cleanup             ] Cleanup capture within library...
     5.179s [ DBG cleanup             ] Cleanup finished.
     5.179s [ DBG connection_loop     ] Connection loop exiting
     5.180s [INFO main                ] Finished

OK I got libvtcapture to work by specifically setting the capture width and height, which happens to be 480x270 in my case (a decimation factor of 8 for 2160p). Thank you for the help and this project!

I notice that libvtcapture is somewhat slow compared to the other two backends, according to the README. Is there any hope that those faster backends will work on 6.x in the future?

I have 'top' measuring about 65% CPU usage for the hyperion grabber, is this normal, or something I should be concerned about?

EDIT: There is also some noticeable latency, especially when compared to for example the grabber running on my Windows machine, would this be improved with a higher FPS capture? Both the TV and the hyperion server are connected to the network with ethernet.

Try replacing hyperion-webos binary (and supporting binaries) in the path I mentioned with ones from Github Actions build for #40 (latency/network usage fixed up) or #43 (general refactor, including framerate limit and various other patches...)

I tried #43 and it did not noticeably change the amount of latency (although it seems to produce dumps of the buffer every few seconds, maybe that has some impact?). The latency I'm talking about is not a huge amount, maybe half a second or so if I had to guess. But I am coming from a Windows grabber operating over the same network, which has no noticeable lag at all.

Unfortunately I could not try #40 as the build artifact has expired and could not be downloaded.

Can you please checkout latest releases? It should work with them. If not feel free to reopen this issue.