01-28-08, 11:16 AM
Join Date: Jan 2008
Re: first display on twinview
Still not fixed. This is the email I've just sent nvidia:
Hello. I own a geforce 7800 card and I'm running it on Gentoo on
x86-64; I attach the report file generated by nvidia-bug-report.sh and
an lspci (since nvidia-bug-report.sh seems to go look at /proc/pci,
that doesn't exist anymore in recent kernels)
I have two screens like this:
- Left: Big DVI Panel, plugged to DVI.
- Right: Small VGA CRT, plugged to VGA.
I've set them up with TwinView, and I do use compiz. The problem is,
the VGA monitor is made the "primary" one. This has some noticeable
1. selectwm2 (or gdm/kdm if I used that) appear on the wrong screen. Can be worked around with TwinViewXineramaInfoOrder.
2. DPI is not calculated from my main screen: Can be worked around by forcing whatever DPI I want.
3. Video (xv) does sync to my second screen: Can be worked around by setting which screen to sync it with, in nvidia-settings.
4. opengl (including video when played in compiz) does sync to the second screen. NO SOLUTION.
So, it's all about point 4. I can't watch videos in compiz or play games properly with my main screen because opengl is sync'd to the secondary screen. I can't reverse the way the screens are plugged either, because my cards' connectors are VGA and DVI, and I won't plug the DFP in VGA. I could also make the right screen the primary monitor with Xinerama, but then I'd lose Composite/AIGLX, therefore Compiz. Or separate screens with no TwinView or Xinerama (really inconvenient, as windows couldn't be moved between them).
So, I'm stuck. I don't think there's anything else I can do in my end to fix this problem (Or I can't figure it out from the documentation).
Possible solutions I can think of do involve fixing the driver itself:
1. Make Option "UseDisplayDevice" "DFP-0, CRT-0" make the first one listed the primary one (which is the behavior I'd expect).
2. Add an option to nvidia-settings, like the one for the blitter used by xv, to select which display opengl sync-to-vblank should sync to.