Originally Posted by
asgard2
0 should be the right screen and 1 the left.
OK, it appears it is treating the right monitor as the "primary" or HEAD-0 monitor and the left monitor as HEAD-1. I wonder how it is determining that. The physical connections to the video card?
Originally Posted by
asgard2
But the problem is with both screens if I use MapToOutput, the lower part of the screen is unreachable.
There seems to be a bug with how the Nvidia driver implements y-axis scaling with the RandR. Since it is still relatively early days for the Nvidia driver being compatible with RandR I guess that isn't too surprising.
I think I have a handle on what is happening, maybe. The MapToOutput results tell the story I think. Instead of using the largest y-axis (in your case 1080) like the other Xorg drivers it is using the "primary" or right monitor's (HEAD-0) y-axis, i.e. 800. So the bug is in the code where it selects the appropriate or maximum y-axis.
When MapToOutput is doing the CTM scaling for the y-axis you are getting:
Code:
Right: 800/1080 = .740741 for the scaling and the bottom 25% of the screen isn't covered
Left: 800/800 = 1 Then remember it is applying the scaling to 800 or 1 x 800 But that is only 75% of the left monitor's 1080 y-dimension. So the bottom 25% of the screen isn't covered.
The fact that we can use xinput to set the CTM scaling for the right monitor to 1 and it fits seems to confirm the idea. What I don't understand is why setting the left monitor's y-scaling to 1.35 doesn't work. Why would anything over 800 get chopped off?
I think you probably need to file a bug report with Nvidia against their driver. But first I would suggest you look carefully through the settings in the Nvidia control panel and see if there is something relevant there. There may even be a new setting or two that applies. Please post if you find something.
Bookmarks