Thanks. Based on your description and the log file and the thread you linked to, I think I can see what's going wrong.
As you say, the screen resolution is 1:1 but the strange thing on your headset is this is not matched by the projection.
E.g. for left eye:
GetProjectionMatrix: Left -1.635 Right 0.833 Top -1.118 Bottom 1.122
This gives X/Y of (1.635 + 0.833) / (1.118 + 1.122) = 2.468 / 2.24 = 1.102
Those values are tangents of FOV in each direction so can be safely added before the division. The problem is the result is 1.102, not 1.
For comparison with my Vive DVT, I get this result:
Resolution per eye: 1512 x 1680 giving aspect ratio 0.9
Left eye:
GetProjectionMatrix: Left -1.391 Right 1.254 Top -1.473 Bottom 1.466
This gives X/Y of (1.391 + 1.254) / (1.473 + 1.466) = 2.645 / 2.939 = 0.89997
So that is basically a perfect match for the resolution aspect ratio.
So I suppose at this point that the Vive Pro 2 either has non-square pixels or uses anamorphic lenses.
I'm not sure of the solution yet, it seems that LFS will need to scale the image vertically or horizontally. I'll need to look into the code and see how it is worked out and where to insert the correction.
I'm guessing that it wouldn't be anamorphic lenses, more likely non-square pixels but it's a long time since I have encountered that. I'm thinking of
Mode 13h from MS-DOS days in late 80s / early 90s.
