Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 421965 - x11-drivers/nvidia-drivers-302.17 with Twinview breaks monitor cycling on vmware-workstation
Summary: x11-drivers/nvidia-drivers-302.17 with Twinview breaks monitor cycling on vmw...
Status: RESOLVED UPSTREAM
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Doug Goldstein (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-06-19 13:29 UTC by Harris Landgarten
Modified: 2012-07-22 19:39 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Harris Landgarten 2012-06-19 13:29:09 UTC
I have 3 1920x1200 monitors. My graphics card is Quadro 5000. The monitors are connected as follows:

2 monitors connected to matrox triple head to go into 1 video port on Quadro
1 monitor connected to 2nd port on quadro

This shows as 2 monitors 3840x1200 and 1920x 1200

I use twinview to combine the 2 logical monitors into 1 5760x1200 screen and use 

Option "TwinViewXineramaInfoOverride" "1920x1200+0+0, 1920x1200+1920+0, 1920x1200+3840+0

So that each monitor maximizes properly. 

Until 302.17, vmware-workstation also recognized 3 1920x1200 monitors and monitor cycling works perfectly in an XP vm.

Under 302.17, Linux continues for function properly using the fake xinerama info from the Nvidia driver. However vmware-workstation no longer sees 3 1920x1200 monitors but instead sees 2 monitors 3840x1200 and 1920x1200. It is also restricted to 2 physical monitors and cannot access the 3rd at all. Under my application I require a windows vm to span all 3 monitors as it does now and therefore 302.17 is unusable. I am assume the problem involves the RandR changes in 302.17 but I have been having problems isolating the issue.
Comment 1 Doug Goldstein (RETIRED) gentoo-dev 2012-06-20 19:50:39 UTC
This is the case where you're going to need to make configuration changes with regard to XRandr. Please provide the output of:

xrandr -q
Comment 2 Harris Landgarten 2012-06-20 22:45:46 UTC
$ xrandr -q
Screen 0: minimum 8 x 8, current 5760 x 1200, maximum 16384 x 16384
DVI-I-0 disconnected (normal left inverted right x axis y axis)
DVI-I-1 connected 3840x1200+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1024x768       60.0 +
   3840x1200      60.0* 
   1920x1200      60.0  
   1600x1200      60.0  
   1400x1050      60.0  
   1280x1024      60.0  
   1280x960       60.0  
   800x600        60.3     56.2  
   700x525       120.0  
   640x480        59.9  
   512x384       120.0  
   320x240       120.1  
DP-0 connected 1920x1200+3840+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1024x768       85.0 +   75.0     70.1     60.0  
   1920x1200      60.0* 
   1600x1200      60.0  
   1400x1050      60.0  
   1280x1024      75.0     60.0  
   1280x960       60.0  
   1152x864       75.0  
   832x624        74.6  
   800x600        85.1     75.0     72.2     60.3     56.2  
   720x400        85.0  
   700x525       120.0  
   640x480        85.0     75.0     72.8     59.9  
   640x400        85.1  
   640x350        85.1  
   512x384       140.1    120.0  
   400x300       144.4  
   320x240       145.6    120.1  
   320x175       170.5  
DP-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 disconnected (normal left inverted right x axis y axis)
Comment 3 Harris Landgarten 2012-06-22 12:21:11 UTC
Using the following python program:


#!/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])

I tested under 295.59 and 302.17

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 302.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

I think this is the cause of the problem. nvidiaXineramaInfoOverride does not work for gtk. Anyone aware of any workarounds?
Comment 4 Doug Goldstein (RETIRED) gentoo-dev 2012-07-14 20:32:34 UTC
(In reply to comment #3)
> 
> I think this is the cause of the problem. nvidiaXineramaInfoOverride does
> not work for gtk. Anyone aware of any workarounds?

Its possible this is fixed in 304.22.
Comment 5 Harris Landgarten 2012-07-14 23:25:13 UTC
Looks like it might. I tried it but it puts X into a continuous loop send modes to the monitors after GDM login.

GDM comes up fine but after login the screens all blank and never come back. I reported it to nvidia.
Comment 6 Harris Landgarten 2012-07-16 16:11:46 UTC
Nvidia seems to have shut down all means of driver support over a security issue. Anyone know anything more about this?
Comment 7 Doug Goldstein (RETIRED) gentoo-dev 2012-07-22 19:39:06 UTC
(In reply to comment #6)
> Nvidia seems to have shut down all means of driver support over a security
> issue. Anyone know anything more about this?

Yeah. Their forums are down until further notice.
Comment 8 Doug Goldstein (RETIRED) gentoo-dev 2012-07-22 19:39:46 UTC
Due to other problems with this version of the driver, they're masked now so I'm going to close this bug out. If the problem occurs with newer versions, feel free to reopen the issue.