Files
kvm/internal/native
Adam Shiervani 71db3b91ab fix: add settling delay when waking HDMI capture chip from sleep (#519) (#1356)
* fix: add settling delay in VideoStart() when waking from sleep mode (#519)

* test: improve e2e test reliability and reduce flakiness

- Replace fire-sleep-assert with polling in wheel scroll tests
- Add retry loops for macro test and RPC setup after USB re-enumeration
- Add waitForRpcReady helper to handle session dialogs and stale pages
- Remove flaky paste modal UI test (redundant with keyboard scan tests)
- Preserve SSH keys and dev mode across config resets in setup/teardown
- Add saveSSHDevState/restoreSSHDevState helpers

* fix: trim sysfs whitespace in getSleepMode() so sleep detection works

Linux sysfs attributes include a trailing newline, so comparing raw
content with "1" always returned false. Use strings.TrimSpace to match
the convention used elsewhere in the codebase.
2026-03-27 15:30: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