@@ -384,24 +384,25 @@ config_oec_turbo_files() {
384384 echo " 信息:配置 VPU 硬件编码支持..."
385385 run_in_chroot " sed -i 's/--h264-hwenc=disabled/--h264-hwenc=rkmpp/g' /etc/kvmd/override.yaml"
386386
387+ echo " 信息:配置 udev 规则以授权 kvmd 组访问硬件设备..."
387388 run_in_chroot " cat > /etc/udev/rules.d/99-kvmd-hw-access.rules <<'EOF'
388- SUBSYSTEM==" dma_heap" , KERNEL==" system-uncached" , GROUP=" render" , MODE=" 0660"
389- KERNEL==" mpp_service" , GROUP=" render" , MODE=" 0660"
390- EOF"
389+ # Generic hardware access for kvmd
390+ # Safe on all platforms — rules only apply if device exists
391391
392+ # Rockchip MPP (rkmpp)
393+ KERNEL==\" mpp_service\" , GROUP=\" kvmd\" , MODE=\" 0660\"
392394
393- # 配置 rc.local 自启脚本,添加设备权限设置
394- echo " 信息:配置 rc.local 自启脚本..."
395- run_in_chroot " cat > /etc/rc.local << 'EOF'
396- #!/bin/bash
397- usermod -aG render,video kvmd
398- exit 0
399- EOF"
400- run_in_chroot " chmod +x /etc/rc.local"
395+ # DMA-Heap (used by modern MPP)
396+ SUBSYSTEM==\" dma_heap\" , KERNEL==\" system\" , GROUP=\" kvmd\" , MODE=\" 0660\"
397+ SUBSYSTEM==\" dma_heap\" , KERNEL==\" system-uncached\" , GROUP=\" kvmd\" , MODE=\" 0660\"
398+ SUBSYSTEM==\" dma_heap\" , KERNEL==\" reserved\" , GROUP=\" kvmd\" , MODE=\" 0660\"
401399
402- # 确保 rc-local.service 被启用,以便 kvmd 服务可以依赖它
403- echo " 信息:启用 rc-local.service 服务..."
404- run_in_chroot " systemctl enable rc-local.service"
400+ # Optional legacy Rockchip devices
401+ KERNEL==\" rkvdec\" , GROUP=\" kvmd\" , MODE=\" 0660\"
402+ KERNEL==\" rkvenc\" , GROUP=\" kvmd\" , MODE=\" 0660\"
403+ KERNEL==\" rga\" , GROUP=\" kvmd\" , MODE=\" 0660\"
404+
405+ EOF"
405406
406407 # 替换 DTB 文件
407408 replace_oec_turbo_dtb
0 commit comments