Files
RedBear-OS/local/docs/HARDWARE-VALIDATION-MATRIX.md
T
vasilito 7cfef2633e fix: m4 recipe - fix_types.h for cross-compiler header ordering
The cross-compiler's GCC built-in stddef.h is blocked by relibc's
_STDDEF_H guard, causing size_t/off_t/ptrdiff_t to be undefined.
Add fix_types.h with guarded typedefs and force-include via CPPFLAGS.

Also: comprehensive upstream relibc comparison for systematic import.

Remaining: redoxer env overrides CC, injecting broken stdint typedefs
from its toolchain. This needs a redoxer-level fix to clean the
injected flags before passing to build commands.
2026-06-01 18:53:05 +03:00

130 lines
4.4 KiB
Markdown

# Red Bear OS — Hardware Validation Matrix
**Version**: 1.0 (2026-05-20)
**Target**: 4 hardware classes minimum
**Evidence model**: Source-visible → Build-visible → QEMU-validated → Runtime-validated → Hardware-validated
---
## 1. Validation Targets
| Class | CPU | Platform | GPU | Priority |
|-------|-----|----------|-----|----------|
| A1 | AMD Desktop | Ryzen 5000/7000 | Discrete AMD/Intel | P0 |
| A2 | Intel Desktop | Core 12th-14th Gen | Integrated Intel | P0 |
| A3 | AMD Laptop | Ryzen Mobile 5000/7000 | Integrated AMD | P1 |
| A4 | Intel Laptop | Core Mobile 12th-14th Gen | Integrated Intel | P1 |
---
## 2. Per-Target Checklist
### Boot & Runtime
| Check | Validation Method | Pass Criteria |
|-------|------------------|---------------|
| Boots to login prompt | Bare metal boot | Login prompt visible within 60s |
| All CPU cores online | `dmesg` / `sys:cpu` scheme | `SMP: N CPUs online` matches physical core count |
| USB keyboard at boot | Physical test | Keyboard works in bootloader and login |
| USB storage mounts | `mount` / `df` | Mass storage device appears and mounts |
| Wired network DHCP | `ifconfig` / `dhcpd` logs | Obtains IPv4 lease within 10s |
| Temperature readable | `redbear-info` / `coretemp` scheme | Per-core temps displayed |
| Clean shutdown | `shutdown -h now` | Powers off without panic |
| Clean reboot | `reboot` | Restarts successfully |
### Subsystem Validation
| Subsystem | Check | Evidence |
|-----------|-------|----------|
| ACPI | Thermal zones readable | `/scheme/acpi/thermal/` has entries |
| ACPI | Fan status readable | `/scheme/acpi/fan/` has entries (if fans present) |
| C-states | Idle power reduction | Temperature drops 5-10C at idle vs load |
| MSI-X | Network IRQ type | `dmesg` shows "MSI-X interrupt on CPU N" |
| IOMMU | AMD-Vi initialized | `iommu` daemon logs "AMD-Vi unit N initialized" |
| Logging | Per-service logs | `/var/log/*.log` files exist and rotate |
---
## 3. Negative-Result Capture
When a target fails, record:
```
Target: <class>
Component: <subsystem>
Failure: <description>
Evidence: <log excerpt or dmesg>
Bisect: <last known good commit / config>
Workaround: <if any>
```
---
## 4. Current Status
| Target | Status | Last Tested | Blocker |
|--------|--------|-------------|---------|
| A1 | Not tested | — | No hardware |
| A2 | **P0 PRIORITY** | — | Intel iGPU most testable path. See `local/scripts/test-intel-gpu.sh` for bounded GPU validation harness. Driver compiled and wired (7,800+ lines Rust across 37 files). Needs hardware for first validation. |
| A3 | Not tested | — | No hardware |
| A4 | Not tested | — | No hardware |
**QEMU baseline**: All checklist items pass in QEMU except temperature (no MSR emulation), IOMMU (QEMU proof only), and USB storage (validated with host-seeded patterns).
---
## 5. Test Procedures
### Quick Validation (15 minutes)
```bash
# On target hardware, boot from live ISO
make live CONFIG_NAME=redbear-full
# Write ISO to USB, boot
# Check CPU cores
cat /scheme/sys/cpu
# Check temperatures
cat /scheme/coretemp/cpu0/temperature
# Check ACPI thermal zones
ls /scheme/acpi/thermal/
# Check network
ping 8.8.8.8
# Check logs
ls /var/log/
```
### Full Validation (1 hour)
```bash
# Run all quick checks
# Test USB hotplug (keyboard, storage)
# Test shutdown/reboot cycle
# Capture dmesg to external storage
```
### Intel GPU Validation (A2 target)
```bash
# S0-S2: PCI + MMIO + connector proof (safe, no modeset)
./local/scripts/test-intel-gpu.sh
# S0-S5: Full display pipeline proof with 1080p modeset
./local/scripts/test-intel-gpu.sh --mode 1920x1080@60
# In-guest runtime harness (requires redox-drm daemon running):
redbear-drm-display-check --vendor intel --card /scheme/drm/card0
redbear-drm-display-check --vendor intel --card /scheme/drm/card0 --modeset 1:1920x1080@60
redbear-drm-display-check --vendor intel --card /scheme/drm/card0 --vblank
```
**Mesa Iris (Intel HW 3D) — NOT YET CROSS-COMPILED**: The Iris Gallium driver for Intel Gen8+ hardware rendering requires Mesa cross-compilation for the Redox target. This is a separate effort (estimated 2-4 weeks) involving LLVM toolchain integration, DRM header availability, and iris driver porting. See `local/docs/INTEL-DRIVER-MODERNIZATION-PLAN.md` Phase 5 for the deferred 3D render path.
---
*This matrix is updated as validation evidence is collected. See `COMPREHENSIVE-SYSTEM-ASSESSMENT-AND-IMPROVEMENT-PLAN.md` for the full improvement plan.*