kvm/internal/native
Siyuan 5174eb94b8 fix based on copilot suggestions 2025-11-21 12:18:14 +00:00
..
cgo fix based on copilot suggestions 2025-11-21 12:18:14 +00:00
eez feat: refactoring network stack (#878) 2025-10-15 18:32:58 +02:00
proto feat: move native to a separate process, again (#964) 2025-11-19 16:02:37 +01:00
README.md feat: move native to a separate process, again (#964) 2025-11-19 16:02:37 +01:00
cgo_linux.go fix(cgo): update process title when video state changes 2025-11-21 11:50:40 +00:00
cgo_notlinux.go apply changes based on Copilot suggestions 2025-11-21 10:18:41 +00:00
chan.go fix(cgo): update process title when video state changes 2025-11-21 11:50:40 +00:00
ctrl.h feat: jetkvm native in cGo 2025-09-29 14:09:30 +02:00
display.go feat: jetkvm native in cGo 2025-09-29 14:09:30 +02:00
empty.go feat: move native to a separate process, again (#964) 2025-11-19 16:02:37 +01:00
grpc_client.go feat: handle grpc events (#986) 2025-11-20 16:07:50 +01:00
grpc_clientmethods.go feat: move native to a separate process, again (#964) 2025-11-19 16:02:37 +01:00
grpc_server.go feat: handle grpc events (#986) 2025-11-20 16:07:50 +01:00
grpc_servermethods.go fix(cgo): update process title when video state changes 2025-11-21 11:50:40 +00:00
interface.go feat: move native to a separate process, again (#964) 2025-11-19 16:02:37 +01:00
log.go feat: jetkvm native in cGo 2025-09-29 14:09:30 +02:00
native.go refactor: rewrite waitForVideoStreamingStatus to use ticker instead of time.Sleep 2025-11-21 10:34:11 +00:00
proxy.go feat: add failsafe reason for video max restart attempts reached (#991) 2025-11-20 17:32:54 +01:00
server.go fix: ineffectual assignment to status (ineffassign) 2025-11-21 12:04:21 +00:00
single.go feat: jetkvm native in cGo 2025-09-29 14:09:30 +02:00
video.go fix based on copilot suggestions 2025-11-21 12:18:14 +00:00

README.md

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