mirror of
https://github.com/nestriness/nestri.git
synced 2025-12-11 00:05:36 +02:00
## Description Oops.. another massive PR 🥲 This PR contains multiple improvements and changes. Firstly, thanks gst-wayland-display's PR [here](https://github.com/games-on-whales/gst-wayland-display/pull/20). NVIDIA path is now way more efficient than before. Secondly, adding controller support was a massive hurdle, requiring me to start another project [vimputti](https://github.com/DatCaptainHorse/vimputti) - which allows simple virtual controller inputs in isolated containers. Well, it's not simple, it includes LD_PRELOAD shims and other craziness, but the library API is simple to use.. Thirdly, split runner image into 3 separate stages, base + build + runtime, should help keep things in check in future, also added GitHub Actions CI builds for v2 to v4 builds (hopefully they pass..). Fourth, replaced the runner's runtime Steam patching with better and simpler bubblewrap patch, massive thanks to `games-on-whales` to figuring it out better! Fifth, relay for once needed some changes, the new changes are still mostly WIP, but I'll deal with them next time I have energy.. I'm spent now. Needed to include these changes as relay needed a minor change to allow rumble events to flow back to client peer. Sixth.. tons of package updates, minor code improvements and the usual. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * End-to-end gamepad/controller support (attach/detach, buttons, sticks, triggers, rumble) with client/server integration and virtual controller plumbing. * Optional Prometheus metrics endpoint and WebTransport support. * Background vimputti manager process added for controller handling. * **Improvements** * Multi-variant container image builds and streamlined runtime images. * Zero-copy video pipeline and encoder improvements for lower latency. * Updated Steam compat mapping and dependency/toolchain refreshes. * **Bug Fixes** * More robust GPU detection, input/fullscreen lifecycle, startup/entrypoint, and container runtime fixes. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: DatCaptainHorse <DatCaptainHorse@users.noreply.github.com>
105 lines
4.5 KiB
Modula-2
105 lines
4.5 KiB
Modula-2
module relay
|
|
|
|
go 1.25.0
|
|
|
|
require (
|
|
github.com/libp2p/go-libp2p v0.44.0
|
|
github.com/libp2p/go-libp2p-pubsub v0.15.0
|
|
github.com/libp2p/go-reuseport v0.4.0
|
|
github.com/multiformats/go-multiaddr v0.16.1
|
|
github.com/oklog/ulid/v2 v2.1.1
|
|
github.com/pion/ice/v4 v4.0.10
|
|
github.com/pion/interceptor v0.1.41
|
|
github.com/pion/rtp v1.8.24
|
|
github.com/pion/webrtc/v4 v4.1.6
|
|
github.com/prometheus/client_golang v1.23.2
|
|
google.golang.org/protobuf v1.36.10
|
|
)
|
|
|
|
require (
|
|
github.com/benbjohnson/clock v1.3.5 // indirect
|
|
github.com/beorn7/perks v1.0.1 // indirect
|
|
github.com/cespare/xxhash/v2 v2.3.0 // indirect
|
|
github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c // indirect
|
|
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0 // indirect
|
|
github.com/filecoin-project/go-clock v0.1.0 // indirect
|
|
github.com/flynn/noise v1.1.0 // indirect
|
|
github.com/francoispqt/gojay v1.2.13 // indirect
|
|
github.com/gogo/protobuf v1.3.2 // indirect
|
|
github.com/google/uuid v1.6.0 // indirect
|
|
github.com/gorilla/websocket v1.5.3 // indirect
|
|
github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect
|
|
github.com/huin/goupnp v1.3.0 // indirect
|
|
github.com/ipfs/go-cid v0.5.0 // indirect
|
|
github.com/jackpal/go-nat-pmp v1.0.2 // indirect
|
|
github.com/jbenet/go-temp-err-catcher v0.1.0 // indirect
|
|
github.com/klauspost/compress v1.18.0 // indirect
|
|
github.com/klauspost/cpuid/v2 v2.3.0 // indirect
|
|
github.com/koron/go-ssdp v0.1.0 // indirect
|
|
github.com/libp2p/go-buffer-pool v0.1.0 // indirect
|
|
github.com/libp2p/go-flow-metrics v0.3.0 // indirect
|
|
github.com/libp2p/go-libp2p-asn-util v0.4.1 // indirect
|
|
github.com/libp2p/go-msgio v0.3.0 // indirect
|
|
github.com/libp2p/go-netroute v0.3.0 // indirect
|
|
github.com/libp2p/go-yamux/v5 v5.1.0 // indirect
|
|
github.com/libp2p/zeroconf/v2 v2.2.0 // indirect
|
|
github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd // indirect
|
|
github.com/miekg/dns v1.1.68 // indirect
|
|
github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b // indirect
|
|
github.com/mikioh/tcpopt v0.0.0-20190314235656-172688c1accc // indirect
|
|
github.com/minio/sha256-simd v1.0.1 // indirect
|
|
github.com/mr-tron/base58 v1.2.0 // indirect
|
|
github.com/multiformats/go-base32 v0.1.0 // indirect
|
|
github.com/multiformats/go-base36 v0.2.0 // indirect
|
|
github.com/multiformats/go-multiaddr-dns v0.4.1 // indirect
|
|
github.com/multiformats/go-multiaddr-fmt v0.1.0 // indirect
|
|
github.com/multiformats/go-multibase v0.2.0 // indirect
|
|
github.com/multiformats/go-multicodec v0.10.0 // indirect
|
|
github.com/multiformats/go-multihash v0.2.3 // indirect
|
|
github.com/multiformats/go-multistream v0.6.1 // indirect
|
|
github.com/multiformats/go-varint v0.1.0 // indirect
|
|
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
|
|
github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 // indirect
|
|
github.com/pion/datachannel v1.5.10 // indirect
|
|
github.com/pion/dtls/v2 v2.2.12 // indirect
|
|
github.com/pion/dtls/v3 v3.0.7 // indirect
|
|
github.com/pion/logging v0.2.4 // indirect
|
|
github.com/pion/mdns/v2 v2.0.7 // indirect
|
|
github.com/pion/randutil v0.1.0 // indirect
|
|
github.com/pion/rtcp v1.2.16 // indirect
|
|
github.com/pion/sctp v1.8.40 // indirect
|
|
github.com/pion/sdp/v3 v3.0.16 // indirect
|
|
github.com/pion/srtp/v3 v3.0.8 // indirect
|
|
github.com/pion/stun v0.6.1 // indirect
|
|
github.com/pion/stun/v3 v3.0.0 // indirect
|
|
github.com/pion/transport/v2 v2.2.10 // indirect
|
|
github.com/pion/transport/v3 v3.0.8 // indirect
|
|
github.com/pion/turn/v4 v4.1.1 // indirect
|
|
github.com/prometheus/client_model v0.6.2 // indirect
|
|
github.com/prometheus/common v0.67.1 // indirect
|
|
github.com/prometheus/procfs v0.17.0 // indirect
|
|
github.com/quic-go/qpack v0.5.1 // indirect
|
|
github.com/quic-go/quic-go v0.55.0 // indirect
|
|
github.com/quic-go/webtransport-go v0.9.0 // indirect
|
|
github.com/rogpeppe/go-internal v1.13.1 // indirect
|
|
github.com/spaolacci/murmur3 v1.1.0 // indirect
|
|
github.com/wlynxg/anet v0.0.5 // indirect
|
|
go.uber.org/dig v1.19.0 // indirect
|
|
go.uber.org/fx v1.24.0 // indirect
|
|
go.uber.org/mock v0.6.0 // indirect
|
|
go.uber.org/multierr v1.11.0 // indirect
|
|
go.uber.org/zap v1.27.0 // indirect
|
|
go.yaml.in/yaml/v2 v2.4.3 // indirect
|
|
golang.org/x/crypto v0.43.0 // indirect
|
|
golang.org/x/exp v0.0.0-20251017212417-90e834f514db // indirect
|
|
golang.org/x/mod v0.29.0 // indirect
|
|
golang.org/x/net v0.46.0 // indirect
|
|
golang.org/x/sync v0.17.0 // indirect
|
|
golang.org/x/sys v0.37.0 // indirect
|
|
golang.org/x/telemetry v0.0.0-20251014153721-24f779f6aaef // indirect
|
|
golang.org/x/text v0.30.0 // indirect
|
|
golang.org/x/time v0.14.0 // indirect
|
|
golang.org/x/tools v0.38.0 // indirect
|
|
lukechampine.com/blake3 v1.4.1 // indirect
|
|
)
|