Skip to content

Bundle a slim FreeRDP 3.33.0 and discard wfreerdp audio instead of muting it - #45

Merged
mlopezsegura merged 2 commits into
masterfrom
feature/slim-freerdp
Nov 14, 2026
Merged

mlopezsegura merged 2 commits into
masterfrom
feature/slim-freerdp

Conversation

@mlopezsegura

@mlopezsegura mlopezsegura commented Nov 8, 2026 •

Copy link
Copy Markdown
Collaborator

What

  • FreeRDP/wfreerdp.exe is now the SlimFreeRDP build: FreeRDP 3.33.0 + OpenSSL 3.6.5, static, only the channels OpenStreamMS uses (rdpsnd, audin, rdpdr, drdynvc, plus rail/encomsp, which the Windows client needs), microphone patch included. 9.2 MB → 5.8 MB.
  • The other six executables in FreeRDP/ (proxy, SDL clients, server, winpr tools, ~51 MB) are removed; nothing uses them. The folder goes from ~60 MB to 5.8 MB.
  • wfreerdp now runs with /sound:sys:fake. It acknowledges each audio block to the server and discards it, so the host never plays the session audio and wfreerdp is no longer muted through AudioSessionMuter. mstsc still plays the redirected audio, so it is still muted (MuteRdpClientOnHost).
  • The microphone patch is stored with LF line endings (.gitattributes). With CRLF, git apply failed on the FreeRDP sources.
  • THIRD_PARTY_NOTICES and docs/puestos-locales.md are updated.

Not available in the new wfreerdp

/gfx, /rfx, clipboard, drive/printer/smartcard redirection, H.264. OpenStreamMS uses none of them.

Checked

  • Build passes and all 42 tests pass.
  • The new exe accepts every argument OpenStreamMS passes and loads its channels.
  • TLS + NLA handshake against the local RDP server works with the trimmed OpenSSL (reaches the logon check).

To check before merging

  • Seat with a microphone (reconnects with FreeRDP): session starts, Moonlight/Sunshine audio is fine, nothing plays on the host, the microphone works inside the session.
  • RdpClient: freerdp: same checks on a regular session.
  • mstsc session: host stays muted as before.

🤖 Generated with Claude Code

mlopezsegura and others added 2 commits November 8, 2026 23:05
- FreeRDP/wfreerdp.exe is now the SlimFreeRDP build (FreeRDP 3.33.0 + OpenSSL 3.6.5,
  static, only the channels in use, microphone patch included): 9.2 MB -> 5.8 MB.
- Remove freerdp-proxy, sdl2/sdl3-freerdp, sfreerdp-server, winpr-hash and
  winpr-makecert (~51 MB), which nothing uses.
- wfreerdp uses /sound:sys:fake: it acknowledges and discards the redirected audio,
  so the host never plays it and it no longer needs AudioSessionMuter. mstsc still
  plays it and is still muted.
- The microphone patch is stored with LF endings (.gitattributes) so git apply works
  on the FreeRDP sources.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@mlopezsegura
mlopezsegura merged commit bb86810 into master Nov 14, 2026
1 check passed
@mlopezsegura
mlopezsegura deleted the feature/slim-freerdp branch November 14, 2026 00:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant