Phase 0: X11 paths + measurement-instrument inventory captured

Live Plasma X11 session on ohm probed over SSH; substrate is
healthy (xorg-server 21.1.22 + Mesa 26.0.5 / Panfrost,
modesetting in-server, all 7 needed X protocol extensions live).
Evidence in phase0_evidence/x11_inventory_2026-05-03/ — five raw
captures + inventory.md summary. Worklist deliverables 2 + 4
flipped to done with operator-action checklist for the remaining
gating items (no non-compositing WM installed today; six
candidates one pacman -S away, openbox recommended).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-03 07:16:11 +00:00
parent e8bae670d3
commit 5d34a957ee
7 changed files with 17200 additions and 20 deletions
@@ -0,0 +1,293 @@
=== uname -a ===
Linux ohm 6.19.10-danctnix1-1-pinetab2 #1 SMP PREEMPT_DYNAMIC Sat, 28 Mar 2026 02:45:08 +0000 aarch64 GNU/Linux
=== date / uptime ===
2026-05-03T09:08:40+02:00
09:08:40 up 17:34, 3 users, load average: 0.01, 0.31, 0.68
=== loginctl list-sessions ===
SESSION UID USER SEAT LEADER CLASS TTY IDLE SINCE
345 1001 mfritsche seat0 24148 user tty2 no -
346 1001 mfritsche - 24321 manager - no -
347 1001 mfritsche seat0 24633 user tty3 no -
351 1001 mfritsche - 25683 user - no -
4 sessions listed.
=== loginctl show-session 347 (full) ===
Id=347
User=1001
Name=mfritsche
Timestamp=Sun 2026-05-03 08:58:10 CEST
TimestampMonotonic=62631263116
VTNr=3
Seat=seat0
TTY=tty3
Remote=no
Service=sddm
Desktop=KDE
Scope=session-347.scope
Leader=24633
LeaderPIDFDId=24634
Audit=347
Type=x11
Class=user
Active=yes
State=active
IdleHint=no
IdleSinceHint=0
IdleSinceHintMonotonic=0
CanIdle=yes
CanLock=yes
LockedHint=no
=== Xorg cmdline ===
/usr/lib/Xorg -nolisten tcp -background none -seat seat0 -noreset -keeptty -novtswitch -verbose 3 -auth /run/user/1001/xauth_TraioE -displayfd 13 vt3
=== kwin_x11 cmdline ===
/usr/bin/kwin_x11 --replace
=== plasmashell PID/version ===
24802 /usr/bin/plasmashell --no-respawn
25687 bash -c export DISPLAY=:0 XAUTHORITY=/run/user/1001/xauth_TraioE; \ echo "=== uname -a ==="; uname -a; \ echo; echo "=== date / uptime ==="; date -Iseconds; uptime; \ echo; echo "=== loginctl list-sessions ==="; loginctl list-sessions; \ echo; echo "=== loginctl show-session 347 (full) ==="; loginctl show-session 347; \ echo; echo "=== Xorg cmdline ==="; cat /proc/24687/cmdline | tr "\0" " "; echo; \ echo; echo "=== kwin_x11 cmdline ==="; cat /proc/24769/cmdline | tr "\0" " "; echo; \ echo; echo "=== plasmashell PID/version ==="; pgrep -af plasmashell; plasmashell --version 2>&1 | head -5; \ echo; echo "=== kwin_x11 --version ==="; kwin_x11 --version 2>&1 | head -5; \ echo; echo "=== ps -o pid,ppid,user,cmd -e | grep -E \"(Xorg|kwin|plasma|sddm|kded|kwalletd|xdg-desktop|kglobalaccel)\" ==="; ps -o pid,ppid,user,cmd -e | grep -E "(Xorg|kwin|plasma|sddm|kded|kwalletd|xdg-desktop|kglobalaccel)" | grep -v grep; \ echo; echo "=== thermal_zones ==="; for z in /sys/class/thermal/thermal_zone*; do echo "$z: $(cat $z/type) = $(cat $z/temp)"; done; \ echo; echo "=== cpu governor ==="; cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor | sort -u; \ echo; echo "=== Xorg log (last 200 lines) ==="; tail -200 ~/.local/share/xorg/Xorg.0.log 2>/dev/null || tail -200 /var/log/Xorg.0.log 2>/dev/null || echo "no xorg log found at standard paths"; \ echo; echo "=== drm-info VPU presence ==="; ls -la /dev/dri/ /dev/video* 2>/dev/null
plasmashell 6.6.4
=== kwin_x11 --version ===
kwin 6.6.4
=== ps -o pid,ppid,user,cmd -e | grep -E "(Xorg|kwin|plasma|sddm|kded|kwalletd|xdg-desktop|kglobalaccel)" ===
24547 1 root /usr/bin/sddm
24633 24547 root /usr/lib/sddm/sddm-helper --socket /tmp/sddm-auth-1bd38109-ef42-4d79-b15d-252861131c3d --id 1 --start /usr/bin/startplasma-x11 --user mfritsche --display-server /usr/bin/X -nolisten tcp -background none -seat seat0 -noreset -keeptty -novtswitch -verbose 3
24641 24633 mfritsc+ /usr/lib/sddm/sddm-helper-start-x11user /usr/bin/X -nolisten tcp -background none -seat seat0 -noreset -keeptty -novtswitch -verbose 3 /usr/share/sddm/scripts/Xsession "/usr/bin/startplasma-x11"
24687 24641 root /usr/lib/Xorg -nolisten tcp -background none -seat seat0 -noreset -keeptty -novtswitch -verbose 3 -auth /run/user/1001/xauth_TraioE -displayfd 13 vt3
24692 24641 mfritsc+ /usr/bin/startplasma-x11
24728 24321 mfritsc+ /usr/lib/kglobalacceld
24734 24321 mfritsc+ /usr/lib/xdg-desktop-portal
24768 24321 mfritsc+ /usr/bin/kded6
24769 24321 mfritsc+ /usr/bin/kwin_x11 --replace
24802 24321 mfritsc+ /usr/bin/plasmashell --no-respawn
25021 24321 mfritsc+ /usr/lib/xdg-desktop-portal-gtk
25068 24321 mfritsc+ /usr/lib/xdg-desktop-portal-kde
=== thermal_zones ===
/sys/class/thermal/thermal_zone0: cpu-thermal = 43125
/sys/class/thermal/thermal_zone1: gpu-thermal = 38888
=== cpu governor ===
performance
=== Xorg log (last 200 lines) ===
[ 62632.232] (II) Initializing extension SYNC
[ 62632.232] (II) Initializing extension XKEYBOARD
[ 62632.233] (II) Initializing extension XC-MISC
[ 62632.233] (II) Initializing extension SECURITY
[ 62632.234] (II) Initializing extension XFIXES
[ 62632.234] (II) Initializing extension RENDER
[ 62632.234] (II) Initializing extension RANDR
[ 62632.235] (II) Initializing extension COMPOSITE
[ 62632.235] (II) Initializing extension DAMAGE
[ 62632.236] (II) Initializing extension MIT-SCREEN-SAVER
[ 62632.236] (II) Initializing extension DOUBLE-BUFFER
[ 62632.236] (II) Initializing extension RECORD
[ 62632.236] (II) Initializing extension DPMS
[ 62632.237] (II) Initializing extension Present
[ 62632.237] (II) Initializing extension DRI3
[ 62632.237] (II) Initializing extension X-Resource
[ 62632.237] (II) Initializing extension XVideo
[ 62632.238] (II) Initializing extension XVideo-MotionCompensation
[ 62632.238] (II) Initializing extension GLX
[ 62632.287] (II) AIGLX: Loaded and initialized rockchip
[ 62632.287] (II) GLX: Initialized DRI2 GL provider for screen 0
[ 62632.287] (II) Initializing extension XFree86-VidModeExtension
[ 62632.287] (II) Initializing extension XFree86-DGA
[ 62632.288] (II) Initializing extension XFree86-DRI
[ 62632.288] (II) Initializing extension DRI2
[ 62632.289] (II) modeset(0): Damage tracking initialized
[ 62632.290] (II) modeset(0): Setting screen physical size to 211 x 338
[ 62632.473] (II) config/udev: Adding input device adc-keys (/dev/input/event2)
[ 62632.473] (**) adc-keys: Applying InputClass "libinput keyboard catchall"
[ 62632.473] (II) LoadModule: "libinput"
[ 62632.473] (II) Loading /usr/lib/xorg/modules/input/libinput_drv.so
[ 62632.487] (II) Module libinput: vendor="X.Org Foundation"
[ 62632.487] compiled for 1.21.1.13, module version = 1.5.0
[ 62632.487] Module class: X.Org XInput Driver
[ 62632.487] ABI class: X.Org XInput driver, version 24.4
[ 62632.487] (II) Using input driver 'libinput' for 'adc-keys'
[ 62632.490] (II) systemd-logind: got fd for /dev/input/event2 13:66 fd 28 paused 0
[ 62632.490] (**) adc-keys: always reports core events
[ 62632.490] (**) Option "Device" "/dev/input/event2"
[ 62632.499] (II) event2 - adc-keys: is tagged by udev as: Keyboard
[ 62632.499] (II) event2 - adc-keys: device is a keyboard
[ 62632.499] (II) event2 - adc-keys: device removed
[ 62632.500] (**) Option "config_info" "udev:/sys/devices/platform/adc-keys/input/input3/event2"
[ 62632.500] (II) XINPUT: Adding extended input device "adc-keys" (type: KEYBOARD, id 6)
[ 62632.503] (II) event2 - adc-keys: is tagged by udev as: Keyboard
[ 62632.503] (II) event2 - adc-keys: device is a keyboard
[ 62632.509] (II) config/udev: Adding input device HID 1018:1006 (/dev/input/event4)
[ 62632.509] (**) HID 1018:1006: Applying InputClass "libinput keyboard catchall"
[ 62632.509] (II) Using input driver 'libinput' for 'HID 1018:1006'
[ 62632.512] (II) systemd-logind: got fd for /dev/input/event4 13:68 fd 31 paused 0
[ 62632.512] (**) HID 1018:1006: always reports core events
[ 62632.512] (**) Option "Device" "/dev/input/event4"
[ 62632.519] (II) event4 - HID 1018:1006: is tagged by udev as: Keyboard
[ 62632.520] (II) event4 - HID 1018:1006: device is a keyboard
[ 62632.520] (II) event4 - HID 1018:1006: device removed
[ 62632.520] (**) Option "config_info" "udev:/sys/devices/platform/fd840000.usb/usb2/2-1/2-1:1.0/0003:1018:1006.0001/input/input5/event4"
[ 62632.520] (II) XINPUT: Adding extended input device "HID 1018:1006" (type: KEYBOARD, id 7)
[ 62632.526] (II) event4 - HID 1018:1006: is tagged by udev as: Keyboard
[ 62632.527] (II) event4 - HID 1018:1006: device is a keyboard
[ 62632.531] (II) config/udev: Adding input device HID 1018:1006 Mouse (/dev/input/event5)
[ 62632.531] (**) HID 1018:1006 Mouse: Applying InputClass "libinput pointer catchall"
[ 62632.531] (II) Using input driver 'libinput' for 'HID 1018:1006 Mouse'
[ 62632.534] (II) systemd-logind: got fd for /dev/input/event5 13:69 fd 32 paused 0
[ 62632.534] (**) HID 1018:1006 Mouse: always reports core events
[ 62632.534] (**) Option "Device" "/dev/input/event5"
[ 62632.541] (II) event5 - HID 1018:1006 Mouse: is tagged by udev as: Mouse
[ 62632.542] (II) event5 - HID 1018:1006 Mouse: device is a pointer
[ 62632.543] (II) event5 - HID 1018:1006 Mouse: device removed
[ 62632.543] (II) libinput: HID 1018:1006 Mouse: Step value 0 was provided, libinput Fallback acceleration function is used.
[ 62632.543] (II) libinput: HID 1018:1006 Mouse: Step value 0 was provided, libinput Fallback acceleration function is used.
[ 62632.543] (II) libinput: HID 1018:1006 Mouse: Step value 0 was provided, libinput Fallback acceleration function is used.
[ 62632.543] (**) Option "config_info" "udev:/sys/devices/platform/fd840000.usb/usb2/2-1/2-1:1.1/0003:1018:1006.0002/input/input10/event5"
[ 62632.543] (II) XINPUT: Adding extended input device "HID 1018:1006 Mouse" (type: MOUSE, id 8)
[ 62632.543] (**) Option "AccelerationScheme" "none"
[ 62632.543] (**) HID 1018:1006 Mouse: (accel) selected scheme none/0
[ 62632.543] (**) HID 1018:1006 Mouse: (accel) acceleration factor: 2.000
[ 62632.543] (**) HID 1018:1006 Mouse: (accel) acceleration threshold: 4
[ 62632.549] (II) event5 - HID 1018:1006 Mouse: is tagged by udev as: Mouse
[ 62632.550] (II) event5 - HID 1018:1006 Mouse: device is a pointer
[ 62632.554] (II) config/udev: Adding input device HID 1018:1006 Mouse (/dev/input/mouse1)
[ 62632.554] (II) No input driver specified, ignoring this device.
[ 62632.555] (II) This device may have been added with another device file.
[ 62632.559] (II) config/udev: Adding input device HID 1018:1006 Touchpad (/dev/input/event6)
[ 62632.559] (**) HID 1018:1006 Touchpad: Applying InputClass "libinput touchpad catchall"
[ 62632.559] (II) Using input driver 'libinput' for 'HID 1018:1006 Touchpad'
[ 62632.561] (II) systemd-logind: got fd for /dev/input/event6 13:70 fd 33 paused 0
[ 62632.561] (**) HID 1018:1006 Touchpad: always reports core events
[ 62632.561] (**) Option "Device" "/dev/input/event6"
[ 62632.569] (II) event6 - HID 1018:1006 Touchpad: is tagged by udev as: Touchpad
[ 62632.570] (EE) event6 - HID 1018:1006 Touchpad: kernel bug: clickpad advertising right button. See https://wayland.freedesktop.org/libinput/doc/1.31.1/clickpad-with-right-button.html for details
[ 62632.573] (II) event6 - HID 1018:1006 Touchpad: device is a touchpad
[ 62632.573] (II) event6 - HID 1018:1006 Touchpad: device removed
[ 62632.573] (II) libinput: HID 1018:1006 Touchpad: Step value 0 was provided, libinput Fallback acceleration function is used.
[ 62632.573] (II) libinput: HID 1018:1006 Touchpad: Step value 0 was provided, libinput Fallback acceleration function is used.
[ 62632.573] (II) libinput: HID 1018:1006 Touchpad: Step value 0 was provided, libinput Fallback acceleration function is used.
[ 62632.574] (**) Option "config_info" "udev:/sys/devices/platform/fd840000.usb/usb2/2-1/2-1:1.1/0003:1018:1006.0002/input/input11/event6"
[ 62632.574] (II) XINPUT: Adding extended input device "HID 1018:1006 Touchpad" (type: TOUCHPAD, id 9)
[ 62632.578] (**) Option "AccelerationScheme" "none"
[ 62632.578] (**) HID 1018:1006 Touchpad: (accel) selected scheme none/0
[ 62632.578] (**) HID 1018:1006 Touchpad: (accel) acceleration factor: 2.000
[ 62632.578] (**) HID 1018:1006 Touchpad: (accel) acceleration threshold: 4
[ 62632.584] (II) event6 - HID 1018:1006 Touchpad: is tagged by udev as: Touchpad
[ 62632.585] (EE) event6 - HID 1018:1006 Touchpad: kernel bug: clickpad advertising right button. See https://wayland.freedesktop.org/libinput/doc/1.31.1/clickpad-with-right-button.html for details
[ 62632.588] (II) event6 - HID 1018:1006 Touchpad: device is a touchpad
[ 62632.593] (II) config/udev: Adding input device HID 1018:1006 Touchpad (/dev/input/mouse2)
[ 62632.593] (II) No input driver specified, ignoring this device.
[ 62632.593] (II) This device may have been added with another device file.
[ 62632.597] (II) config/udev: Adding input device HID 1018:1006 System Control (/dev/input/event7)
[ 62632.597] (**) HID 1018:1006 System Control: Applying InputClass "libinput keyboard catchall"
[ 62632.597] (II) Using input driver 'libinput' for 'HID 1018:1006 System Control'
[ 62632.600] (II) systemd-logind: got fd for /dev/input/event7 13:71 fd 34 paused 0
[ 62632.600] (**) HID 1018:1006 System Control: always reports core events
[ 62632.600] (**) Option "Device" "/dev/input/event7"
[ 62632.607] (II) event7 - HID 1018:1006 System Control: is tagged by udev as: Keyboard
[ 62632.607] (II) event7 - HID 1018:1006 System Control: device is a keyboard
[ 62632.608] (II) event7 - HID 1018:1006 System Control: device removed
[ 62632.608] (**) Option "config_info" "udev:/sys/devices/platform/fd840000.usb/usb2/2-1/2-1:1.1/0003:1018:1006.0002/input/input12/event7"
[ 62632.608] (II) XINPUT: Adding extended input device "HID 1018:1006 System Control" (type: KEYBOARD, id 10)
[ 62632.614] (II) event7 - HID 1018:1006 System Control: is tagged by udev as: Keyboard
[ 62632.614] (II) event7 - HID 1018:1006 System Control: device is a keyboard
[ 62632.619] (II) config/udev: Adding input device HID 1018:1006 Consumer Control (/dev/input/event8)
[ 62632.619] (**) HID 1018:1006 Consumer Control: Applying InputClass "libinput keyboard catchall"
[ 62632.619] (II) Using input driver 'libinput' for 'HID 1018:1006 Consumer Control'
[ 62632.622] (II) systemd-logind: got fd for /dev/input/event8 13:72 fd 35 paused 0
[ 62632.622] (**) HID 1018:1006 Consumer Control: always reports core events
[ 62632.622] (**) Option "Device" "/dev/input/event8"
[ 62632.630] (II) event8 - HID 1018:1006 Consumer Control: is tagged by udev as: Keyboard
[ 62632.630] (II) event8 - HID 1018:1006 Consumer Control: device is a keyboard
[ 62632.631] (II) event8 - HID 1018:1006 Consumer Control: device removed
[ 62632.631] (II) libinput: HID 1018:1006 Consumer Control: needs a virtual subdevice
[ 62632.631] (**) Option "config_info" "udev:/sys/devices/platform/fd840000.usb/usb2/2-1/2-1:1.1/0003:1018:1006.0002/input/input13/event8"
[ 62632.631] (II) XINPUT: Adding extended input device "HID 1018:1006 Consumer Control" (type: MOUSE, id 11)
[ 62632.631] (**) Option "AccelerationScheme" "none"
[ 62632.631] (**) HID 1018:1006 Consumer Control: (accel) selected scheme none/0
[ 62632.631] (**) HID 1018:1006 Consumer Control: (accel) acceleration factor: 2.000
[ 62632.631] (**) HID 1018:1006 Consumer Control: (accel) acceleration threshold: 4
[ 62632.637] (II) event8 - HID 1018:1006 Consumer Control: is tagged by udev as: Keyboard
[ 62632.638] (II) event8 - HID 1018:1006 Consumer Control: device is a keyboard
[ 62632.642] (II) config/udev: Adding input device rk805 pwrkey (/dev/input/event0)
[ 62632.642] (**) rk805 pwrkey: Applying InputClass "libinput keyboard catchall"
[ 62632.642] (II) Using input driver 'libinput' for 'rk805 pwrkey'
[ 62632.645] (II) systemd-logind: got fd for /dev/input/event0 13:64 fd 36 paused 0
[ 62632.645] (**) rk805 pwrkey: always reports core events
[ 62632.645] (**) Option "Device" "/dev/input/event0"
[ 62632.651] (II) event0 - rk805 pwrkey: is tagged by udev as: Keyboard
[ 62632.652] (II) event0 - rk805 pwrkey: device is a keyboard
[ 62632.652] (II) event0 - rk805 pwrkey: device removed
[ 62632.652] (**) Option "config_info" "udev:/sys/devices/platform/fdd40000.i2c/i2c-0/0-0020/rk805-pwrkey.3.auto/input/input0/event0"
[ 62632.652] (II) XINPUT: Adding extended input device "rk805 pwrkey" (type: KEYBOARD, id 12)
[ 62632.658] (II) event0 - rk805 pwrkey: is tagged by udev as: Keyboard
[ 62632.658] (II) event0 - rk805 pwrkey: device is a keyboard
[ 62632.663] (II) config/udev: Adding input device Goodix Capacitive TouchScreen (/dev/input/event1)
[ 62632.663] (**) Goodix Capacitive TouchScreen: Applying InputClass "libinput keyboard catchall"
[ 62632.663] (**) Goodix Capacitive TouchScreen: Applying InputClass "libinput touchscreen catchall"
[ 62632.663] (II) Using input driver 'libinput' for 'Goodix Capacitive TouchScreen'
[ 62632.666] (II) systemd-logind: got fd for /dev/input/event1 13:65 fd 37 paused 0
[ 62632.666] (**) Goodix Capacitive TouchScreen: always reports core events
[ 62632.666] (**) Option "Device" "/dev/input/event1"
[ 62632.672] (II) event1 - Goodix Capacitive TouchScreen: is tagged by udev as: Keyboard Touchscreen
[ 62632.674] (II) event1 - Goodix Capacitive TouchScreen: device is a keyboard
[ 62632.674] (II) event1 - Goodix Capacitive TouchScreen: device is a touch device
[ 62632.674] (II) event1 - Goodix Capacitive TouchScreen: device removed
[ 62632.674] (II) libinput: Goodix Capacitive TouchScreen: needs a virtual subdevice
[ 62632.674] (**) Option "config_info" "udev:/sys/devices/platform/fe5a0000.i2c/i2c-1/1-005d/input/input1/event1"
[ 62632.674] (II) XINPUT: Adding extended input device "Goodix Capacitive TouchScreen" (type: TOUCHSCREEN, id 13)
[ 62632.674] (**) Option "AccelerationScheme" "none"
[ 62632.674] (**) Goodix Capacitive TouchScreen: (accel) selected scheme none/0
[ 62632.674] (**) Goodix Capacitive TouchScreen: (accel) acceleration factor: 2.000
[ 62632.674] (**) Goodix Capacitive TouchScreen: (accel) acceleration threshold: 4
[ 62632.679] (II) event1 - Goodix Capacitive TouchScreen: is tagged by udev as: Keyboard Touchscreen
[ 62632.681] (II) event1 - Goodix Capacitive TouchScreen: device is a keyboard
[ 62632.681] (II) event1 - Goodix Capacitive TouchScreen: device is a touch device
[ 62632.684] (II) config/udev: Adding input device Goodix Capacitive TouchScreen (/dev/input/mouse0)
[ 62632.684] (II) No input driver specified, ignoring this device.
[ 62632.684] (II) This device may have been added with another device file.
[ 62632.688] (II) config/udev: Adding input device gpio-keys (/dev/input/event3)
[ 62632.688] (II) No input driver specified, ignoring this device.
[ 62632.688] (II) This device may have been added with another device file.
[ 62632.690] (II) config/udev: Adding input device rk817_ext Headphones (/dev/input/event9)
[ 62632.690] (II) No input driver specified, ignoring this device.
[ 62632.690] (II) This device may have been added with another device file.
[ 62632.731] (**) HID 1018:1006 Consumer Control: Applying InputClass "libinput keyboard catchall"
[ 62632.731] (II) Using input driver 'libinput' for 'HID 1018:1006 Consumer Control'
[ 62632.731] (II) systemd-logind: returning pre-existing fd for /dev/input/event8 13:72
[ 62632.731] (**) HID 1018:1006 Consumer Control: always reports core events
[ 62632.731] (**) Option "Device" "/dev/input/event8"
[ 62632.731] (II) libinput: HID 1018:1006 Consumer Control: is a virtual subdevice
[ 62632.731] (**) Option "config_info" "udev:/sys/devices/platform/fd840000.usb/usb2/2-1/2-1:1.1/0003:1018:1006.0002/input/input13/event8"
[ 62632.731] (II) XINPUT: Adding extended input device "HID 1018:1006 Consumer Control" (type: KEYBOARD, id 14)
[ 62632.732] (**) Goodix Capacitive TouchScreen: Applying InputClass "libinput keyboard catchall"
[ 62632.732] (**) Goodix Capacitive TouchScreen: Applying InputClass "libinput touchscreen catchall"
[ 62632.732] (II) Using input driver 'libinput' for 'Goodix Capacitive TouchScreen'
[ 62632.732] (II) systemd-logind: returning pre-existing fd for /dev/input/event1 13:65
[ 62632.732] (**) Goodix Capacitive TouchScreen: always reports core events
[ 62632.732] (**) Option "Device" "/dev/input/event1"
[ 62632.732] (II) libinput: Goodix Capacitive TouchScreen: is a virtual subdevice
[ 62632.732] (**) Option "config_info" "udev:/sys/devices/platform/fe5a0000.i2c/i2c-1/1-005d/input/input1/event1"
[ 62632.732] (II) XINPUT: Adding extended input device "Goodix Capacitive TouchScreen" (type: KEYBOARD, id 15)
[ 62643.581] (II) modeset(0): Allocate new frame buffer 1280x1280 stride
[ 62643.711] (II) modeset(0): Allocate new frame buffer 1280x800 stride
=== drm-info VPU presence ===
crw-rw----+ 1 root video 81, 0 May 3 08:58 /dev/video0
crw-rw----+ 1 root video 81, 1 May 3 08:58 /dev/video1
crw-rw----+ 1 root video 81, 2 May 3 08:58 /dev/video2
/dev/dri/:
total 0
drwxr-xr-x 3 root root 120 May 2 15:34 .
drwxr-xr-x 19 root root 4080 May 2 15:34 ..
drwxr-xr-x 2 root root 100 May 2 15:34 by-path
crw-rw----+ 1 root video 226, 0 May 3 08:58 card0
crw-rw----+ 1 root video 226, 1 May 3 08:58 card1
crw-rw-rw- 1 root render 226, 128 May 2 15:34 renderD128
@@ -0,0 +1,240 @@
=== installed Xorg-related packages ===
libx11
libxau
libxaw
libxcb
libxcomposite
libxcrypt
libxcursor
libxcvt
libxdamage
libxdmcp
libxext
libxfixes
libxfont2
libxft
libxi
libxinerama
libxkbcommon
libxkbcommon-x11
libxkbfile
libxml2
libxml2-legacy
libxmlb
libxmu
libxp
libxpm
libxpresent
libxrandr
libxrender
libxshmfence
libxslt
libxss
libxt
libxtst
libxv
libxxf86vm
xf86-input-libinput
xf86-input-wacom
xkeyboard-config
xorg-fonts-encodings
xorg-server
xorg-server-common
xorg-server-xvfb
xorg-setxkbmap
xorg-xauth
xorg-xdpyinfo
xorg-xkbcomp
xorg-xmessage
xorg-xprop
xorg-xrdb
xorg-xset
xorg-xwayland
xorgproto
xsettingsd
=== installed Mesa / GL ===
mesa 1:26.0.5-1
libglvnd 1.7.0-3
libdrm 2.4.131-1
=== installed video drivers (xf86-video-*) ===
(none — modesetting is in xorg-server)
=== /usr/lib/xorg/modules/drivers ===
modesetting_drv.so
=== SDDM xsessions ===
total 20
drwxr-xr-x 2 root root 4096 May 3 08:57 .
drwxr-xr-x 279 root root 12288 May 2 14:38 ..
-rw-r--r-- 1 root root 3508 Apr 7 21:50 plasmax11.desktop
--- /usr/share/xsessions/plasmax11.desktop ---
[Desktop Entry]
Type=XSession
Exec=/usr/bin/startplasma-x11
TryExec=/usr/bin/startplasma-x11
DesktopNames=KDE
Name=Plasma (X11)
Name[ar]=بلازما (اكس11)
Name[ast]=Plasma (X11)
Name[az]=Plasma (X11)
Name[be]=Plasma (X11)
Name[bg]=Plasma (X11)
Name[ca]=Plasma (X11)
Name[ca@valencia]=Plasma (X11)
Name[cs]=Plasma (X11)
Name[da]=Plasma (X11)
Name[de]=Plasma (X11)
Name[el]=Plasma (X11)
Name[en_GB]=Plasma (X11)
Name[eo]=Plasma (X11)
Name[es]=Plasma (X11)
Name[eu]=Plasma (X11)
Name[fi]=Plasma (X11)
Name[fr]=Plasma (X11)
Name[ga]=Plasma (X11)
Name[gl]=Plasma (X11)
Name[he]=פלזמה (X11)
Name[hi]=प्लाज़्मा (एक्स ११)
Name[hu]=Plasma (X11)
Name[ia]=Plasma (X11)
Name[id]=Plasma (X11)
Name[is]=Plasma (X11)
Name[it]=Plasma (X11)
Name[ja]=Plasma (X11)
Name[ka]=Plasma (X11)
Name[ko]=Plasma(X11)
Name[lt]=Plasma (X11)
Name[lv]=Plasma (X11)
Name[ml]=പ്ലാസ്മ (X11)
Name[nb]=Plasma (X11)
Name[nl]=Plasma (X11)
Name[nn]=Plasma (X11)
Name[pa]=ਪਲਾਜ਼ਮਾ (X11)
Name[pl]=Plazma (X11)
Name[pt]=Plasma (X11)
Name[pt_BR]=Plasma (X11)
Name[ro]=Plasma (X11)
Name[ru]=Plasma (X11)
Name[sa]=प्लाज्मा (X११)
Name[sk]=Plasma (X11)
Name[sl]=Plasma (X11)
Name[sv]=Plasma (X11)
Name[ta]=பிளாஸ்மா (X11)
Name[tg]=Плазма (X11)
Name[th]=Plasma (X11)
Name[tr]=Plasma (X11)
Name[uk]=Плазма (X11)
Name[vi]=Plasma (X11)
Name[zh_CN]=Plasma (X11)
Name[zh_TW]=Plasma (X11)
Comment=Plasma by KDE
Comment[ar]=بلازما كِيدِي
Comment[az]=KDE Plasma
Comment[be]=Plasma KDE
Comment[bg]=Plasma от KDE
Comment[bs]=Plazma od strane KDe
Comment[ca]=Plasma, creat per la comunitat KDE
Comment[ca@valencia]=Plasma, creat per la comunitat KDE
Comment[cs]=Plasma z KDE
Comment[da]=Plasma fra KDE
Comment[de]=Plasma von KDE
Comment[el]=Plasma από το KDE
Comment[en_GB]=Plasma by KDE
Comment[eo]=Plasma de KDE
Comment[es]=Plasma, por KDE
Comment[et]=KDE Plasma
Comment[eu]=KDEren Plasma
Comment[fi]=Plasma KDE:ltä
Comment[fr]=Plasma, par KDE
Comment[ga]=Plasma le KDE
Comment[gl]=Plasma, de KDE.
Comment[he]=פלזמה מבית KDE
Comment[hi]=केडीइ द्वारा प्लाज़्मा
Comment[hsb]=Plasma wot KDE
Comment[hu]=Plasma a KDE-től
Comment[ia]=Plasma per KDE
Comment[id]=Plasma oleh KDE
Comment[is]=Plasma frá KDE
Comment[it]=Plasma di KDE
Comment[ja]=Plasma by KDE
Comment[ka]=Plasma, KDE-სგან
Comment[ko]=KDE Plasma
Comment[lt]=Plasma pagal KDE
Comment[lv]=„Plasma“ no KDE
Comment[ml]=കെഡിഇയുടെ പ്ലാസ്മ
Comment[nb]=Plasma fra KDE
Comment[nds]=Plasma vun KDE
Comment[nl]=Plasma door KDE
Comment[nn]=Plasma frå KDE
Comment[pa]=KDE ਵਲੋਂ ਪਲਾਜ਼ਮਾ
Comment[pl]=Plazma dzięki KDE
Comment[pt]=Plasma do KDE
Comment[pt_BR]=Plasma pela KDE
Comment[ro]=Plasma, de către KDE
Comment[ru]=KDE Plasma
Comment[sa]=KDE इत्यस्मात् प्लाज्मा
Comment[sk]=Plasma od KDE
Comment[sl]=KDE Plasma
Comment[sr]=Плазма од КДЕ‑а
Comment[sr@ijekavian]=Плазма од КДЕ‑а
Comment[sr@ijekavianlatin]=Plasma od KDEa
Comment[sr@latin]=Plasma od KDEa
Comment[sv]=Plasma av KDE
Comment[ta]=கே.டீ.யீ. வழங்கும் பிளாஸ்மா
Comment[tg]=Plasma аз ҷониби KDE
Comment[th]=Plasma โดย KDE
Comment[tr]=KDE Plasma
Comment[uk]=Плазма KDE
Comment[vi]=Plasma, do KDE
Comment[zh_CN]=KDE Plasma
Comment[zh_TW]=Plasma by KDE
X-KDE-PluginInfo-Version=6.6.4
=== SDDM wayland-sessions ===
total 24
drwxr-xr-x 2 root root 4096 Apr 28 17:16 .
drwxr-xr-x 279 root root 12288 May 2 14:38 ..
-rw-r--r-- 1 root root 3860 Apr 7 21:50 plasma.desktop
-rw-r--r-- 1 root root 94 Apr 25 02:20 weston.desktop
=== alternate WMs installed ===
=== alternate WMs available in repos ===
Repository : extra Name : openbox
Repository : extra Name : fluxbox
Repository : extra Name : i3-wm
Repository : extra Name : xfwm4
Repository : extra Name : awesome
Repository : extra Name : bspwm
Repository : extra Name : icewm
Repository : extra Name : jwm
=== modesetting driver in use? ===
=== XWayland version ===
The X.Org Foundation Xwayland Version 24.1.11 (12401011)
X Protocol Version 11, Revision 0
xorg-xwayland 24.1.11-1
=== xorg-server version ===
xorg-server 21.1.22-1
/usr/lib/Xorg.wrap: Only console users are allowed to run the X server
=== mpv installed? ===
/usr/bin/mpv
mpv v0.41.0 Copyright © 2000-2025 mpv/MPlayer/mplayer2 projects
built on Feb 14 2026 00:53:08
libplacebo version: v7.360.1
mpv 1:0.41.0-3
=== rockchip DRM driver ===
DRIVER=rockchip-drm
OF_NAME=display-subsystem
OF_FULLNAME=/display-subsystem
OF_COMPATIBLE_0=rockchip,display-subsystem
OF_COMPATIBLE_N=1
MODALIAS=of:Ndisplay-subsystemT(null)Crockchip,display-subsystem
../../../bus/platform/drivers/rockchip-drm
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,77 @@
=== measurement-tool availability ===
xtrace -> /usr/bin/xtrace
/usr/bin/xtrace is owned by glibc 2.43+r5+g856c426a7534-1
xev -> MISSING
xprop -> /usr/bin/xprop
/usr/bin/xprop is owned by xorg-xprop 1.2.8-1
xrandr -> MISSING
xdpyinfo -> /usr/bin/xdpyinfo
/usr/bin/xdpyinfo is owned by xorg-xdpyinfo 1.4.0-1
glxinfo -> /usr/bin/glxinfo
/usr/bin/glxinfo is owned by mesa-utils 9.0.0-7
glxgears -> /usr/bin/glxgears
/usr/bin/glxgears is owned by mesa-utils 9.0.0-7
drm_info -> /usr/bin/drm_info
/usr/bin/drm_info is owned by drm-info 2.9.0-1
perf -> /usr/bin/perf
/usr/bin/perf is owned by perf 7.0.2-1
xinput -> MISSING
xset -> /usr/bin/xset
/usr/bin/xset is owned by xorg-xset 1.2.5-2
xkill -> MISSING
xwininfo -> MISSING
xmessage -> /usr/bin/xmessage
/usr/bin/xmessage is owned by xorg-xmessage 1.0.7-2
compton -> MISSING
picom -> MISSING
xcompmgr -> MISSING
Xephyr -> MISSING
Xnest -> MISSING
=== pkg providers for not-yet-installed tools ===
Repository : extra
Name : x11-ssh-askpass
Description : Lightweight passphrase dialog for SSH
Repository : extra
Name : radeontop
Description : View GPU utilization for total activity percent and individual blocks
=== perf availability + can-attach-to-Xorg test ===
perf version 7.0.2-1
alarmtimer:alarmtimer_cancel [Tracepoint event]
alarmtimer:alarmtimer_fired [Tracepoint event]
alarmtimer:alarmtimer_start [Tracepoint event]
alarmtimer:alarmtimer_suspend [Tracepoint event]
asoc:snd_soc_bias_level_done [Tracepoint event]
(note: perf record on Xorg requires sudo unless kernel.perf_event_paranoid<=1)
2
=== xtrace 2-second probe of plasmashell pid (proves trace works on a live X client) ===
plasmashell pid: 24802
executable `-n' not found
Try `xtrace --help' or `xtrace --usage' for more information.
=== xev -1 probe (capture single event, root window) ===
timeout: failed to run command 'xev': No such file or directory
=== Present extension QueryVersion via xcb_present probe (Python) ===
libxcb-present: libxcb-present.so.0
libxcb: libxcb.so.1
=== compton/picom (compositors a non-Plasma-X11 session might use) ===
picom missing
compton missing
xcompmgr missing
=== chrome trace categories that include X11/dri info (chromium-fourier --trace-startup-categories listing) ===
-rwxr-xr-x 1 mfritsche mfritsche 524192400 May 2 11:49 /tmp/chromium-ohm-gl-fix-step2/chrome
-> chromium-fourier present
-rwxr-xr-x 1 root root 427 Apr 30 16:23 /usr/bin/brave
-> brave present
-> firefox missing
@@ -0,0 +1,59 @@
=== probe repos for missing measurement tools ===
AVAILABLE: Repository : extra Name : xorg-xrandr Version : 1.5.4-1 Description : Primitive command line interface to RandR extension
AVAILABLE: Repository : extra Name : xorg-xev Version : 1.2.6-2 Description : Print contents of X events
AVAILABLE: Repository : extra Name : xorg-xinput Version : 1.6.4-2 Description : Small commandline tool to configure devices
AVAILABLE: Repository : extra Name : xorg-xwininfo Version : 1.1.6-2 Description : Command-line utility to print information about windows on an X server
AVAILABLE: Repository : extra Name : xorg-xkill Version : 1.0.7-1 Description : Kill a client by its X resource
AVAILABLE: Repository : extra Name : picom Version : 13-2 Description : Lightweight compositor for X11
AVAILABLE: Repository : extra Name : xcompmgr Version : 1.1.10-2 Description : Composite window effect manager for X.org
NOT IN REPOS: xtrace
NOT IN REPOS: xrestop
NOT IN REPOS: intel-gpu-tools
AVAILABLE: Repository : extra Name : sysprof Version : 50.0-1 Description : Kernel based performance profiler
=== check AUR-only candidates via paru/yay ===
/usr/bin/yay
=== drm_info cross-check: planes table head ===
Failed to retrieve information from /dev/dri/card1
drmModeGetPropertyBlob: No such file or directory
drmModeGetPropertyBlob: No such file or directory
Node: /dev/dri/card0
--
│ ├───CRTC 0
│ │ ├───Object ID: 51
│ │ ├───Legacy info
│ │ │ └───Gamma size: 1024
--
│ └───CRTC 1
│ ├───Object ID: 52
│ ├───Legacy info
│ │ ├───Mode: 800×1280@59.98
--
└───Planes
├───Plane 0
│ ├───Object ID: 33
│ ├───CRTCs: {0}
│ ├───Legacy info
--
├───Plane 1
│ ├───Object ID: 39
│ ├───CRTCs: {1}
│ ├───Legacy info
--
│ │ │ └───Planes:
│ │ │ └───Plane 0: offset = 0, pitch = 3200 bytes
│ │ └───Formats:
│ │ ├───XRGB8888 (0x34325258)
│ │ ├───ARGB8888 (0x34325241)
--
│ │ └───Planes:
│ │ └───Plane 0: offset = 0, pitch = 3200 bytes
│ ├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1
│ ├───"CRTC_ID" (atomic): object CRTC = 52
│ ├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 0
--
└───Plane 2
├───Object ID: 45
├───CRTCs: {0, 1}
├───Legacy info
@@ -0,0 +1,310 @@
# Phase 0 — X11 paths + measurement-instrument inventory
**Date captured:** 2026-05-03 09:08 CEST (ohm uptime 17h34m, 1280×800 panel)
**Session under capture:** Plasma X11 (`startplasma-x11`) on tty3,
session-id 347, Type=x11, kwin_x11 6.6.4 active (`--replace`).
**Captured from:** `mfritsche@noether` over SSH (`ohm.fritz.box`),
no operator interaction required for the captures themselves.
Raw evidence files in this directory:
- `01_live_session.txt` — Xorg cmdline, kwin_x11 cmdline, plasmashell,
full process tree, thermal/governor, Xorg.0.log tail.
- `02_x11_paths.txt` — installed packages, drivers, SDDM sessions,
WM availability, mpv, rockchip-drm bind.
- `03_xprotocol_extensions.txt` — xdpyinfo, per-extension probes,
glxinfo, drm_info (16k lines — large because drm_info dumps every
property). Excerpts copied below.
- `04_measurement_instruments.txt` — tool availability + perf
paranoid + xtrace probe.
- `05_repo_check_and_planes.txt` — repo availability of
not-yet-installed tools + planes-table head from drm_info.
## TL;DR
- **The currently-live "X11" session is Plasma X11 with `kwin_x11`
as compositing WM.** Per `phase0_findings.md`, this is **explicitly
excluded** from the without-KWin cell of the matrix. It is still
useful as the Phase 0 X11-substrate ground truth (live `Xorg`,
live drivers, live extensions). A second X11 *session type*
no compositor — has to be created before the matrix can run its
without-KWin cells. **Operator action required** (see § "What the
campaign cannot acquire over SSH alone" below).
- **X11 stack is healthy on ohm:** `xorg-server 21.1.22-1`, sole
DDX is `modesetting_drv.so` (in-server), Mesa `26.0.5-arch1.1`,
Panfrost (Mali-G52 r1 MC1), DRI3 + Present + Composite +
XVideo + RANDR all initialized. Direct rendering: yes.
- **All required X protocol extensions for the matrix are present**
on the running server: Composite, DAMAGE, DRI3, Present, RANDR,
SYNC, XVideo. (Confirmed via xdpyinfo extension listing — 28
extensions total.)
- **rockchip-drm planes are the same ones the predecessor cataloged**
on Wayland: Plane 39 (Primary, on CRTC 1 / object-id 52), Plane 45
(Overlay, on CRTCs {0,1}). Format-support details not re-extracted
in this capture but predecessor's
`kwin_overlay_subsurface/phase2_source_findings.md` is valid for
reference (Plane 39 is the only NV12-LINEAR-capable plane).
- **Most measurement tools we'll want are missing but free in extra:**
`xorg-xrandr`, `xorg-xev`, `xorg-xinput`, `xorg-xwininfo`,
`xorg-xkill`, `sysprof`. Operator-installable via one `pacman -S`.
- **mpv 0.41.0 is installed** with libplacebo 7.360.1 — the
reference X11-overlay client called out in
`phase0_findings.md` § "Open questions" can be added to the
matrix without further install.
- **Firefox is NOT installed.** Two of the six matrix cells (`C-W-ff-*`,
`C-X-ff-*`) need it. Operator decision whether to install or to
drop Firefox from the matrix.
- **The X11 protocol tracer `xtrace` is AUR-only**, NOT in extra.
The `/usr/bin/xtrace` shipped with glibc is a *syscall* tracer,
unrelated. If protocol-trace evidence is wanted for X11 cells
parallel to `WAYLAND_DEBUG=1` for Wayland cells, this is an
operator-tasked install (or a build-from-source, or a switch to
`xscope`/Python xcb capture).
- **`perf_event_paranoid = 2`** so perf record on Xorg PID needs
sudo or a one-line sysctl tweak.
## Deliverable 2 — X11 paths inventory
### Installed (confirmed, no install needed)
| Component | Version | Notes |
|---|---|---|
| `xorg-server` | 21.1.22-1 | binary `/usr/lib/Xorg`, runs as `vt3 -seat seat0 -keeptty -novtswitch -verbose 3 -auth ...` |
| Sole DDX driver | `modesetting_drv.so` | shipped *inside* `xorg-server`; no `xf86-video-*` package needed (and none would help on rockchip-drm) |
| Mesa | 1:26.0.5-1 | Panfrost (Mali-G52 r1 MC1), GL 3.1 core / GLES 3.1 |
| `libdrm` | 2.4.131-1 | |
| `libglvnd` | 1.7.0-3 | |
| `xorg-xwayland` | 24.1.11-1 | for the Wayland axis only — NOT used for native X11 cells |
| AIGLX module | rockchip | per Xorg.0.log line "AIGLX: Loaded and initialized rockchip" |
| GLX provider | DRI2 | Xorg log: "GLX: Initialized DRI2 GL provider for screen 0" — DRI3 also initialized via separate extension; both available to clients |
### SDDM-advertised sessions
| File | Type | Exec | Status |
|---|---|---|---|
| `/usr/share/xsessions/plasmax11.desktop` | X11 | `/usr/bin/startplasma-x11` | **the only X11 session SDDM offers today** |
| `/usr/share/wayland-sessions/plasma.desktop` | Wayland | (Plasma 6.6.4 startup) | predecessor's baseline session |
| `/usr/share/wayland-sessions/weston.desktop` | Wayland | weston | reference Wayland compositor (separate concern) |
### WM availability
| WM | Installed? | Available in repo? |
|---|---|---|
| `kwin_x11` | yes (running) | (KDE) — **excluded** from without-KWin cell per matrix definition |
| openbox | **no** | yes (extra) |
| fluxbox | **no** | yes (extra) |
| i3-wm | **no** | yes (extra) |
| xfwm4 | **no** | yes (extra) |
| awesome | **no** | yes (extra) |
| bspwm | **no** | yes (extra) |
| icewm | **no** | yes (extra) |
| jwm | **no** | yes (extra) |
**Verdict:** zero non-compositing WMs are installed today. The
without-KWin cell of the matrix needs operator install +
SDDM session-entry creation (or a `startx` from a free TTY).
**Recommendation: openbox.** Smallest install, no compositing by
default, well-documented, used by the LFS/X11-tutorial canon for
this exact "minimal X11" purpose.
### Display + DRM
- DRM driver: **rockchip-drm** (compatible
`rockchip,display-subsystem`).
- `/dev/dri/card0` (active) and `/dev/dri/card1` (secondary VOP —
drm_info fails to read it, normal on dual-VOP rockchip), plus
`/dev/dri/renderD128`.
- Panel: 1280×800 @ 59.98 Hz (the panel is mounted portrait so the
DRM mode reads as 800×1280; Xorg presents it 1280×800 logical
after rotation).
- Xorg.0.log shows `modeset(0): Damage tracking initialized` and a
re-allocation `Allocate new frame buffer 1280x800 stride`
modesetting + DRI3-Present are wired up cleanly.
- `/dev/video0..2` present (hantro VPU character devices —
unchanged from predecessor).
### Browsers
| Browser | Installed? | Path |
|---|---|---|
| brave | yes | `/usr/bin/brave` (`brave-bin 1:1.89.145-1`) |
| chromium-fourier | yes | `/tmp/chromium-ohm-gl-fix-step2/chrome` (149.0.7812.0, Step 1 + Step 2) |
| firefox | **no** | NOT installed — operator decision needed |
## Deliverable 4 — X11 measurement-instrument inventory
### Installed and verified working
| Tool | Path | Owner pkg | Notes |
|---|---|---|---|
| `xprop` | `/usr/bin/xprop` | xorg-xprop 1.2.8 | window-property dump (works) |
| `xdpyinfo` | `/usr/bin/xdpyinfo` | xorg-xdpyinfo 1.4.0 | display + extension probe (works); per-extension probe limited (e.g. `-ext Present` returns "not supported by xdpyinfo" — the ext IS on the server, xdpyinfo just lacks the printer) |
| `xset` | `/usr/bin/xset` | xorg-xset 1.2.5 | DPMS + repeat etc. |
| `xmessage` | `/usr/bin/xmessage` | xorg-xmessage 1.0.7 | popup notifier — useful for unattended tests as ack-flag |
| `glxinfo` / `glxgears` | `/usr/bin/glxinfo` etc. | mesa-utils 9.0.0 | GL renderer + benchmark fallback |
| `drm_info` | `/usr/bin/drm_info` | drm-info 2.9.0 | plane/CRTC/format dump under live X11 |
| `perf` | `/usr/bin/perf` | perf 7.0.2 | works; **perf_event_paranoid=2** so attaching to Xorg needs `sudo perf record -p <Xorg_pid>` or `sysctl kernel.perf_event_paranoid=1` first |
| Python `libxcb-present.so.0` | shared lib present | (libxcb) | xcb_present capture from a small Python client is doable — the protocol-side present-feedback path the matrix wants for end-to-end latency timing |
### Missing-but-installable (single `pacman -S` from extra)
| Tool | Pkg | Why we want it |
|---|---|---|
| `xrandr` | `xorg-xrandr 1.5.4-1` | output / vblank / mode CLI for the cells |
| `xev` | `xorg-xev 1.2.6-2` | per-window event capture (X equivalent of `wayland-info` event echo) |
| `xinput` | `xorg-xinput 1.6.4-2` | input-device probe for the touchscreen/touchpad confound |
| `xwininfo` | `xorg-xwininfo 1.1.6-2` | get the browser window's geometry/wid for targeted xprop/xrandr crop math |
| `xkill` | `xorg-xkill 1.0.7-1` | clean kill of a stuck client between reps |
| `sysprof` | `sysprof 50.0-1` | userspace alt to perf with nicer flamegraph defaults |
**Recommend:** install all six together —
`sudo pacman -S xorg-xrandr xorg-xev xorg-xinput xorg-xwininfo xorg-xkill sysprof`
(no session restart needed; doesn't affect kwin_x11).
### Missing — AUR or build-from-source
| Tool | Source | Why we'd want it |
|---|---|---|
| `xtrace` (X protocol tracer, NOT the glibc syscall xtrace) | AUR | parallel to `WAYLAND_DEBUG=1` for the X cells of the matrix — captures every X protocol request/reply per browser frame |
| `xrestop` | AUR | per-X-client resource (windows/pixmaps/GCs) snapshot — handy for "browser leaks GC handles per video frame" diagnostics |
| `intel-gpu-tools` | not applicable | rockchip GPU is Mali, irrelevant here |
`xtrace` (X-protocol) is the only one that materially affects the
research question. Whether to install is an operator decision —
the matrix doesn't strictly need protocol traces to answer the
research question (effective fps, drops, CPU% are
extension-independent), but they would be useful for cross-server
parity claims. Default-conservative: skip `xtrace` for now, add
later if a Phase 1 cell needs it.
### What the X server itself supports (live xdpyinfo)
28 extensions. Of the seven the matrix actually needs:
| Extension | Status on running X server | Use |
|---|---|---|
| Composite | initialized (line 87 of Xorg log) | window-redirect base; *off* by default in non-compositing WMs which is what we want for the without-KWin cell |
| DAMAGE | initialized | per-window invalidation events |
| DRI3 | initialized | dmabuf import/export from clients (needed for browser/mpv hardware paths) |
| Present | initialized | flip-presentation w/ vblank-aligned timing — **the X-side equivalent of `wp_presentation_feedback` for end-to-end latency** |
| RANDR | initialized | mode + output info, vblank events |
| SYNC | initialized | `XSyncCounter` for present timing fences |
| XVideo | initialized | legacy hardware-overlay path (Xv); mpv `--vo=xv` uses this |
All seven are present.
### Extension-level "is it really wired up" probe results
- `xdpyinfo -ext Present|DAMAGE|DRI3|RANDR|XVideo` all return
"extension not supported by xdpyinfo" — that's an `xdpyinfo`
capability gap, **not** a server gap. Confirmed via the master
extension list above.
- For a definitive Present-extension probe, use a small XCB
client (`xcb_present_query_version`) — `libxcb-present.so.0` is
on the system. This is the same shape of probe `mpv --vo=gpu
--gpu-context=x11` would do at startup; a successful mpv launch
doubles as the probe.
- Composite extension is initialized, but the matrix's
without-KWin cell wants Composite to be *unredirected for the
browser window* so that the X server's plane allocator can
scanout the browser's NV12 dmabuf onto Plane 39 directly.
Whether each browser actually issues
`XCompositeUnredirectWindow` (or just trusts no-compositor-WM
default) is the **browser-side open question** in
`phase0_findings.md` § "Open questions". The Phase 0
browser-overlay-path inventory will address that.
## Cross-checks against the predecessor
These ground-truth confirmations are from this campaign's session,
**not** imported as data per the campaign-contained-data rule:
| Predecessor claim | This-session check | Match? |
|---|---|---|
| "Plane 39 is the Primary plane on the active CRTC" | drm_info under X11 shows Plane object-id 39 on CRTC object-id 52 (CRTC 1) | ✓ |
| "Plane 45 is the Overlay plane" | drm_info shows Plane object-id 45 on CRTCs {0,1} | ✓ |
| "rockchip-drm is the active DRM driver" | sysfs `card0/device/uevent` confirms `DRIVER=rockchip-drm` | ✓ |
| "kernel 6.19.10-danctnix1-1-pinetab2, Mesa 26.0.5" | uname -a + pacman -Q match | ✓ |
| "CPU governor is `performance`" | `/sys/devices/system/cpu/cpu*/cpufreq/scaling_governor` all = performance | ✓ |
| "/dev/video0..2 are the hantro VPU nodes" | confirmed (root:video, mode 660, present at session start) | ✓ |
These are agreement-with-substrate checks, not measurement
imports. They establish that the hardware/kernel/Mesa/governor
substrate the predecessor described is the substrate this
campaign starts from.
## What the campaign cannot acquire over SSH alone
These items require operator action because they involve session
switches at the SDDM greeter or root-only state changes that
warrant explicit ack:
1. **Install the missing measurement tools** (one-shot):
```sh
sudo pacman -S xorg-xrandr xorg-xev xorg-xinput xorg-xwininfo xorg-xkill sysprof
```
(Optionally also: `sudo pacman -S openbox` and `sudo pacman -S firefox` —
see items 2 and 3.)
2. **Create a non-compositing WM session for the without-KWin cell.**
Operator decision: openbox (smallest, recommended) vs i3 vs fluxbox.
Steps once a WM is installed (e.g. openbox):
- `sudo pacman -S openbox`
- Verify `/usr/share/xsessions/openbox.desktop` exists (the
openbox package ships one); SDDM picks it up at next greet.
- **Operator switches at the SDDM greeter** (logout from current
Plasma X11 → choose "Openbox" → log in). Cannot be SSH-driven.
- Once in the openbox session, this campaign re-runs the live-
session capture (`01_live_session.txt`-equivalent) under the
no-compositor WM to confirm `kwin_x11` is gone from the process
list and the Composite extension is *unused* for browser windows.
3. **Decide whether Firefox is in scope.** Two cells of the matrix
reference Firefox; it is not currently installed. Either
`sudo pacman -S firefox` (and the `firefox-vaapi` is already part
of mesa's `va_gl` driver) or accept Firefox cells as N/A.
4. **Enable perf to attach to Xorg without sudo per-rep.** Either
the per-run cell uses `sudo perf record`, or do once:
```sh
echo "kernel.perf_event_paranoid = 1" | sudo tee /etc/sysctl.d/90-perf.conf
sudo sysctl --system
```
The latter is consistent with what the predecessor used for
per-rep perf-on-`kwin_wayland` capture; recommend setting it
the same way here.
5. **Optional: install the X-protocol `xtrace` from AUR**
(`yay -S xtrace`). Only if Phase 1 wants protocol-level evidence
parallel to `WAYLAND_DEBUG=1`; the matrix's primary metrics
(effective_fps / drops / latency / CPU%) don't require it.
## What this inventory does NOT cover
These were called out as separate Phase 0 deliverables in
`worklist.md` and are **not addressed** here:
- **Browser X11-overlay-path inventory** (worklist.md §
"browser X11-overlay-path inventory"). The matrix's strongest
hypothesis depends on whether each browser actually requests
hardware-overlay presentation under X11. Source-grep + chrome
trace inspection — separate work item.
- **A1 in-session Wayland baseline** (worklist.md § "A1 baseline").
Mandatory per the governing rule. The user is currently in the
X11 session, so the A1 Wayland baseline cannot be acquired
until the user either switches back to Wayland or starts a
parallel Wayland-only test rep. Operator-tasked.
- **State snapshot of ohm under current Plasma Wayland**
(worklist.md item 1) — same constraint: requires the user to
be in Wayland for the snapshot to be of Wayland. The current
capture covers Plasma X11 instead, which is *adjacent* to but
not a replacement for the Wayland snapshot.
## Verdict for Phase 1 readiness (deliverables 2 + 4 only)
**Phase 0 deliverables 2 and 4 are complete.** The X11 substrate
exists, is healthy, and supports every protocol extension the matrix
will need. The without-KWin matrix cells are blocked on a small
operator-action list above (one `pacman -S`, one WM install + SDDM
session switch). No technical surprises — nothing structurally
prevents the matrix from running.
+22 -20
View File
@@ -42,18 +42,16 @@ inventory and baseline-anchor work below.
via SSH. Captures package versions, kernel, kwin_wayland
PID + cmdline, governor, services, browser binary versions,
test asset paths, thermal_zone temps.
- [ ] Inventory of available X11 paths on ohm:
- Installed packages: `xorg-server`, `xorg-xinit`,
`xorg-xrandr`, drm/dri stack, `mesa-x11` if separated.
- SDDM-advertised sessions: list `/usr/share/xsessions/*`.
- Alternate WMs available (openbox, fluxbox, xfwm4, i3,
etc.) — what's installed, what'd need installing.
- Whether modesetting Xorg driver (`xf86-video-modesetting`)
is the active driver path on rockchip-drm, vs an older
armsoc/fbdev driver.
- XWayland availability and version (relevant only as a
third comparison axis — primary X11 cells are NATIVE
Xorg, not XWayland).
- [x] Inventory of available X11 paths on ohm. Captured
2026-05-03 in `phase0_evidence/x11_inventory_2026-05-03/`
(raw `02_x11_paths.txt` + summary `inventory.md` § "Deliverable 2").
Verdict: xorg-server 21.1.22 + Mesa 26.0.5 / Panfrost healthy,
modesetting (in-server) is sole DDX, only `kwin_x11` WM
installed today, six WM candidates available in extra,
Plasma X11 + Plasma Wayland + Weston are the SDDM-advertised
sessions. Operator action: `pacman -S` a non-compositing WM
(recommend openbox) and create/switch to its SDDM session
before without-KWin cells can run.
- [ ] **NEW: Browser X11-overlay-path inventory.** Per
`phase0_findings.md` § "Open questions": determine whether
Brave 147 ozone-x11, chromium-fourier 149 ozone-x11, and
@@ -69,14 +67,18 @@ inventory and baseline-anchor work below.
from "do browsers use it." If mpv hits Plane 39 NV12 cleanly
but browsers don't, the answer is "X11 path is fast, but
the browsers don't take advantage of it."
- [ ] Inventory of X11-side measurement instruments. Available
options: `xtrace` (X protocol tracer), `xev` (event viewer),
`xprop` (window properties), `xrandr --verbose` (output
state), `glxinfo`, `compton-trans` for compositor detection,
perf on Xorg PID. Frame-timing under X11 typically uses
`XPresent` notify events or `INTEL_swap_event` GLX
extension equivalents — what's available on rockchip is
open.
- [x] Inventory of X11-side measurement instruments. Captured
2026-05-03 in `phase0_evidence/x11_inventory_2026-05-03/`
(raw `04_measurement_instruments.txt` + summary `inventory.md`
§ "Deliverable 4"). Live X server supports all 7 needed
extensions (Composite, DAMAGE, DRI3, Present, RANDR, SYNC,
XVideo). Tools installed: xprop, xdpyinfo, xset, glxinfo,
drm_info, perf, mpv, libxcb-present. Tools missing-but-in-extra:
xrandr CLI, xev, xinput, xwininfo, xkill, sysprof — one
`pacman -S` away. AUR-only: X-protocol `xtrace` (the
`/usr/bin/xtrace` from glibc is a syscall tracer, unrelated);
optional, matrix doesn't strictly need protocol traces.
perf_event_paranoid=2 — set to 1 once for unattended runs.
- [ ] **A1 baseline: in-session Wayland-with-KWin anchor.**
Mandatory per the governing rule. 3 reps minimum (variance
is a real concern on this hardware per the predecessor