protonscr

SDL 1.2 Games have fullscreen issues with multimonitor setups.

steamclosed
ValveSoftware/steam-for-linux#8219 · opened 2021-11-10 by Lyle-Tafoya · updated 2021-11-10 · 1 comments · github
LLyle-Tafoya 2021-11-10 github

This isn't really a Steam bug. This is an SDL 1.2 bug. However, I think there is something Valve can do to help alleviate the problem, which is why I am posting this here.

The problem is that SDL 1.2 games set to fullscreen mode will not be confined to one monitor. They stretch across all monitors, with the image in the middle. For example, if you have 2 1080p monitors and you fullscreen the game in 1920x1080 mode, it will actually run in 3840x1080, but the 1920x1080 images will be centered and rendered half on monitor A and half on monitor B. A game you can test this on is Cave Story+. You can see this in the recent Linus Tech Tips video where he tries Linux for 1 month. However, there are a variety of SDL 1.2 games on Steam with the same problem.

There is a drop-in library replacement for SDL 1.2 called sdl12-compat. This library runs SDL 1.2 games on SDL 2, which allows it to take advantage of various bugfixes. The only problem is that it isn't 100% complete yet and so it may not work perfectly for every SDL 1.2 game.

If Valve could take a personal interest in that project and help it move along to a more complete stage of development and then incorporate it into the steam linux runtime, that should fix this issue for all affected games. I believe there are also other issues that native SDL 1.2 titles have on Linux which could be fixed by this.

Kkisak-valve maintainer 2021-11-10 github

Hello @Lyle-Tafoya, thanks for the suggestion, but asking for Valve devs to pick up additional projects outside of Steam is out of scope for this issue tracker.

The practical approach to increase adoption of sdl2-compat is to help improve sdl12-compat upstream at https://github.com/libsdl-org/sdl12-compat until there's a significant advantage to use it and persuade distributions to increase adoption of the alternative implementation. The LD_* style steam runtime prefers the host system's version of a library and if individual games are built against the Steam runtime instead of bundling libsdl 1.2 with their game, then they will automatically benefit.

Nothing extracted yet.