Putting the 'role' back in role-playing games since 2002.
Donate to Codex
Good Old Games
  • Welcome to rpgcodex.net, a site dedicated to discussing computer based role-playing games in a free and open fashion. We're less strict than other forums, but please refer to the rules.

    "This message is awaiting moderator approval": All new users must pass through our moderation queue before they will be able to post normally. Until your account has "passed" your posts will only be visible to yourself (and moderators) until they are approved. Give us a week to get around to approving / deleting / ignoring your mundane opinion on crap before hassling us about it. Once you have passed the moderation period (think of it as a test), you will be able to post normally, just like all the other retards.

Does your game not run in full resolution when launched from Steam while desktop scaling > 100%?

Nathaniel3W

Rockwell Studios
Patron
Developer
Joined
Feb 5, 2015
Messages
1,241
Location
Washington, DC
Strap Yourselves In Codex Year of the Donut Codex+ Now Streaming!
Hey guys, I've had this problem with both of the games that I've released on Steam. Earlier today I figured out how to fix it.

If you launch your game through Steam, while Windows desktop scaling is over 100%, then you can't use your monitor's native resolution. So if you have a 4k monitor, and your desktop scaling is set to 150%, and you launch your game through Steam, the maximum resolution is 1440. I'm trying to find out how to stop that and use the full resolution of the monitor.

You can, if you follow the instructions at https://www.reddit.com/r/SteamController/comments/zu05wc/steam_overlay_and_windows_desktop_scaling/. I did that and both of my games now run at full resolution when launched through Steam. But I can't expect all of my players to do that.

Do your games have this problem? Do any other games in your library have this problem? Is this something that Steam could fix if they changed how the launcher works? Is this something I could fix if I knew what I was doing?
 

MLMarkland

Arcane
Developer
Joined
Dec 12, 2006
Messages
1,663
Location
Malibu, CA
Hey guys, I've had this problem with both of the games that I've released on Steam. Earlier today I figured out how to fix it.

If you launch your game through Steam, while Windows desktop scaling is over 100%, then you can't use your monitor's native resolution. So if you have a 4k monitor, and your desktop scaling is set to 150%, and you launch your game through Steam, the maximum resolution is 1440. I'm trying to find out how to stop that and use the full resolution of the monitor.

You can, if you follow the instructions at https://www.reddit.com/r/SteamController/comments/zu05wc/steam_overlay_and_windows_desktop_scaling/. I did that and both of my games now run at full resolution when launched through Steam. But I can't expect all of my players to do that.

Do your games have this problem? Do any other games in your library have this problem? Is this something that Steam could fix if they changed how the launcher works? Is this something I could fix if I knew what I was doing?
What’s your hardware setup? GPUs, multiple monitors? Anything relevant.
 

Nathaniel3W

Rockwell Studios
Patron
Developer
Joined
Feb 5, 2015
Messages
1,241
Location
Washington, DC
Strap Yourselves In Codex Year of the Donut Codex+ Now Streaming!
23-inch 4k monitor plugged into Nvidia RTX 3060. Windows desktop scaling set to 150%. Just the one monitor right now.

All of my players on both of my games (both built in UE3) reported [maximum game resolution] = [native resolution] / [desktop scaling]. If I launched the game on its own, maximum resolution is the monitor's native resolution. If I launched the game through Steam with desktop scaling, maximum resolution was lower. Is that the case for most games on Steam? In order to get my games to run at full resolution, I had to follow the instructions above. Is there any way to get full resolution without the above fix?
 

MLMarkland

Arcane
Developer
Joined
Dec 12, 2006
Messages
1,663
Location
Malibu, CA
23-inch 4k monitor plugged into Nvidia RTX 3060. Windows desktop scaling set to 150%. Just the one monitor right now.

All of my players on both of my games (both built in UE3) reported [maximum game resolution] = [native resolution] / [desktop scaling]. If I launched the game on its own, maximum resolution is the monitor's native resolution. If I launched the game through Steam with desktop scaling, maximum resolution was lower. Is that the case for most games on Steam? In order to get my games to run at full resolution, I had to follow the instructions above. Is there any way to get full resolution without the above fix?
Have you tried forcing steam to use your GPU for scaling? This may produce poor results, but if it changes the underlying behavior it can help you trouble shoot by adjusting GPU scaling and monitor overscan processes (1:1, full pixel, no scale). The game and the app may have different default desktop formats (FS, windowed, borderless, black bar, etc).

If encountered in a game production environment, and an answer wasn’t obvious, we would just methodically change each and every setting in sequence to identify the root cause (and do it with both monitor processes and GPU processes).

Also look for checkboxes that say “Force [Anything]” and uncheck them after running through the basic and advanced settings for monitor and GPU.

Additionally, you may have an input discrepancy, Steam sending a generic input to cable, Monior expecting a specific input to cable — these can cause issues and may be fixed via settings.

What cable to monitor?

HDMI / DVI / USB-C / 4K DisplayPort / Composite

Check that the apps are expecting the correct cable, the cable is plugged into the correct socket on board and the primary socket on monitor.

Advanced cables themselves can also become confused — you can usually trick them out just by plugging them into something else, turning it on, turning it off, and then returning it to the computer setup.
 

Nathaniel3W

Rockwell Studios
Patron
Developer
Joined
Feb 5, 2015
Messages
1,241
Location
Washington, DC
Strap Yourselves In Codex Year of the Donut Codex+ Now Streaming!
Um. Thanks for the suggestions. This happens on all monitors, on all video cards, with all cables. This happens with all of my players, several thousand of them. How does one force Steam to use my GPU for scaling? I don't even know what that means.

The only difference is whether I launch the game directly (which I can do as the developer), or if I launch it from Steam (which all of my players have to do because they're not the developer). If I launch the game directly, I have full resolution. If I launch the game through Steam, I lose resolution. If I change desktop scaling to 100%, or if I set the Steam exe properties to override high DPI scaling behavior, then I get full resolution back. That's why I think there's a problem with the Steam client. But if other games don't have this problem, I wonder how they got around it.

I wasn't actually trying to troubleshoot this so much. I was telling the other devs here "If your game doesn't run in full resolution when launched from Steam, this is how to fix it." But if anyone else fixed this problem with their own game, I'd like to know how they did it.
 

MLMarkland

Arcane
Developer
Joined
Dec 12, 2006
Messages
1,663
Location
Malibu, CA
Um. Thanks for the suggestions. This happens on all monitors, on all video cards, with all cables. This happens with all of my players, several thousand of them. How does one force Steam to use my GPU for scaling? I don't even know what that means.

The only difference is whether I launch the game directly (which I can do as the developer), or if I launch it from Steam (which all of my players have to do because they're not the developer). If I launch the game directly, I have full resolution. If I launch the game through Steam, I lose resolution. If I change desktop scaling to 100%, or if I set the Steam exe properties to override high DPI scaling behavior, then I get full resolution back. That's why I think there's a problem with the Steam client. But if other games don't have this problem, I wonder how they got around it.

I wasn't actually trying to troubleshoot this so much. I was telling the other devs here "If your game doesn't run in full resolution when launched from Steam, this is how to fix it." But if anyone else fixed this problem with their own game, I'd like to know how they did it.
Didn’t notice you were talking in context of development.

Steam API should have what you need to make your solution default behavior on client side
 

ds

Cipher
Patron
Joined
Jul 17, 2013
Messages
1,376
Location
here
Does this also help when you set it on your executable instead of steam/steamoverlay.exe? 'Right Click -> Properties -> Compatibility -> Change High DPI Settings -> Check to Override -> Select "Application."'
What if you disable the Steam overlay?

You can also try setting the dpiAware flag in your application manifest: https://learn.microsoft.com/en-us/w...tting-the-default-dpi-awareness-for-a-process
This should be equivalent to forcing it in the compat properties and is normally the way to fix that but if the Steam overlay is somehow causing this then it might not be enough.
 

Nathaniel3W

Rockwell Studios
Patron
Developer
Joined
Feb 5, 2015
Messages
1,241
Location
Washington, DC
Strap Yourselves In Codex Year of the Donut Codex+ Now Streaming!
ds thanks! I had no idea about that. I jumped straight into gameplay script programming and never learned anything about building exe files. It DOES work as intended when I set high DPI override manually on my game's executable. I was wondering how I could send that setting to the players.

I found my application manifest (I think) and I updated it. I'm building the new exe now and I'll see if it works. Keeping my fingers crossed. Thanks so much for the information.
 

MLMarkland

Arcane
Developer
Joined
Dec 12, 2006
Messages
1,663
Location
Malibu, CA
ds thanks! I had no idea about that. I jumped straight into gameplay script programming and never learned anything about building exe files. It DOES work as intended when I set high DPI override manually on my game's executable. I was wondering how I could send that setting to the players.

I found my application manifest (I think) and I updated it. I'm building the new exe now and I'll see if it works. Keeping my fingers crossed. Thanks so much for the information.
With https://learn.microsoft.com/en-us/w...pi-desktop-application-development-on-windows

Via the application exe ideally with a data file with various variables depending on what the executable first measures as the clients’ hardware setup, then ideally storing the changes and reverting them during natural application shutdown.

But if the behavior is Steam client related, Steam should have a similar part of the API to do similar things and Steam’s API might automatically revert scaling / DPI changes if you use the proper function (or maybe you’ll still need to do it manually)
 

MLMarkland

Arcane
Developer
Joined
Dec 12, 2006
Messages
1,663
Location
Malibu, CA
Eventually I was able to get it to work using the sample manifest file at https://learn.microsoft.com/en-us/w...tting-the-default-dpi-awareness-for-a-process. I had to download the Windows SDK and then use mt.exe to set the manifest. I don't know why I couldn't build the exe with the manifest, but the mt.exe route worked well enough. Thanks!
Excellent. The manifest solution is definitely superior if the game will be PC / Windows only.

If you move onto multi-platform deployment, the API call method is more likely to be stable.
 

As an Amazon Associate, rpgcodex.net earns from qualifying purchases.
Back
Top Bottom