Initial RK1 media-center image project

This commit is contained in:
2026-08-17 18:42:29 +00:00
commit 5fe41e79e9
81 changed files with 5725 additions and 0 deletions
+105
View File
@@ -0,0 +1,105 @@
# Physical acceptance test
The image has passed structural checks. Run this checklist on the RK1 attached
to the actual carrier and TV before treating it as the permanent media center.
## 1. Provisioning and services
SSH over Ethernet and wait for provisioning to finish:
```bash
ssh [email protected]
sudo systemctl is-active rk1-media-identity.service
sudo systemctl is-active rk1-media-provision.service
sudo systemctl is-active kodi-rk.service
sudo journalctl -u rk1-media-provision.service -u kodi-rk.service -b --no-pager
```
All three should be active/successful and Kodi should be visible. The first
boot may remain on a console while packages install.
## 2. One-command hardware qualification
```bash
sudo rk1-media-selftest
sudo rk1-media-selftest --strict --json | tee /tmp/rk1-selftest.json
```
The normal run performs short Vulkan, hardware encode, and NPU workloads when
applicable. Strict mode treats a missing/disconnected advertised device as a
failure. Confirm Panthor, an HDMI connector with EDID/modes, RKMPP decoder and
encoder bindings, RGA2/RGA3, RKNPU, HDMI ALSA, Ethernet, eMMC, and NVMe.
Run the NPU directly across all three cores:
```bash
rknn-inference-test --core all --iterations 10
```
## 3. 4K media acceptance
Use media you legally possess, with filenames containing `h264`, `hevc`,
`vp9`, and `av1` so the self-test can select them:
```bash
sudo rk1-media-selftest --media-dir /path/to/test-clips
ffmpeg-rk -hide_banner -decoders | grep rkmpp
ffmpeg-rk -hide_banner -encoders | grep rkmpp
ffmpeg-rk -hide_banner -filters | grep rkrga
```
In Kodi, test at least 20 minutes each of 4K60 SDR H.264/HEVC, VP9, and AV1,
plus seeking, pause/resume, subtitles, and HDMI PCM audio. Watch CPU usage and
temperature; hardware-decoded playback should not pin all CPU cores. Also test
CEC with `cec-client -l` and the intended remote/IR receiver.
HDR, lossless audio passthrough, HDCP/streaming-service DRM, and unusual
10/12-bit chroma formats are separate acceptance items; this build does not
claim them merely because 4K60 SDR succeeds.
## 4. Blank-HDMI decision tree
From SSH:
```bash
for connector in /sys/class/drm/card*-HDMI-A-*; do
printf '%s: ' "$connector"
cat "$connector/status"
cat "$connector/modes"
done
sudo journalctl -b -k | grep -Ei 'drm|hdmi|edid|vop|hdptx|panthor'
sudo journalctl -b -u kodi-rk.service --no-pager
```
- No HDMI connector: DTB/kernel probe issue; collect diagnostics.
- Connector says `disconnected`: focus on carrier HPD/DDC, cable, TV input, and
the early-RK1 hardware note below—not Kodi.
- `connected` but no modes: EDID/DDC or sink/cable issue.
- Modes exist but Kodi loops: inspect DRM permissions/master and Kodi logs at
`/var/lib/kodi/.kodi/temp/kodi.log`.
- Kodi runs but the screen is black: stop Kodi and test direct KMS/Vulkan, then
collect a bundle.
```bash
sudo systemctl stop kodi-rk.service
sudo kmscube
sudo systemctl start kodi-rk.service
sudo rk1-media-diagnostics
```
The diagnostic command writes locally and does not upload anything.
## Carrier/module caveat
The supplied Amazon ASIN is marketed as a KLAYERS Jetson **Orin** Nano/NX HDMI
base board, rather than NVIDIAs older Jetson Nano carrier. Its advertised
layout matches the relevant Jetson-compatible RK1 HDMI lane/control pins, but a
public KLAYERS schematic was not available, so physical validation is still
required.
Turing documents that modules from its initial pool of 100 RK1s can fail HDMI
with some Jetson-compatible carriers and may need two solder bridges. Do not
guess the bridge locations: verify the module batch and obtain Turings exact
hardware guidance before modifying it:
https://docs.turingpi.com/docs/turing-rk1-flashing-os