Add native self-hosted instance connection to fluxer_desktop

Trimmed monorepo checkout (fluxer_desktop + packages/voice_engine_v2 +
tools/ci) with a "Connect to a Different Server" menu item and popout
that lets the desktop app switch to any self-hosted Fluxer instance,
plus fixes for well-known discovery on single-domain self-hosted
deployments and a false-positive ERR_ABORTED on same-origin client
redirects during the switch. Defaults to chat.fluxr.chat and uses an
isolated userData directory from the official build.
This commit is contained in:
2026-07-01 18:22:43 -04:00
commit 682afacd30
1763 changed files with 613720 additions and 0 deletions
@@ -0,0 +1,40 @@
<!-- SPDX-License-Identifier: AGPL-3.0-or-later -->
# obs-vkcapture Runtime Assets
Fluxer can launch Linux games with OBS-compatible Vulkan/OpenGL capture enabled.
The Fluxer code in this package does not include obs-vkcapture source code; it only
sets launch environment variables and speaks the OBS-compatible capture socket
protocol implemented by the Rust backend.
The Rust receiver treats OBS import modes as a fallback ladder:
- `default-dmabuf`, `no-modifiers-dmabuf`, and `linear-dmabuf` request GPU
DMA-BUF descriptors from the hook. Until a local GPU importer validates those
descriptors end to end, Fluxer reports them as requested rather than available.
- `linear-host-mapped-dmabuf` is the conservative CPU fallback. Frames carry an
NV12 CPU payload, and may also expose source texture DMA-BUF metadata so the
downstream native WebRTC layer can opportunistically try GPU import before
falling back to the CPU payload.
- Unsupported host-mapped layouts, invalid file descriptors, unsupported fourcc
values, and invalid strides/offsets must surface as lifecycle diagnostics and
must not be treated as successful capture.
If Fluxer ships obs-vkcapture hook binaries under `obs-vkcapture/`, treat those
files as a separate third-party runtime component. The upstream project currently
ships GNU GPL version 2 license text, and distro metadata may label the package as
GPL-2.0-or-later. Use the more conservative GPL-2.0 boundary unless upstream
files in the vendored revision clearly state otherwise.
Distribution checklist for bundled hook assets:
- Keep the obs-vkcapture binaries and manifests under `obs-vkcapture/`.
- Include the exact upstream license text and copyright notices next to the
bundled assets.
- Record the upstream repository URL, revision, local patches, and build script.
- Provide corresponding source for the exact shipped binaries, or a compliant
written source offer when applicable.
- Keep package metadata including `THIRD_PARTY_OBS_VKCAPTURE.md` and
`obs-vkcapture/**/*`; loader tests assert those package entries.
- Do not copy obs-vkcapture implementation code into AGPL-licensed Fluxer modules
unless the license compatibility has been explicitly reviewed.