[PR #2891] Add option to disable CRT aspect ratio accuracy correction #1295

Closed
opened 2026-01-29 19:16:15 +00:00 by claunia · 0 comments
Owner

Original Pull Request: https://github.com/stenzek/duckstation/pull/2891

State: closed
Merged: No


DuckStation's aspect ratio stretching doesn't actually stretch the game display to match the resolution of the ratio, e.g. a game doesn't get stretched to 320x240 when the aspect ratio is set to 4:3, as it also makes the image thinner to more closely match what is displayed on CRTs, i.e. a 512px-framebuffer game set to 4:3 will be 292 pixels wide. Some games are built around the actual aspect ratio displayed on CRT screens, and for the games that aren't I added a setting for retaining the ordinary aspect ratio.

Notes:
Labelled as "CRT Pillarboxing" in settings, but it might need a better name. It also lacks a description in both Qt UI and big picture mode.
While I made sure the code worked for every aspect ratio, resolution upscale, and crop mode, two errors slipped past myself at the last minute: the display is erroneously stretched when the aspect ratio is set to 1:1 PAR, and when the "Stretch To Fill" setting is enabled, it doesn't fill the entire screen, meaning there will often be a sort of letterboxing effect.

**Original Pull Request:** https://github.com/stenzek/duckstation/pull/2891 **State:** closed **Merged:** No --- DuckStation's aspect ratio stretching doesn't actually stretch the game display to match the resolution of the ratio, e.g. a game doesn't get stretched to 320x240 when the aspect ratio is set to 4:3, as it also makes the image thinner to more closely match what is displayed on CRTs, i.e. a 512px-framebuffer game set to 4:3 will be 292 pixels wide. Some games are built around the actual aspect ratio displayed on CRT screens, and for the games that aren't I added a setting for retaining the ordinary aspect ratio. Notes: Labelled as "CRT Pillarboxing" in settings, but it might need a better name. It also lacks a description in both Qt UI and big picture mode. While I made sure the code worked for every aspect ratio, resolution upscale, and crop mode, two errors slipped past myself at the last minute: the display is erroneously stretched when the aspect ratio is set to 1:1 PAR, and when the "Stretch To Fill" setting is enabled, it doesn't fill the entire screen, meaning there will often be a sort of letterboxing effect.
claunia added the pull-request label 2026-01-29 19:16:15 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/duckstation#1295