Files
kvm/internal/native
Adam Shiervani e735f7d228 fix(video): align VENC virtual width/height to 16 bytes for non-standard resolutions (#699) (#1347)
The RV1106 hardware H.264 encoder (VENC) requires virtual width and height
to be aligned to 16-pixel boundaries. Resolutions like 1366x768 (where 1366
is not divisible by 16) caused the encoder to fail silently, producing no
video output and triggering an infinite retry loop.

Changed RK_ALIGN_2 to RK_ALIGN_16 for u32VirWidth and u32VirHeight in both
the VENC attribute initialization and frame submission paths.
2026-03-27 16:51:29 +01:00
..
2025-09-29 14:09:30 +02:00
2025-09-29 14:09:30 +02:00
2025-11-20 16:07:50 +01:00
2025-11-20 16:07:50 +01:00
2025-09-29 14:09:30 +02:00
2026-01-28 09:19:56 +01:00
2026-01-28 09:19:56 +01:00

jetkvm-native

This component (internal/native/) acts as a bridge between Golang and native (C/C++) code. It manages spawning and communicating with a native process via sockets (gRPC and Unix stream).

For performance-critical operations such as video frame, a dedicated Unix socket should be used to avoid the overhead of gRPC and ensure low-latency communication.

Debugging

To enable debug mode, create a file called .native-debug-mode in the /userdata/jetkvm directory.

touch /userdata/jetkvm/.native-debug-mode

This will cause the native process to listen for SIGHUP signal and crash the process.

pgrep native | xargs kill -SIGHUP