Files
netris-nestri/apps/nescapture/Cargo.toml
T
WanjohiandDatCaptainHorse bd249422df Games that draw with OpenGL or Chromium no longer stream a black screen (#402)
Guest image fixes from #401, plus the dev changes that had not reached
prod yet.

- **OpenGL games render** (Dome Keeper, confirmed on an AMD host). The
guest's Mesa gains its EGL/GLX frontends, and `vm.overcommit_memory=1`
stops a large reservation being refused before it is used.
- **Chromium / NW.js games get past their first frame** (Sheepy).
nescope answers every commit, and paces Xwayland windows too.
- **Proton patch step.** `build/patches/proton/` and the `-nN` tag.
Nothing uses it until hosts are pointed at the new tag.
- Also included: the pixelforge update already on dev. It is in the
image tested today.

**Versions kept, not downgraded.** Dev still had host agent 0.2.13 and
desktop 0.1.0. The last commit restores prod's 0.2.16 and 0.1.2, so this
merge changes no install versions.

**After merge.** `make push` from this prod commit publishes the guest
image. The host agent release that raises LAYOUT to 6 makes hosts pull
it.

---------

Co-authored-by: DatCaptainHorse <DatCaptainHorse@users.noreply.github.com>
2026-10-15 08:21:39 +00:00

45 lines
1.1 KiB
TOML

[package]
name = "nescapture"
version = "0.2.0"
edition.workspace = true
license.workspace = true
repository.workspace = true
description = "Vulkan implicit layer: direct frame capture, Vulkan Video encode, and IPC out to the session transport"
[lib]
name = "nescapture_layer"
crate-type = ["cdylib"]
[dependencies]
# Vulkan bindings
ash = { git = "https://github.com/ash-rs/ash", rev = "f4c2ca3e4f6b998d5254ad101a32f024d87cdec2" }
# Shader fingerprinting
sha2 = "0.10"
bytemuck = "1"
# Concurrent state maps
dashmap = "6"
once_cell = "1"
pollster = "1.0"
# Logging
log = "0.4"
env_logger = "0.11"
anyhow = "1"
# Per-game shader-hash config
toml = "0.8"
serde = { version = "1", features = ["derive"] }
# Vulkan Video hardware encoding.
pixelforge = { git = "https://github.com/DatCaptainHorse/pixelforge.git", rev = "21bb5cdb2ae128eb762e4750378916aac8dd3c82" }
# libc for socket options
libc = "0.2"
# Shared IPC protocol
nesprotocol = { path = "../../crates/nesprotocol" }
# PyroWave, the LAN codec, on the same device as pixelforge.
nespyro = { path = "../../crates/nespyro" }