feat: VirtIO GPU driver, libdrm DRM ioctls, KWin/KF6 build fixes, display stack additions
- Add full VirtIO GPU driver with command submission, resource management, VirtQueue implementation, and transport layer; includes diagnostic probes for resource_create_2d ERR_INVALID_RESOURCE_ID investigation - Expand libdrm Redox support with DRM ioctl wrappers (ADDFB, RMFB, CREATE_DUMB, MAP_DUMB, DESTROY_DUMB, GET_RESOURCES, GET_CONNECTOR, GET_CRTC, SET_CRTC, MODE_OBJ_GET_PROPERTIES, etc.) and xf86drm_redox.h - Add redox-drm scheme handlers for VirtIO GPU-specific DRM ioctls (VIRTGPU_RESOURCE_CREATE, VIRTGPU_MAP, VIRTGPU_WAIT, VIRTGPU_INFO, etc.) - Add display stack recipes: freetype2, lcms2, libdisplay-info, libepoxy, libxcvt - Fix KWin build (recipe.toml expanded, kf6-ksvg added) - Fix KF6 CMakeLists for cross-compilation (attica, kcmutils, kcolorscheme, kcompletion, kconfigwidgets, kdeclarative, kiconthemes, kitemmodels, kitemviews, kjobwidgets, ktextwidgets, kwayland, kxmlgui, kpty, solid) - Add Qt6 futex support patch - Add relibc patches: P3 strtold, P3 ld-so search path, P5 DRM ioctl removal - Add base P4 pcid config scheme patch - Update driver-manager hotplug/config, PCI config in redox-driver-sys - Update greeter compositor and KDE session scripts - Update AGENTS.md with zero-tolerance stubs policy and project knowledge
This commit is contained in:
+31
-25
@@ -47,14 +47,21 @@ numad = {}
|
||||
redox-drm = {}
|
||||
mesa = {}
|
||||
libdrm = {}
|
||||
libepoxy = {}
|
||||
libdisplay-info = {}
|
||||
libxcvt = {}
|
||||
lcms2 = {}
|
||||
freetype2 = {}
|
||||
fontconfig = {}
|
||||
|
||||
libwayland = {}
|
||||
wayland-protocols = {}
|
||||
redbear-compositor = {}
|
||||
plasma-wayland-protocols = {}
|
||||
redbear-compositor = "ignore" # replaced by kwin
|
||||
|
||||
# Keyboard/input
|
||||
# libxkbcommon = {} # build needed
|
||||
# xkeyboard-config = {} # build needed
|
||||
libxkbcommon = {}
|
||||
xkeyboard-config = {}
|
||||
libevdev = {}
|
||||
libinput = {}
|
||||
redbear-keymapd = {}
|
||||
@@ -93,7 +100,7 @@ kf6-kded6 = {}
|
||||
kf6-kguiaddons = {}
|
||||
kf6-ki18n = {}
|
||||
kf6-kiconthemes = {}
|
||||
kf6-kidletime = "ignore"
|
||||
kf6-kidletime = {}
|
||||
kf6-kitemmodels = {}
|
||||
kf6-kitemviews = {}
|
||||
kf6-kjobwidgets = {}
|
||||
@@ -101,12 +108,14 @@ kf6-knotifications = {}
|
||||
kf6-kpackage = {}
|
||||
kf6-kservice = {}
|
||||
kf6-ktextwidgets = {}
|
||||
kf6-kwayland = "ignore"
|
||||
kf6-kwayland = {}
|
||||
kf6-kwidgetsaddons = {}
|
||||
kf6-kwindowsystem = {}
|
||||
kf6-kxmlgui = {}
|
||||
kf6-prison = {}
|
||||
kf6-solid = {}
|
||||
kf6-sonnet = {}
|
||||
kf6-ksvg = {}
|
||||
kf6-knewstuff = {}
|
||||
kf6-kwallet = {}
|
||||
kf6-kglobalaccel = {}
|
||||
@@ -186,7 +195,7 @@ name = "redox-drm"
|
||||
description = "DRM/KMS display driver (AMD + Intel + VirtIO)"
|
||||
priority = 60
|
||||
command = ["/usr/bin/redox-drm"]
|
||||
depends_on = ["pci", "firmware", "iommu"]
|
||||
depends_on = ["pci"]
|
||||
|
||||
[[driver.match]]
|
||||
class = 0x03
|
||||
@@ -246,6 +255,21 @@ cmd = "/usr/bin/iommu"
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/init.d/14_redox-drm.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "DRM/KMS display driver (AMD + Intel + VirtIO)"
|
||||
requires_weak = [
|
||||
"05_boot-essential.target",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "/usr/bin/sh"
|
||||
args = ["-c", "if ! head -c 1 /scheme/drm/card0 >/dev/null 2>&1; then exec /usr/bin/redox-drm; fi; echo 'scheme:drm already registered, skipping'"]
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/init.d/12_dbus.service"
|
||||
data = """
|
||||
@@ -395,25 +419,6 @@ envs = { QT_PLUGIN_PATH = "/usr/plugins", QT_QPA_PLATFORM_PLUGIN_PATH = "/usr/pl
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/init.d/20_display.service"
|
||||
data = """
|
||||
[unit]
|
||||
description = "KDE session assembly helper"
|
||||
requires_weak = [
|
||||
"12_dbus.service",
|
||||
"13_redbear-sessiond.service",
|
||||
"13_seatd.service",
|
||||
"19_redbear-authd.service",
|
||||
]
|
||||
|
||||
[service]
|
||||
cmd = "/usr/bin/redbear-session-launch"
|
||||
args = ["--username", "root", "--mode", "session", "--session", "kde-wayland", "--vt", "4", "--runtime-dir", "/tmp/run/redbear-display-session", "--wayland-display", "wayland-display"]
|
||||
envs = { QT_PLUGIN_PATH = "/usr/plugins", QT_QPA_PLATFORM_PLUGIN_PATH = "/usr/plugins/platforms", QML2_IMPORT_PATH = "/usr/qml", XCURSOR_THEME = "Pop", XKB_CONFIG_ROOT = "/usr/share/X11/xkb", REDBEAR_KDE_SESSION_BACKEND = "virtual", REDBEAR_KDE_SESSION_STATE_DIR = "/run/redbear-display-session" }
|
||||
type = "oneshot_async"
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/init.d/20_greeter.service"
|
||||
data = """
|
||||
@@ -421,6 +426,7 @@ data = """
|
||||
description = "Red Bear greeter service"
|
||||
requires_weak = [
|
||||
"00_driver-manager.service",
|
||||
"14_redox-drm.service",
|
||||
"12_dbus.service",
|
||||
"13_redbear-sessiond.service",
|
||||
"13_seatd.service",
|
||||
|
||||
Reference in New Issue
Block a user