Back to Nvidia Maxwell 😀
Since my 1 month trial period with ChatGPT will have been finished in 2 days I thought that after my T430 reverse engineering adventures with ChatGPT it's time to concentrate a little on my Maxwell GPU.
Here is the result: NV43Fix. It is based on the idea of 'NVSC 3', the newly discovered parameter that enables aspect ratio corrected output on digital flat panels (at least) in case of Maxwell.
While Nvidia's aspect ratio correction algorithm is mathematically correct historically it is not. That is it works correctly with classic 4:3 resolutions like 640x480, 800x600, 1024x768 but it does not work correctly with non-square pixel resolutions like 320x200 or 640x400. It treats 320x200 and 640x400 as real 16:10 resolutions. This is also true for 720x400 text modes. So on a 16:9 display you still get a too wide projection even if the 'NVSC 3' command sets aspect ratio corrected projection.
NV43Fix solves this problem a rather simple way: regardless of the source resolution it always projects all video modes to (4/3 * max panel height) x (max panel height) resolution. Examples:
1920x1080 -> 1440x1080
1680x1050 -> 1400x1050
1600x900 -> 1200x900
Important: This is not a TSR but a one shot utility. It patches the aspect ratio correction code in the memory image of the Nvidia BIOS. Unfortunately the BIOS image is read-only by default and there is no universal and vendor independent way that can make it (temporarily) writable. Currently 2 methods are supported: an Intel one and an AMD one. The Intel version should work at least from Sandy Bridge to Broadwell and the AMD version should work from K8 to Bulldozer. As for GPUs it should work where 'NVSC 3' works.
But really only the following configurations were tested by me: Intel i7-4770k + GTX 970 and AMD Phenom II x4 960 + GTX 960.
So user feedback is welcome.
I know that unlike notebook LCDs most desktop monitors have either automatic or manual aspect ratio selection but there can be problems with this:
1. Over digital connection modern NVidia GPUs project all video modes to the native mode of the digital panel. So the automatic aspect ratio correction of the monitor cannot even detect that a video mode change happened.
2. On monitors where manual aspect ratio selection is available the corresponding menu item can be reached with at least 5+ button presses 😀
I do think that NV43FIX as a solution to this problem is more convenient (at least it is for me).
The attachment NV43FIX.zip is no longer available