Download the files below directly. The downloads guide provides the public test key and configuration; pair the device code in your own account for testing.
Linux SDK · AMD64
preview / linux 0.3.3
C library and header, runnable C/Go examples, source and test configuration for Intel/AMD 64-bit.
This walkthrough runs prebuilt examples on Ubuntu 24.04. No C/Go compiler or make is needed for the first trial. You need a terminal, Python 3 and internet access.
Open a terminal on Linux and check the Ubuntu version and CPU below. Download AMD64 for x86_64 or ARM64 for aarch64.
Extract the ZIP into a new folder. In the file manager, open the folder containing configure-linux-test.py and bin, then use Open in Terminal from its context menu. Run the commands there.
Run as your normal user; do not prefix example commands with sudo. Also open StreamZet Devices on a PC using your own account.
Run each line below from the extracted folder. The helper writes the public test key and a private state path under your home into config.json. No manual key or path editing is needed.
After Created …/config.json, output shows running=true and identity. Once registration finishes, identity.device_code contains an eight-character code to register on the PC. Keep this window open: it shows the running example rather than accepting shell commands.
sh
{"running":true,"error":"","identity":{"device_code":""}}
# After registration, read the device_code from your own output.
On the PC, register the printed code from Devices, then start that Linux device’s session in control mode and open Terminal. View-only mode does not allow terminal input.
Run the printf and whoami commands below in the web terminal. Verify the normal host user and round-trip English/Korean output. Do not use production-changing commands or sensitive files.
Resize the browser and check that stty size changes. Close the shell with exit and reopen it with New terminal.
printf 'SDK_%s_OK\n' LINUX
printf '한글 UTF-8 확인\n'
whoami
stty size
Actual SDK_LINUX_OK output from printf in the PC web terminal, connected to the public ARM64 Go example in an Ubuntu container. Only the terminal area is captured.
Press Enter in the C console and confirm running=false and clean exit. The web End connection button ends that peer session; it is separate from starting/stopping the SDK worker.
Run the Go example with the same config.json/state_dir. Confirm the same device_id/device_code, then reconnect from the dashboard.
Press Enter to stop the Go example. For later runs, reuse config.json; you do not need to run the configuration helper again.
sh
./bin/go-example config.json
# Press Enter to stop.
After installing the capture helper and graphical runtime, set config.mode=auto and an absolute capture_helper path. Run as the logged-in desktop user. A headless machine is terminal-only; a black video is not evidence of desktop support.
X11: open a test editor and verify changing video, pointer, click, drag, scroll and text. Do not force access to an unauthorized display.
Wayland: approve the target screen and remote interaction in the system portal. Test uppercase, symbols and Korean. Text transport may use the device clipboard.
Test Wayland denial separately: it must grant no screen/input. A terminal allowed by host policy may continue, and the host must let the user stop the SDK to end terminal availability too.
Actual GNOME portal. Enable Allow Remote Interaction before Share when remote input is needed.
Record SDK build/ZIP SHA-256, distro/kernel/CPU/glibc, X11/Wayland session, host user, network path, expected/actual result and reproduction steps. End all viewers and confirm SDK Stop/Wait or C Stop completion. Do not attach private enrollment keys or identity.json externally.
Use the integration guide for tool setup, configuration and lifecycle when building for another environment or embedding into a host. These paths are relative to the SDK source folder and differ from the prebuilt bin paths above.
sh
cd source
make sdk
./dist/sdk/native/embedded-example ../config.json
# Press Enter, then:
./dist/sdk/native/go-example ../config.json