moonlight-stream / moonlight-qt

GameStream client for PCs (Windows, Mac, Linux, and Steam Link)
GNU General Public License v3.0
9.84k stars 570 forks source link

Steamdeck: no native resolution for HDMI TV #1349

Open KoderFPV opened 1 month ago

KoderFPV commented 1 month ago

Describe the bug On Steamdeck, when TV is attached via USB-C, no native resolution is discovered. Have to select a resolution manually in settings

Steps to reproduce

Client PC details (please complete the following information)

Server PC details (please complete the following information)

Additional context Want to use this app https://github.com/Nonary/ResolutionAutomation

It works for Steamdeck itself and for MacBook M1 13" It does not work for TV, because no native resolution was discovered.

Is possible somehow to manually set native display resolution ex. as env variable or smth?

cgutman commented 1 month ago

By default the Steam Deck, forces all apps to 1280x800. You can override by setting the Resolution to Native.

https://www.wikihow.com/Force-Steam-Deck-Resolution

Rumik commented 1 week ago

I have this issue too.

Even though the app itself is set to Native in its steam config, going into the Moonlight app settings, "Native" is not an option. It IS an option when just using the Steam Deck internal display.

What this means in practice is that when I am using the Steam Deck in Handheld mode, games stream at 1280x800 (native), and when using Docked mode, games still stream in 1280x800 because Moonlight doesn't detect a new Native resolution when docked.

Ideally, Moonlight would detect the resolution set in the Steam Deck's display settings when using an external display, and use that as its "Native" resolution.

verfehlix commented 4 days ago

I have the same problem. What is weird that I think this used to work, even for external displays. Setting it to "Native" resolution in the steam launch settings worked, but does not seem to work anymore.

Rumik commented 4 days ago

It would be wonderful to see a comment from the devs on this ❤️

verfehlix commented 4 days ago

I just manually rolled back to v5.0.1 (https://github.com/moonlight-stream/moonlight-qt/releases/tag/v5.0.1) and setting it to "native" seems to work again, so this may actually be a regression somewhere between v5.0.1 and v6.0.1

FrogTheFrog commented 3 days ago

I have this issue too.

Even though the app itself is set to Native in its steam config, going into the Moonlight app settings, "Native" is not an option. It IS an option when just using the Steam Deck internal display.

What this means in practice is that when I am using the Steam Deck in Handheld mode, games stream at 1280x800 (native), and when using Docked mode, games still stream in 1280x800 because Moonlight doesn't detect a new Native resolution when docked.

Ideally, Moonlight would detect the resolution set in the Steam Deck's display settings when using an external display, and use that as its "Native" resolution.

I think it was a bug somewhere that Moonlight would react to a "Native" resolution. I've looked into code and it seems that the streaming resolution is always taken from the config.

The way "Native" works now (and apparently before) is:

  1. User opens the dropdown.
  2. Dropdown box generates a list of currently detected resolutions (called "Native") + presets
  3. User selects "Native"
  4. "Native" (for example, 1280x800) is saved to the config as 1280x800
  5. Moonlight uses saved resolution which is 1280x800, not "Native" or anything

As far as I can see there was never a feature that would truly resize to "Native" stream resolution, it's just an unfortunate naming. The window itself does resize, but not the stream resolution.

Rumik commented 3 days ago

Rolling back didn't solve it for me. Keeping my fingers crossed for a fix.

FrogTheFrog commented 20 hours ago

Rolling back didn't solve it for me. Keeping my fingers crossed for a fix.

There is no fix. Moonlight stream "size" never scaled to the Moonlight window size. If it did, then it was a bug and something might have been broken.

It would have to be a new feature...