mirror of
https://github.com/games-on-whales/wolf.git
synced 2026-10-15 21:12:08 +00:00
[PR #392] [CLOSED] feat: advertise comprehensive display modes (ultrawide, 16:10, 3:2) #439
Labels
No labels
🧠 1 - 🤖 999
AMD
bug
bug
cannot reproduce
documentation
duplicate
easy
enhancement
enhancement
enhancement
fixed?
fixed?
good first issue
hard
help wanted
Intel
invalid
LXC
medium
moonlight-protocol
Multi GPU
nixos
not a bug
nvidia
pull-request
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
games-on-whales/wolf#439
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/games-on-whales/wolf/pull/392
Author: @JBailes
Created: 4/14/2026
Status: ❌ Closed
Base:
stable← Head:feat/comprehensive-display-modes📝 Commits (2)
4c6bb4bfeat: advertise comprehensive display modes (ultrawide, 16:10, 3:2)14c64a5Committing clang-format changes📊 Changes
1 file changed (+79 additions, -24 deletions)
View changed files
📝
src/moonlight-server/state/data-structures.hpp(+79 -24)📄 Description
Summary
DISPLAY_CONFIGURATIONSlist instate/data-structures.hppfrom 16:9-only (720p/1080p/1440p/2160p/8K) to a comprehensive catalog covering 16:9, 16:10, 3:2, 21:9, 32:9, and 4:3/5:4.Motivation
Moonlight clients build their resolution dropdown — and, on Moonlight-Qt, gate the "custom resolution" input — against the server's advertised
<SupportedDisplayMode>list. Users with:could not stream at their native resolution, even though the rest of the pipeline already supports it.
Why this is safe
The
/launchhandler (rest/endpoints.hpp:376-379), session plumbing (sessions/common.cpp:35-37), andwaylanddisplaysrcinvocation (streaming/streaming.cpp:98-106) all pass client-requestedWxHthrough verbatim with no validation or clamping. The advertised list is the only gate. This change is purely a protocol-advertising expansion — no pipeline behavior changes.Strict clients (e.g. Nintendo Switch Moonlight) that refuse non-advertised modes now see a wider set too, per the existing comment in
data-structures.hpp.Test plan
cmakebuild succeedsGET /serverinforeturns the new modes in<SupportedDisplayMode>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.