Merge branch 'worktree-agent-a220ca550d5f8734b' into worktree-dep-currency-wave
This commit is contained in:
Generated
+9
-9
@@ -4036,12 +4036,12 @@ checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4"
|
||||
|
||||
[[package]]
|
||||
name = "reis"
|
||||
version = "0.6.1"
|
||||
version = "0.7.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2aee09758db35e73eb1398c6ef321973ce7f4aad86573ba08c1c8ef98d350b46"
|
||||
checksum = "4b967ec6489a42067a20724f11987bb96178ea796873cbe1afd25fb93ee6f85f"
|
||||
dependencies = [
|
||||
"enumflags2",
|
||||
"futures",
|
||||
"futures-util",
|
||||
"log",
|
||||
"rustix",
|
||||
"tokio",
|
||||
@@ -6155,9 +6155,9 @@ checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e"
|
||||
|
||||
[[package]]
|
||||
name = "x11rb"
|
||||
version = "0.13.2"
|
||||
version = "0.14.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9993aa5be5a26815fe2c3eacfc1fde061fc1a1f094bf1ad2a18bf9c495dd7414"
|
||||
checksum = "5a8885a854a8bfdf87a301e53e41b17c5f8f33639903131338b997b1eb614f44"
|
||||
dependencies = [
|
||||
"gethostname",
|
||||
"rustix",
|
||||
@@ -6166,9 +6166,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "x11rb-protocol"
|
||||
version = "0.13.2"
|
||||
version = "0.14.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ea6fc2961e4ef194dcbfe56bb845534d0dc8098940c7e5c012a258bfec6701bd"
|
||||
checksum = "acf4d1bc32aa46eec18caa634ec3cf4c05bfa151f12b93b510b15190f69a1ca8"
|
||||
|
||||
[[package]]
|
||||
name = "x509-parser"
|
||||
@@ -6199,9 +6199,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "xkbcommon"
|
||||
version = "0.8.0"
|
||||
version = "0.9.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8d66ca9352cbd4eecbbc40871d8a11b4ac8107cfc528a6e14d7c19c69d0e1ac9"
|
||||
checksum = "a7a974f48060a14e95705c01f24ad9c3345022f4d97441b8a36beb7ed5c4a02d"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"memmap2",
|
||||
|
||||
@@ -37,7 +37,7 @@ tokio = { version = "1", features = ["rt", "rt-multi-thread", "net", "time", "sy
|
||||
# visibility from gamescope's nested Xwayland via XFixes instead and feed the existing cursor slot.
|
||||
# `RustConnection` is the pure-Rust default (no libxcb link → no new C dependency on the host); the
|
||||
# `xfixes` feature (auto-pulls `render` + `shape`) is what exposes GetCursorImage/SelectCursorInput.
|
||||
x11rb = { version = "0.13", default-features = false, features = ["xfixes"] }
|
||||
x11rb = { version = "0.14", default-features = false, features = ["xfixes"] }
|
||||
|
||||
[target.'cfg(target_os = "windows")'.dependencies]
|
||||
# The host<->driver wire contract for the sealed frame channel (control IOCTL structs + frame header).
|
||||
|
||||
@@ -147,7 +147,7 @@ libloading = "0.8"
|
||||
# pure-Rust `RustConnection` — no libxcb link, so no new C dependency on any client package
|
||||
# — the same stance pf-capture and pf-vdisplay already take on this crate. No extension
|
||||
# features: root-window properties and an event mask are core X11.
|
||||
x11rb = { version = "0.13", default-features = false }
|
||||
x11rb = { version = "0.14", default-features = false }
|
||||
|
||||
[target.'cfg(windows)'.dependencies]
|
||||
wasapi = "0.23"
|
||||
|
||||
@@ -39,14 +39,14 @@ wayland-protocols = { version = "0.32", features = ["client"] }
|
||||
wayland-scanner = "0.31"
|
||||
wayland-backend = "0.3"
|
||||
# libei (EI sender) for the portable input path on KWin/GNOME (RemoteDesktop portal) + gamescope-EI.
|
||||
reis = { version = "0.6.1", features = ["tokio"] }
|
||||
reis = { version = "0.7.1", features = ["tokio"] }
|
||||
futures-util = "0.3"
|
||||
# `macros` is for the `tokio::select!` in the libei and steam_usbip worker loops. It used to be
|
||||
# absent and compile anyway, borrowed from punktfunk-core's `quic` feature via unification — i.e. an
|
||||
# unrelated crate dropping it would have broken this one.
|
||||
tokio = { version = "1", features = ["rt", "rt-multi-thread", "net", "time", "macros"] }
|
||||
# Builds/validates the xkb keymap uploaded to the virtual keyboard + tracks modifier state.
|
||||
xkbcommon = "0.8"
|
||||
xkbcommon = "0.9"
|
||||
# Vendored + trimmed usbip server core — presents a virtual Steam Deck over USB/IP for Steam Input.
|
||||
usbip-sim = { path = "../punktfunk-host/vendor/usbip-sim" }
|
||||
|
||||
|
||||
@@ -58,7 +58,7 @@ wayland-backend = "0.3"
|
||||
bitflags = "2"
|
||||
# The gamescope bare-spawn splash client (gamescope/splash.rs): pure-Rust X11 core protocol (the
|
||||
# same no-libxcb-link stance as pf-capture's XFixes cursor source), no extension features needed.
|
||||
x11rb = { version = "0.13", default-features = false }
|
||||
x11rb = { version = "0.14", default-features = false }
|
||||
|
||||
[target.'cfg(target_os = "windows")'.dependencies]
|
||||
# Windows-only, all three, and gated here rather than unconditionally so the LINUX build does not
|
||||
|
||||
@@ -3791,11 +3791,19 @@ fn plan_bind(
|
||||
/// the bind only arms for a resolved `punktfunk-gamescope`, whose patch level 2+ paints the pointer
|
||||
/// into the capture node itself, so `SessionPlan::gamescope_cursor` is false and the reader is
|
||||
/// never spawned (`session_plan::gamescope_needs_host_cursor`). On the ATTACH route, where the
|
||||
/// reader IS spawned, it reaches the display over the ABSTRACT socket `@/tmp/.X11-unix/X<n>` —
|
||||
/// x11rb tries that before the filesystem path, and an abstract socket lives in the network
|
||||
/// namespace, which this unit does not get one of. If that ever fails, the reader logs and retries
|
||||
/// forever; the stream runs without a composited pointer. Nothing else host-side opens an X
|
||||
/// connection: capture is PipeWire, injection is libei/EIS, clipboard is Wayland.
|
||||
/// reader IS spawned, we never arm this bind — the session is someone else's, started by
|
||||
/// `gamescope-session-plus`, and its `/tmp` is the real one — so the filesystem socket
|
||||
/// `/tmp/.X11-unix/X<n>` is exactly where `DISPLAY` says it is and the reader reaches it by path.
|
||||
/// (`punktfunk-host.service` sets no `PrivateTmp`, on purpose, so the host shares that `/tmp`.)
|
||||
///
|
||||
/// That last sentence used to lean on x11rb trying the ABSTRACT socket `@/tmp/.X11-unix/X<n>`
|
||||
/// first, which would have survived even a bind, since an abstract socket lives in the network
|
||||
/// namespace and this unit gets none of its own. **x11rb 0.14 dropped the abstract attempt**
|
||||
/// (`rust_connection::stream`, "Connect to this Unix socket by path"), so the filesystem path is
|
||||
/// now the only one. Should the two ever have to coexist — a bind armed on a route that also
|
||||
/// spawns the reader — the reader would not connect; it logs and retries forever, and the stream
|
||||
/// runs without a composited pointer. Nothing else host-side opens an X connection: capture is
|
||||
/// PipeWire, injection is libei/EIS, clipboard is Wayland.
|
||||
struct SessionBind {
|
||||
wrapper: std::path::PathBuf,
|
||||
/// The user-owned directory bound over [`X11_SOCKET_DIR`], or `None` when the real one is
|
||||
|
||||
Reference in New Issue
Block a user