Commit Graph

14 Commits

Author SHA1 Message Date
vasilito ddbd2f7123 qtbase: fix ifreq incomplete type on Redox — provide forward decl, skip SIOCGIFMTU MTU query 2026-07-10 03:35:00 +03:00
vasilito 2c0b92d6fe Round 2: replace ENOSYS stubs + Wayland compositor fixes + kernel ptrace
sched: sched_getparam returns SCHED_OTHER default, sched_getscheduler returns SCHED_OTHER
ptrace: x86_64 catch-all returns EIO instead of panic, list all known ptrace requests
Wayland compositor: activate clipboard/subsurface globals, implement decorations/dma-buf/presentation/viewporter dispatch
Qt6: remove 4 Q_OS_REDOX guards (SIMD, ELF, arch reqs, openat)
amdgpu: real IRQ threads, PCI bus-master, region tracking, ioremap safety, pm refcount
linux-kpi: idr.h rewired via Rust FFI, dma_mapping_error fixed
relibc _fenv: all 11 FPU functions with real x86_64 asm (STMXCSR/LDMXCSR/FLDCW)
relibc _aio: all 8 POSIX AIO functions with thread pool + Condvar
relibc stdlib/time/strings/netdb/unistd/dirent: 16+ stub functions replaced
DRM scheme: per-fd client caps, virgl_wait on VirtioDriver, VIRTGPU ioctls
2026-07-10 01:02:06 +03:00
vasilito 5afa7182af mesa: scope down to essential drivers (swrast, virgl, crocus, iris)
- Remove radeonsi (needs libdrm_radeon, disabled in libdrm)
- Remove amd vulkan (needs LLVM amdgpu module, dl_iterate_phdr)
- Remove intel vulkan (needs dl_iterate_phdr, not in relibc)
- Remove zink (needs full Vulkan infrastructure)

Kept: swrast (LLVMpipe), virgl (QEMU virtio-gpu 3D), crocus + iris
(Intel Gen4-Gen12+ Gallium 3D). These are the two primary 3D driver
targets for the desktop path.
2026-07-09 23:12:23 +03:00
vasilito b079fc8ef6 stub audit: replace Mesa-only software render + KCoreAddons filesystem stub
Two fixes from the systematic stub audit:

1. Mesa recipe: add hardware GPU drivers for Intel and AMD parity.
   - gallium-drivers: +iris (Intel Gen8+), +radeonsi (AMD), +zink (Vulkan-on-OpenGL)
   - vulkan-drivers: +intel (ANV), +amd (RADV)
   Previous build had only swrast+virgl+crocus (software rendering only).
   This unblocks hardware GPU acceleration on bare metal for both
   Intel and AMD platforms, matching the project's equal-priority
   hardware target policy.

2. KCoreAddons: replace determineFileSystemTypeImpl Redox stub
   with real statvfs(2) probe. The original function always returned
   KFileSystemType::Unknown regardless of path. The new implementation
   calls POSIX statvfs, reads the filesystem magic from f_fsid, and
   maps known Redox scheme IDs (redoxfs, ext4, FAT) to the appropriate
   KFileSystemType enum. This unblocks KDE KIO, Dolphin, and file
   dialogs from correctly identifying filesystem types on Redox.

   Ported from Linux 7.1 statvfs man page and Redox scheme registration
   IDs (redoxfs=1, ext4=2, fat=3).
2026-07-09 21:09:09 +03:00
vasilito 0ec7bd46bb Phase 3: GPU 3D drivers + Phase 1-2 stability fixes — full rollup
ROLLUP of all Phase 1-3 work on branch 0.3.0, targeting a production-ready
console + full graphical desktop under Intel and Virgl/VirtIO-GPU.

=== Phase 1 — Stability ===
 - fbcond: Enter key handler (scancode 0x1C→\n), display map buffering,
   control-char filter in all 7 keymaps, write_event assert
 - build-redbear.sh: auto-rebuild-prefix when fork timestamps are newer
   than prefix/x86_64-unknown-redox/sysroot (was warning-only). Added
   configurable REDBEAR_SKIP_PREFIX_REBUILD guard.
 - build-redbear.sh: set explicit keymap '-K us' in console activation
 - config/redbear-device-services.toml: remove spurious init.d service
   files for redbear-acmd/ecmd/usbaudiod. These USB device daemons are
   spawned dynamically by pcid-spawner, not as boot-time init services.
   Starting them without args panicked the boot flow.
 - relibc: grantpt/unlockpt/ptsname (then deduplicated against stdlib)
 - userutils: cherry-pick upstream getty commit 2834434 (standard C
   ptsname/grantpt/unlockpt)
 - base fork: Russian (ЙЦУКЕН) keymap + inputd control-char filter
   (K_ESC/K_BKSP/K_ENTER → \0, commit 73e44d81 in submodule/base)

=== Phase 2 — Login & Console ===
 - login.rs: restored to 0.2.5-known-good liner-based prompt
 - redbear-upower: removed tokio full/signal features → protection fault fix
 - redbear-power: excluded temporarily (being fixed in other session)
 - tlc version: updated to 0.3.0

=== Phase 3 — GPU/3D Drivers (commit 0898332f7a) ===
Intel i915: FULLY implemented — real ring buffer + MMIO command
submission via GEM DMA → GGTT → i915 render ring, with hardware
head-pointer polling (2M iterations, 50µs backoff). Zero stubs.

VirtIO GPU/Virgl (VirtioTransport): 11 VIRTGPU ioctls (GETPARAM,
GET_CAPS, RESOURCE_CREATE, RESOURCE_INFO, CONTEXT_INIT, EXECBUFFER,
WAIT, TRANSFER_TO_HOST, TRANSFER_FROM_HOST, MAP, CREATE_BLOB) ported
from Linux 7.1 virtgpu_ioctl.c and virtgpu_vq.c.
 - driver.rs: 8 virgl_* trait methods (default Unsupported)
 - scheme.rs: 11 ioctl constants + 8 wire structures + dispatch
 - virtio/transport.rs: PCI capability discovery, feature negotiation,
   control+cursor virtqueue setup, vring descriptor building
 - virtio/mod.rs: real implementations for all 8 virgl_* methods
 - intel/mod.rs: explicit virgl Unsupported stubs

Other changes from active sessions: Cargo.toml version bumps, linux-kpi
headers, libpciaccess recipe, mesa/recipe.toml, kf6 patches, expat,
driver-manager, redbear-sessiond, redbear-compositor, cub, tlc, and
many other local recipes.
2026-07-09 20:29:28 +03:00
vasilito 04b7641e85 config: add x11proto dependency for libxau and SDDM
- Add x11proto to redbear-full.toml package list
- libxau recipe updated with x11proto dependency and custom build script
- Fixes libxau build failure: 'Package xproto was not found'
2026-06-20 14:57:46 +03:00
vasilito 68f7eb8829 fix: restore Mesa patch wire + update README broken doc links
- Mesa recipe: re-add patches = ["P4-virgl-redox-disk-cache.patch"]
  (was dropped from recipe during iteration)
- README.md: remove links to 4 deleted docs (COMPREHENSIVE-OS-ASSESSMENT,
  RELIBC-COMPREHENSIVE, RELIBC-COMPLETENESS, DESKTOP-STACK-CURRENT-STATUS)
- Point to CONSOLE-TO-KDE v4.0 as the single canonical plan
2026-05-01 00:48:56 +01:00
vasilito bb18e729fb feat: Mesa virgl DRI driver builds — virtio_gpu_dri.so (80MB pkgar)
Mesa now builds with -Dgallium-drivers=swrast,virgl for Redox target.

Fixes:
- CFLAGS: -Dstatic_assert(...)= nullifies Linux-drm.h static_assert
  calls that conflict with Mesa util/macros.h redefinition on Redox
- virgl_screen.c: disk cache disabled for Redox (dl_iterate_phdr unavailable)
- bits/safamily-t.h: provided to cross-compiler toolchain sysroot

Build output:
- usr/lib/dri/virtio_gpu_dri.so — virgl DRI driver
- usr/lib/dri/swrast_dri.so — llvmpipe software renderer
- usr/lib/dri/kms_swrast_dri.so — KMS software renderer
- libEGL.so, libGLESv2.so, libgbm.so — with virgl support
- 80MB stage.pkgar (vs 63MB swrast-only)

This enables hardware-accelerated 3D rendering in QEMU via
-device virtio-vga-gl with virgl, using the virtio-gpu display
driver in redox-drm. The full stack for QEMU testing is now:

QEMU -device virtio-vga-gl
  → redox-drm virtio driver (KMS/GEM/pageflip)
  → Mesa virtio_gpu_dri.so (virgl gallium)
  → libEGL/libGLES2
  → Wayland compositor
  → KDE Plasma
2026-05-01 00:39:03 +01:00
vasilito 89ae14faa6 feat: Mesa virgl gallium driver — hardware-accelerated 3D for QEMU
Mesa now builds with -Dgallium-drivers=swrast,virgl for Redox target.

Fixes:
- virgl_screen.c: wrapped disk cache creation in #ifndef __redox__
  (build_id_find_nhdr_for_addr uses dl_iterate_phdr — unavailable on Redox)
- bits/safamily-t.h: provided to cross-compiler toolchain sysroot

Durable patch:
- local/patches/mesa/P4-virgl-redox-disk-cache.patch (25 lines)

This enables hardware-accelerated 3D rendering in QEMU via
virtio-gpu + virgl. Mesa EGL/GLES2/GBM now support the virgl
gallium driver alongside llvmpipe software renderer.

63MB pkgar artifact with virgl support.
2026-05-01 00:21:28 +01:00
vasilito 9f5fe06e33 fix: mesa builds — fixed missing backslash + -Wno-error c_args
mesa recipe had missing backslash breaking meson flags.
Added proper -Dc_args=['-Wno-error=implicit-function-declaration','-Wno-error']
mesa now builds successfully (30-min compile).
Greeter cascade: qtbase pre-existing QPlatformOpenGLContext issue.
2026-04-28 13:14:01 +01:00
vasilito 4a2b2a9b83 fix: mesa strcasecmp Werror + Packages/ auto-sync
mesa: add -Dc_args=-Wno-error=implicit-function-declaration
Packages/: 91 pkgar files committed, sync-packages.sh script
cache-auto: now syncs to Packages/ after build
2026-04-28 13:00:26 +01:00
vasilito f10e951be8 Update upstream recipe TOMLs, add orbutils patch and smallvil recipe 2026-04-18 17:59:21 +01:00
vasilito 68aa94ce98 Advance Wayland and KDE package bring-up 2026-04-14 10:51:06 +01:00
vasilito 50b731f1b7 Red Bear OS — microkernel OS in Rust, based on Redox
Derivative of Redox OS (https://www.redox-os.org) adding:
- AMD GPU driver (amdgpu) via LinuxKPI compat layer
- ext4 filesystem support (ext4d scheme daemon)
- ACPI fixes for AMD bare metal (x2APIC, DMAR, IVRS, MCFG)
- Custom branding (hostname, os-release, boot identity)

Build system is full upstream Redox with RBOS overlay in local/.
Patches for kernel, base, and relibc are symlinked from local/patches/
and protected from make clean/distclean. Custom recipes live in
local/recipes/ with symlinks into the recipes/ search path.

Build:  make all CONFIG_NAME=redbear-full
Sync:   ./local/scripts/sync-upstream.sh
2026-04-12 19:05:00 +01:00