Steam Deck at 1280x720?

My game runs at 1280x720 instead of the native 1280x800.
In Unity’s Player, Resolution and Presentation is set to Fullscreen Window and Default is Native Resolution, and in steam I tried default, native and even specify 1280x800.
Log goes something like this:

- Loaded All Assemblies, in 0.123 seconds
- Finished resetting the current domain, in 0.003 seconds
ERROR: Shader Hidden/Universal Render Pipeline/DBufferClear shader is not supported on this GPU (none of subshaders/fallbacks are suitable)
Default vsync count 0
requesting resize 1280 x 720
requesting fullscreen 1280 x 720 at 0/1 Hz
Setting up downscaled viewport at 1280 x 720
Desktop is 1280 x 800 @ 60 Hz
Disable old input system
UnloadTime: 1.152321 ms
1280x720 << Debug.Log($"{UnityEngine.Screen.width}x{UnityEngine.Screen.height}");

Unity is 2022.3.19f1.
Any idea where does is “size request” is coming from?

Are you running in Desktop Mode or Steam Gaming Mode? Do you have anything video-related like a dock or monitor attached by USB-C? When you view your game, does it have content all the way to the top and bottom of the displayable hardware?

Heyhey,

  • Steam Gaming Mode
  • Nothing attached
  • If I understand your question properly yes, it is resized not cut, which means all widgets seems to adapt to the new res with the rules I set up on widgets

Weird and annoying to track, I don’t know where it is coming from

Have you checked “Supported Aspect Ratios” under Project Settings/Player/Resolution and Presentation?

Hihi,

I don’t have such an entry, but my player is set to “Default is Native Resolution” so I’m guessing i’s not relevant.

Cheers,

It should be right there just slightly lower. The checkbox portion might be collapsed by default.

I swear over my left hand that that option is not there on my end.

Checking on 2022 changelog:

So yeah, that is not a thing anymore apparently.

1 Like

this is interesting… i tried a plain 2d template build on my steamdeck with exactly the same setting, seems to be working as expected. i am also using 2022.3.13f1 LTS. i tried both desktop mode and gaming mode.

if this is a multi-display setup, then there maybe some issue with the multidisplay stuff. the size request should be coming from the size you requested when building.

Just remembered one more thing. Steamdeck allows overriding resolution if you open Game properties/General (same place as where you can specify launch options). Maybe at some point you have changed it or steamdeck set it automatically for some weird reasons.

Mine is a 3d game, I haven’t had more time to dig into it but if it becomes a problem in the future I’ll create a repro project package and submit a bug report

I haven’t touched anything the afaik

1 Like

Hi, I was having a similar issue, first was rendering a 4:3 aspect, then 16:9 on Steam deck (but works fine on Windows desktop) and Unity 2022.3.21.

After testing some Unity settings, the “Fullscreen mode” setting on “Maximixed Window” has fixed the issue, but dont work on Fullscreen or Exclusive Window.

(Just reporting here to help another person :v)

1 Like

still trying to understand the issue here. I originally thought the issue is that user sets the window size in unity player setting to 1280 x 720, but steam deck changes to 1280x800. But look again on this post seems like that the game player setting is 1280x800. so i am guessing the game tries to dynamically adjust resolution in run time, which i think will not work. If it’s the latter case, please file a bug for us to investigate further. Thanks a lot!

There’s probably some bouncing around going on in the startup process. For me, I found there’s a moment early in the Unity Player startup, for Windows builds on SteamDeck, where the reported resolution was 800x1280 (a portrait resolution, not a landscape, possibly because the SteamDeck uses a portrait LCD), and if you set 1280x800 it responds with 800x600. Do the same code a frame later, and everything worked smoother, reporting 1280x800 available.

I didn’t debug in-depth, I just punted the issue. I detect a SteamDeck and forced resolution to the biggest N of (1280xN) reported as available for the first three frames. This covers native LCD resolution and HDMI television/dock resolutions.

Detection:

SystemInfo.processorType.Contains("AMD Custom APU") &&
SystemInfo.deviceModel.Contains("Valve"))

Available Sizes:

Screen.resolutions

The docs for FullScreenMode enum make it sound like MaximizedWindow and ExclusiveFullScreen are both platform-specific and will always fall back to FullScreenWindow if not on that platform, but if that is not the case then this should be clarified in docs.

1 Like