Advance KDE, Qt, and Wayland recipe sources

This commit is contained in:
2026-04-20 18:37:35 +01:00
parent f3e6b09811
commit 4275949ede
36 changed files with 281 additions and 443 deletions
+25 -15
View File
@@ -55,6 +55,13 @@ run_guest_checks() {
fi
}
supported_drm_gpu_present() {
if ! command -v lspci >/dev/null 2>&1; then
return 1
fi
lspci 2>/dev/null | grep -E '(VGA compatible controller|3D controller)' | grep -E '(8086:|1002:)' >/dev/null 2>&1
}
echo "--- relibc POSIX API surface ---"
require_path /usr/include/sys/signalfd.h "sys/signalfd.h header present"
require_path /usr/include/sys/timerfd.h "sys/timerfd.h header present"
@@ -107,9 +114,11 @@ run_guest_checks() {
fi
if [ -e /scheme/drm ]; then
echo " PASS /scheme/drm exists"
else
echo " FAIL /scheme/drm does not exist"
elif supported_drm_gpu_present; then
echo " FAIL /scheme/drm does not exist despite supported AMD/Intel GPU presence"
failures=$((failures + 1))
else
echo " NOTE /scheme/drm missing, but no supported AMD/Intel GPU detected for redox-drm in this runtime"
fi
if which redbear-drm-display-check >/dev/null 2>&1; then
echo " NOTE redbear-drm-display-check available (run manually for bounded display validation)"
@@ -244,13 +253,8 @@ expect {
"__UDEV_SCH_OK__" { }
"__UDEV_SCH_FAIL__" { puts "FAIL: /scheme/udev missing"; exit 1 }
}
send "test -e /scheme/firmware && echo __FW_SCH_OK__ || echo __FW_SCH_FAIL__\r"
expect {
"__FW_SCH_OK__" { }
"__FW_SCH_FAIL__" { puts "FAIL: /scheme/firmware missing"; exit 1 }
}
send "test -e /lib/firmware && echo __FW_DIR_OK__ || echo __FW_DIR_FAIL__\r"
expect {
send "test -e /lib/firmware && echo __FW_DIR_OK__ || echo __FW_DIR_FAIL__\r"
expect {
"__FW_DIR_OK__" { }
"__FW_DIR_FAIL__" { puts "FAIL: /lib/firmware missing"; exit 1 }
}
@@ -259,14 +263,20 @@ expect {
"__DRM_OK__" { }
"__DRM_FAIL__" { puts "FAIL: redox-drm missing"; exit 1 }
}
send "test -e /scheme/drm && echo __DRM_SCH_OK__ || echo __DRM_SCH_FAIL__\r"
expect {
send "test -e /scheme/drm && echo __DRM_SCH_OK__ || echo __DRM_SCH_FAIL__\r"
expect {
"__DRM_SCH_OK__" { }
"__DRM_SCH_FAIL__" { puts "FAIL: /scheme/drm missing"; exit 1 }
"__DRM_SCH_FAIL__" {
send "if lspci 2>/dev/null | grep -E '(VGA compatible controller|3D controller)' | grep -E '(8086:|1002:)' >/dev/null 2>&1; then echo __DRM_GPU_EXPECTED__; else echo __DRM_GPU_SKIP__; fi\r"
expect {
"__DRM_GPU_EXPECTED__" { puts "FAIL: /scheme/drm missing with supported AMD/Intel GPU present"; exit 1 }
"__DRM_GPU_SKIP__" { }
}
}
}
send "redbear-info --json\r"
expect "\"virtio_net_present\": true"
expect "scheme firmware is registered"
send "redbear-info --json\r"
expect "\"virtio_net_present\": true"
expect "scheme firmware is registered"
expect "scheme udev is registered"
send "echo __PHASE1_DONE__\r"
expect "__PHASE1_DONE__"
+14 -8
View File
@@ -109,14 +109,20 @@ if [[ "$check_mode" -eq 1 ]]; then
expect <<EOF
log_user 1
set timeout 240
spawn qemu-system-x86_64 -name {Red Bear OS x86_64} -device qemu-xhci -smp 4 -m 2048 -bios $firmware -chardev stdio,id=debug,signal=off,mux=on -serial chardev:debug -mon chardev=debug -machine q35 -device ich9-intel-hda -device hda-output -device virtio-net,netdev=net0 -netdev user,id=net0 -object filter-dump,id=f1,netdev=net0,file=build/$arch/redbear-full/network.pcap -vga none -device virtio-gpu -drive file=$image,format=raw,if=none,id=drv0 -device nvme,drive=drv0,serial=NVME_SERIAL -drive file=$extra,format=raw,if=none,id=drv1 -device nvme,drive=drv1,serial=NVME_EXTRA -enable-kvm -cpu host $QEMUFLAGS
expect "login:"
send "root\r"
expect "assword:"
send "password\r"
expect "Type 'help' for available commands."
send "redbear-phase4-wayland-check\r"
expect "Red Bear OS Phase 4 Wayland Runtime Check"
spawn qemu-system-x86_64 -name {Red Bear OS x86_64} -device qemu-xhci -smp 4 -m 2048 -bios $firmware -chardev stdio,id=debug,signal=off,mux=on -serial chardev:debug -mon chardev=debug -machine q35 -device ich9-intel-hda -device hda-output -device virtio-net,netdev=net0 -netdev user,id=net0 -object filter-dump,id=f1,netdev=net0,file=build/$arch/redbear-full/network.pcap -nographic -vga none -device virtio-gpu -drive file=$image,format=raw,if=none,id=drv0 -device nvme,drive=drv0,serial=NVME_SERIAL -drive file=$extra,format=raw,if=none,id=drv1 -device nvme,drive=drv1,serial=NVME_EXTRA -enable-kvm -cpu host $QEMUFLAGS
expect "login:"
send "root\r"
expect "assword:"
send "password\r"
expect "Type 'help' for available commands."
send "rm -f /home/root/.wayland-session.started /home/root/.qt6-wayland-smoke.ok /home/root/.qt6-wayland-smoke.err /home/root/.qt6-plugin-minimal.ok /home/root/.qt6-plugin-minimal.err /home/root/.qt6-plugin-minimal.log /home/root/.qt6-bootstrap-minimal.ok /home/root/.qt6-bootstrap-minimal.err /home/root/.qt6-bootstrap-minimal.log /home/root/.qt6-wayland-smoke-minimal.ok /home/root/.qt6-wayland-smoke-offscreen.ok /home/root/.qt6-wayland-smoke-wayland.ok /home/root/.qt6-wayland-smoke.log /home/root/.qt6-wayland-smoke-minimal.log /home/root/.qt6-wayland-smoke-offscreen.log /home/root/.qt6-wayland-smoke-wayland.log /tmp/redbear-phase4-session.log\r"
expect "#"
send "redbear-validation-session >/tmp/redbear-phase4-session.log ^>/tmp/redbear-phase4-session.log &\r"
expect "#"
send "sleep 10\r"
expect "#"
send "redbear-phase4-wayland-check\r"
expect "Red Bear OS Phase 4 Wayland Runtime Check"
expect "redbear-validation-session"
expect "wayland-session"
expect "/home/root/.qt6-bootstrap-minimal.ok"
+1 -1
View File
@@ -104,7 +104,7 @@ if [[ "$check_mode" -eq 1 ]]; then
expect <<EOF
log_user 1
set timeout 240
spawn qemu-system-x86_64 -name {Red Bear OS x86_64} -device qemu-xhci -smp 4 -m 2048 -bios $firmware -chardev stdio,id=debug,signal=off,mux=on -serial chardev:debug -mon chardev=debug -machine q35 -device ich9-intel-hda -device hda-output -device virtio-net,netdev=net0 -netdev user,id=net0 -object filter-dump,id=f1,netdev=net0,file=build/$arch/redbear-full/network.pcap -vga none -device virtio-gpu -drive file=$image,format=raw,if=none,id=drv0 -device nvme,drive=drv0,serial=NVME_SERIAL -drive file=$extra,format=raw,if=none,id=drv1 -device nvme,drive=drv1,serial=NVME_EXTRA -enable-kvm -cpu host $extra_qemu_args
spawn qemu-system-x86_64 -name {Red Bear OS x86_64} -device qemu-xhci -smp 4 -m 2048 -bios $firmware -chardev stdio,id=debug,signal=off,mux=on -serial chardev:debug -mon chardev=debug -machine q35 -device ich9-intel-hda -device hda-output -device virtio-net,netdev=net0 -netdev user,id=net0 -object filter-dump,id=f1,netdev=net0,file=build/$arch/redbear-full/network.pcap -nographic -vga none -device virtio-gpu -drive file=$image,format=raw,if=none,id=drv0 -device nvme,drive=drv0,serial=NVME_SERIAL -drive file=$extra,format=raw,if=none,id=drv1 -device nvme,drive=drv1,serial=NVME_EXTRA -enable-kvm -cpu host $extra_qemu_args
expect "login:"
send "root\r"
expect "assword:"