Skip to content

tinyland-inc/linux-xr

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,427,949 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

linux-xr

XR-optimized kernel builds for Bigscreen Beyond 2e on AMD GPUs (Rocky Linux 10).

Builds are run on tinyland-inc/GloriousFlywheel infrastructure, including machines running kernel built from this tree.

Fork of torvalds/linux with CI-built RPMs carrying VR/XR patches.

Current State

As of 2026-04-25:

Area Status Notes
Release artifacts Proven Latest public release ships generic and RT RPMs.
honey rollout Proven (generic) honey is persistently defaulted to the generic XR kernel lane.
honey RT boot Reboot-valid, gated One-time RT boot and /sys/kernel/realtime=1 verification succeeded; regular use still needs latency and XR smoke.
yoga rollout Proven one-time generic boot Generic XR RPM install and one-time boot succeeded; stock Rocky remains the persistent fallback.
Install surface Active GitHub Pages and stable installer paths live in site/.
Patch carry set Localized Kernel-owned carry patches live under xr/patches/.
Local checkout requirement Case-sensitive Linux source checkouts must be on Linux or a case-sensitive filesystem; macOS case-insensitive checkouts corrupt case-distinct kernel paths.

Public Surfaces

  • Releases: https://github.com/tinyland-inc/linux-xr/releases
  • Stable install docs: https://tinyland-inc.github.io/linux-xr/
  • Generic installer: https://tinyland-inc.github.io/linux-xr/install/rocky10-generic.sh
  • RT installer: https://tinyland-inc.github.io/linux-xr/install/rocky10-rt.sh
  • Carry patches: xr/patches

Host Authority Boundary

This repo owns the kernel carry, RPM build, release, installer, and upstream watch surfaces. It does not own live workstation evidence for honey.

For the Dell Precision 7810 host lane, keep BIOS, SMI, C-state, NUMA, tuned, rollback, and RT acceptance records in the companion Jesssullivan/Dell-7810 repo. linux-xr may state which kernel features the RPMs ship, but Dell-owned captures decide whether honey is prepared for RT, BCI, or downstream XR validation.

Nix / FlakeHub

This repo now carries a thin flake surface in flake.nix for developer tooling and cacheable checks. It is intentionally not the canonical kernel release build.

  • nix develop provides a shell with the core patch/report tooling.
  • nix flake check validates the patch series and shell-script syntax.
  • nix run .#cadence-report -- --upstream-ref <ref> --stable-ref <ref> runs the weekly cadence report helper from a repo checkout.
  • .github/workflows/determinate-ci.yml pushes those lightweight flake outputs through Determinate CI / FlakeHub Cache.

The real RPM release lane remains build-kernel.yml plus xr/scripts/build-rpm.sh on Linux. Modeling the full kernel RPM build itself as a flake output is a separate, larger piece of work that should stay explicitly tracked.

What's patched

Patch Purpose
0007-vesa-dsc-bpp.patch VESA DisplayID DSC BPP parser, QP table + RC offset fixes for 8bpc 4:4:4 @ 8 BPP
bigscreen-beyond-edid.patch EDID non-desktop quirk for Beyond (BIG/0x1234 + 0x5095)
patch-6.19.3-rt1.patch PREEMPT_RT real-time scheduling (RT variant only, downloaded from kernel.org)

Patches are maintained in this repository under xr/patches.

RT opinions come primarily from very large AD/DA and related busses used for sensors on BCI server (~100:100 channels of carefully clocked I/O; uses external C777 sample wordclock).

Variants

Each release includes two kernel variants:

Variant Package Use case
Generic kernel-xr Standard XR workloads, desktop compositing
RT kernel-xr-rt Sub-ms VR frame scheduling, BCI/AD-DA I/O

Both variants include the DSC and EDID patches. The RT variant additionally applies PREEMPT_RT for deterministic scheduling.

Target hardware

Component Detail
Machine Dell Precision Tower 7810 (0GWHMW)
CPU Dual Xeon E5-2630 v3 (Haswell-EP, 16 cores)
Chipset Intel C610/C612 (Wellsburg PCH)
GPU AMD Radeon 9070 XT (Navi 48 / RDNA4)
NIC Intel 82599ES 10GbE (dual SFP+)
Storage NVMe (CT2000P310SSD8)
BIOS Host-specific; honey BIOS evidence is tracked in Dell-7810
VR Bigscreen Beyond 2e (3840x1920, DSC required for 90Hz)

Deployment checklist

Order of operations for first kernel deployment on a Dell T7810:

This checklist is supplier-side bootstrap guidance for the kernel package. It does not replace the current Dell workstation validation ledger. Current BIOS, SMI, C-state, PREEMPT_RT acceptance, NUMA, and rollback evidence for honey lives in Jesssullivan/Dell-7810; this repo should only claim package availability, install flow, and kernel carry status.

Phase 0: Host preflight

  • Confirm the Dell-owned host runbook says the target is ready for this kernel lane.
  • Confirm the intended fallback kernel remains bootable.
  • For honey, treat RT as gated until the Dell RT contract says C3 is acceptable for regular workstation use.
  • Keep BIOS, SMI, C-state, NUMA, and tuned validation in Dell-7810; do not update this README as the host evidence ledger.

Phase 1: Install kernel

  • Install from Releases or the stable Pages installer surface
  • Generic: curl -fsSL https://tinyland-inc.github.io/linux-xr/install/rocky10-generic.sh | bash
  • RT: curl -fsSL https://tinyland-inc.github.io/linux-xr/install/rocky10-rt.sh | bash
  • sudo dnf install ./kernel-xr-6.19.5-*.xr.el10.x86_64.rpm
  • Let kernel-install create the initramfs and BLS entry, or use the manual fallback below if needed.
  • Reboot through the host runbook's rollback-safe path.
  • Verify uname -r shows the intended kernel-xr lane.

Phase 2: Verify display + DSC

  • dmesg | grep "VESA.*DSC.*BPP" — parser finds BPP=128
  • Capture the headset DRM connector property showing non-desktop=1; use drm_info, modetest, DRM debugfs, or sysfs if the host exposes it.
  • zcat /proc/config.gz | grep PREEMPT_RT — shows CONFIG_PREEMPT_RT=y
  • Power on Beyond via HID, check link training in dmesg
  • Verify DSC BPP=8.0 selected by VESA DisplayID parser
  • Confirm 90Hz output (DTN log: OTG active, no underflow)

Phase 3: Deploy compositor stack

  • just deploy honey all (compositor + sway-beyond + monado-beyond via nix copy)
  • just deploy-verify honey

Boot entry setup fallback

The RPM normally uses kernel-install to orchestrate depmod, dracut, and BLS entry creation. If a target system lacks that path or a recovery procedure needs a manual entry, use a host-runbook-reviewed fallback like:

# Generate initramfs
sudo dracut --force /boot/initramfs-6.19.5-rt1-1.xr.el10.img 6.19.5-rt1-1.xr.el10

# Create BLS entry (machine-id from /etc/machine-id)
MACHINE_ID=$(cat /etc/machine-id)
sudo tee /boot/loader/entries/${MACHINE_ID}-6.19.5-rt1-1.xr.el10.conf << 'EOF'
title Rocky Linux (6.19.5-rt1-1.xr.el10) XR Kernel
version 6.19.5-rt1-1.xr.el10
linux /vmlinuz-6.19.5-rt1-1.xr.el10
initrd /initramfs-6.19.5-rt1-1.xr.el10.img
options ro tsc=nowatchdog clocksource=tsc nosoftlockup intel_pstate=disable processor.max_cstate=1 intel_idle.max_cstate=0 crashkernel=2G-64G:256M,64G-:512M resume=UUID=<your-swap-uuid> rd.lvm.lv=rl00/root rd.lvm.lv=rl00/swap amdgpu.modeset=1 amdgpu.dc=1 amdgpu.dcdebugmask=0x10
grub_users $grub_users
grub_arg --unrestricted
grub_class kernel
EOF

# Set as default only when the host runbook says this lane is safe to promote.
sudo grubby --set-default /boot/vmlinuz-6.19.5-rt1-1.xr.el10

Host RT posture and troubleshooting

This repo owns the kernel package and installer surface, not the live Dell workstation acceptance ledger.

For honey, the Dell-owned host runbook defines the RT cmdline posture, early boot debug parameters, T7810 SMI/timer checks, C610 register landmarks, and the generic-lane fallback rule:

linux-xr should not claim that honey is RT-acceptable because an RT package exists or because a historical boot succeeded. It may claim C0 supplier facts: the package was built, the installer exists, and the kernel feature set is available for Dell-owned validation.

Build locally

# Extract base config from target machine first:
ssh jess@honey "cat /boot/config-$(uname -r)" > xr/config/base.config

# Build generic kernel:
./xr/scripts/build-rpm.sh \
  --kernel-version 6.19.5 \
  --xr-release 2

# Build RT kernel:
./xr/scripts/build-rpm.sh \
  --kernel-version 6.19.5 \
  --xr-release 2 \
  --rt-version 6.19.3-rt1

Use a Linux or case-sensitive checkout for source truth. On macOS, do not treat a default case-insensitive checkout as authoritative for kernel files because Linux carries case-distinct paths such as xt_DSCP.c and xt_dscp.c.

CI

Tag push (v6.19.5-xr2) or manual dispatch triggers RPM builds on tinyland-docker ARC runners (4 CPU / 16Gi).

Both variants are built sequentially (sharing ccache) and attached to a single GitHub Release.

Manual dispatch supports building a single variant:

gh workflow run build-kernel.yml -f variant=generic  # generic only
gh workflow run build-kernel.yml -f variant=rt       # RT only
gh workflow run build-kernel.yml -f variant=both     # both (default)

Build optimizations:

  • CONFIG_DEBUG_INFO=n — reduces link-time memory from ~8GB to ~2GB
  • Parallelism capped at -j4 — prevents OOM on memory-constrained runners
  • ccache with save-always: true — warm builds ~1h vs cold ~2h
  • weekly-cadence.yml — fetches upstream refs, renders a markdown report from xr/patches/series, and opens a weekly cadence issue

Version scheme

6.19.5-2.xr.el10uname -r outputs 6.19.5-rt1-2.xr.el10

Kernel upgrade workflow

  1. Review the weekly cadence issue opened by .github/workflows/weekly-cadence.yml
  2. Compare against current upstream and stable refs before choosing a merge target
  3. Update xr/config/base.config if honey's running base kernel changes
  4. Tag: git tag -a v6.20.1-xr1 -m "XR kernel 6.20.1"
  5. CI builds + publishes RPMs
  6. Promote only after honey and yoga validation

Upstream status

As of 2026-04-25, xr/main was observed at 3beda6220731. Kernel.org has advanced beyond this repo's origin/master snapshot: upstream master was observed at 897d54018cc9, v7.0 exists, and stable v6.19.14 exists. The RPM lane still builds the configured 6.19.5 tarball until the cadence item deliberately moves it.

Patch/workstream Upstream status Next action
VESA DisplayID DSC BPP parser / amdgpu handling In-flight upstream series; not present in current upstream checkout Track Bolyukin v7 fixed-DSC-BPP series and drop this part when it lands.
QP table + RC offset adjustments Local carry; not submitted as a standalone upstream series Split from the DisplayID parser carry using xr/patches/0007-vesa-dsc-bpp.map.md and decide whether this is evidence-backed upstream material or host-only risk.
EDID non-desktop quirk for BIG/0x1234 and BIG/0x5095 Absent from current upstream checkout Follow xr/patches/bigscreen-beyond-edid.route.md: local BIG/0x1234 evidence now proves non-desktop=1; next regenerate an upstream/drm-misc topic patch and send via the DRM route.
SMI and NUMA posture Platform/runtime validation, not a linux-xr source patch Keep kernel config support here; keep validators, tuned profiles, and host captures in Dell-7810/XoxdWM surfaces.
PREEMPT_RT Mainline since 6.12; this repo still downloads RT patches for the configured 6.19.x RT build lane Re-evaluate when the RPM lane moves to a kernel whose RT posture is fully mainline for our target release.

Carry patch order is defined in xr/patches/series.

About

XR-optimized Linux kernel source tree

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • C 98.0%
  • Assembly 0.7%
  • Shell 0.4%
  • Rust 0.3%
  • Python 0.3%
  • Makefile 0.2%
  • Other 0.1%