setVirtual() doesn't set correct value if second display is bigger

Bug #270980 reported by Typhoe
2
Affects Status Importance Assigned to Milestone
screen-resolution-extra (Ubuntu)
Invalid
Undecided
Alberto Milone

Bug Description

Binary package hint: screen-resolution-extra

Hi,

My main notebook display is 1680x1050 and my secondary display is 1920x1200 (so it is bigger than the main one).

With screen-resolution-extra, the virtual setting in the xorg.conf file is set to 3360x1050 (1680*2 x 1050)...

Should be something like (1680+1920)x max(1050,1200) => 3600x1200 , shouldn't it?

Regards,
Typhoe

Revision history for this message
Typhoe (spamistrash) wrote :

And I confirm that setting the virtual display to 3600 1200 in the xorg.conf "manually" let me (after a xorg restart) choose the correct resolutions for both my displays to use with the extended mode in the gnome display setting window.

So that's definetly an error for screen-resolution-extra not to set the virtual display to me the max.
It should be:

(Horizontal size of screen 1 + Horizontal size of screen 2) BY max of (vertical size screen 1,vertical size screen 2)

Thank you for your job,
regards,
Typhoe

Changed in screen-resolution-extra:
assignee: nobody → albertomilone
status: New → In Progress
Revision history for this message
Alberto Milone (albertomilone) wrote :

Can you remove the Virtual resolution from your xorg.conf, restart the Xserver and try the program again, please?

Revision history for this message
Typhoe (spamistrash) wrote :

Hi Alberto,

that worked.

Test 1.
1. Xorg.conf already with the right virtual display setting (3600 1200) for me.
2. Edit file, remove section Display and virtual setting
3. Restart Xorg
4. Use screen-resolution-extra to activate extended screen (first screen in 1680x1050, change second to 1920x1200)
5. Check xorg.conf, Virtual is set to 3600 1200
=> OK

Test 2.
1. Xorg.conf already with the right virtual display setting (3600 1200) for me.
2. Edit file, remove section Display and virtual setting
3. Restart Xorg
4. Use screen-resolution-extra to activate extended screen (first screen in 1680x1050, leave second to default which is equal to the setting of first screen 1680x1050)
5. Check xorg.conf, Virtual is set to 3360 1050
3. Restart Xorg
4. Check display: First screen is in 1680x1050, second is in 1400x1050 (should be in 1680x1050, problem of my screen, not relevant).
5. Decide to put second display in its native resolution: 1920x1200, so launch again screen-resolution-extra, but second screen does not offer resolution above 1680x1050 anymore.
6. Try to disable extended display in screen-resolution-extra : no changes are done to the xorg.conf
=> NOK (not ok)
If we don't specify the max resolution of second display first time, we can't change the setting after to get an other resolution (greater) for the second screen in the app.

Test 3.
1. Change Xorg.conf with a lower virtual display setting (2400 1050) than twice the horizontal size of the primary screen.
2. Restart Xorg
3. Use screen-resolution-extra to activate extended screen (first screen in 1680x1050, the second can't be set to anything greater than 1680x1050)
4. Check xorg.conf, Virtual is set to 3360 1050
=> NOK
If we have a previous Virtual setting in the xorg.conf, we have same problem as in test 2.

So, the formula to calculate the Virtual setting should be:
(MAX Horizontal size of screen 1 + MAX Horizontal size of screen 2) BY (MAX vertical size screen 1 + MAX vertical size screen 2)

Hope these tests will help.

Best regards,
Typhoe

Revision history for this message
Alberto Milone (albertomilone) wrote :

The algorithm is correct and the Intel card in my laptop passes both test 2 and test 3.

After you set the virtual resolution the driver reduces the range of resolutions that you can choose. This doesn't happen on my laptop though and I think that this should be fixed in the driver.

1) What card are you using?
2) can you set up your screens so as to reproduce test 2 and attach your /var/log/Xorg.0.log ?

Revision history for this message
Typhoe (spamistrash) wrote :

Today, I have a little problem with my intrepid install... the window server won't start anymore (guess intrepid is definitively still in alpha ;) stage).

Anyway, my card is a nvidia one.
$ lspci | grep VGA
01:00.0 VGA compatible controller: nVidia Corporation Quadro NVS 140M (rev a1)

I'm using the nvidia driver provided by your packages if I'm not wrong. Not the "envy" one, the standard one proposed by the nvidia-common package.

As soon as I'll have my intrepid working again, I'll post the xorg log you asked.

Revision history for this message
Alberto Milone (albertomilone) wrote :

The -envy flavour of the driver is no longer available in Intrepid. If you have a problem with the Nvidia driver, please file another bug report.

As regards the subject of this bug report, the problem is not caused by "screen-resolution-extra".

Changed in screen-resolution-extra:
status: In Progress → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.