View Single Post
Old 06-21-12, 08:35 PM   #1
hlandgar
Registered User
 
Join Date: Jun 2012
Posts: 9
Default 302.17 nvidiaXineramaInfoOverride not working properly

System has 3 1920x1200 monitors. Two are through TripleHeadtogo so system sees 2 monitors, 3840x1200 and 1920x1200. TwinviewXineramaInfoOverride was working fine in 295.59 and before making the 2 monitors appear as 3 1920x1200 displays to the system. Graphics card is Quadro 5000

Using the following python program under 295.59 I got the following correct info:


#!/usr/bin/python
# Print some information about the X environment, the monitor setup, currently active window and cursor position
import gtk.gdk

screen = gtk.gdk.screen_get_default()
print "X default screen size: %d x %d" % (screen.get_width(), screen.get_height())
print "xid of root window: %d" % screen.get_root_window().xid

monitors = int(screen.get_n_monitors())
print "== %d monitors ==" % monitors
for m in range(0, monitors):
print " - geometry of monitor %d: %s" % (m, screen.get_monitor_geometry(m))

window = screen.get_active_window()
win_x, win_y, win_w, win_h, win_bit_depth = window.get_geometry()
print "active window on monitor: %d" % screen.get_monitor_at_point((win_x+(win_w/2)),(win_y+(win_h/2)))
print "window geometry (x,y,w,h): %d, %d, %d, %d" % (win_x,win_y,win_w,win_h)

display = gtk.gdk.display_get_default()
pointer = display.get_pointer()
print "cursor position (x, y): %d, %d" % (pointer[1], pointer[2])
print "cursor on monitor: %d" % screen.get_monitor_at_point(pointer[1],pointer[2])

Under 295.59

X default screen size: 5760 x 1200
xid of root window: 637
== 3 monitors ==
- geometry of monitor 0: gtk.gdk.Rectangle(0, 0, 1920, 1200)
- geometry of monitor 1: gtk.gdk.Rectangle(1920, 0, 1920, 1200)
- geometry of monitor 2: gtk.gdk.Rectangle(3840, 0, 1920, 1200)
active window on monitor: 0
window geometry (x,y,w,h): 10, 34, 1473, 1072
cursor position (x, y): 2079, 279
cursor on monitor: 1

Under 307.17

X default screen size: 5760 x 1200
xid of root window: 754
== 2 monitors ==
- geometry of monitor 0: gtk.gdk.Rectangle(0, 0, 3840, 1200)
- geometry of monitor 1: gtk.gdk.Rectangle(3840, 0, 1920, 1200)
active window on monitor: 0
window geometry (x,y,w,h): 10, 34, 1131, 677
cursor position (x, y): 3108, 661
cursor on monitor: 0

The effect is that VMware-workstation monitor cycling feature no longer works properly under 307.17

note that Xorg.0.log is loading nvidia Xinerama info but gtk is not seeing it.

This is my xorg.conf file. I tried attaching nvidia-bug-report.log.gz but it was rejected as too big

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings: version 302.11 (paludisbuild@harrisl-desktop) Wed Jun 20 15:40:25 EDT 2012

Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
Option "Xinerama" "0"
EndSection

Section "Files"
EndSection


Section "Monitor"
# HorizSync source: xconfig, VertRefresh source: xconfig
Identifier "Monitor0"
VendorName "Unknown"
ModelName "DFP-0"
HorizSync 30.0 - 81.0
VertRefresh 56.0 - 60.0
ModeLine "3840x1200" 308.000 3840 3904 3968 4160 1200 1203 1213 1235 +hsync +vsync
ModeLine "1920x1200" 154.000 1920 1968 2000 2080 1200 1203 1209 1235 +hsync +vsync
Option "DPMS"
EndSection

Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "Quadro 5000"
Option "AddARGBGLXVisuals" "1"
Option "AllowGLXWithComposite" "1"

EndSection

Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
Option "UseEDID" "False"
Option "ExactModeTimingsDVI" "True"

DefaultDepth 24
Option "Stereo" "0"
Option "nvidiaXineramaInfoOrder" "DFP-1"
Option "metamodes" "DFP-0: 3840x1200 +0+0, DFP-1: 1920x1200 +3840+0"
Option "nvidiaXineramaInfoOverride" "1920x1200+0+0, 1920x1200+1920+0, 1920x1200+3840+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection
hlandgar is offline   Reply With Quote