Hi folks,

recently, I run into a problem enabling panning on a system enabled with NVIDIA hardware and the proprietary NVIDIA X11 driver. The bug manifests itself in Xfce4's desktop only covering the upper left corner of the screen when panning is enabled, and not the entire panning area.

After hunting the problem down, the result seems to be that the nouveau driver and the NVIDIA driver seem to disagree on what to return as information on XRRGetCrtcInfo() from libxrandr.

For the sake of giving an example, consider that I have a 1280x1024 screen and enable a 2560x2048 panning area with

xrandr --output DVI-I-3 --panning 2560x2048

It seems to me that the nouveau driver returns the dimension of the entire panning area, i.e. 2560x2048, whereas the NVIDIA driver returns only the dimension of the visible screen, i.e. the monitor dimension of 1280x1024.

Running xrandr on the same system, but with two different X11 drivers active seems to confirm this hypothesis.

Given the name of the libxrandr call, I'm tempted to believe that the proprietary NVIDIA X11 driver might actually be correct, but the documentation of libxrandr seems to be lacking in some respect, so I wonder how XRRGetCrtcInfo() should work in the combination of panning.

Problem is that libgtk+ currently uses this call to return a "monitor dimension" (for whatever this is with panning enabled), and Xfce4 depends on this "monitor dimension" to fill the screen background. This works fine with nouveau (returning the entire screen area) but fails with NVIDIA (returning only the monitor area).

My question would now be where the actual protocol/interface violation is. At NVIDIA/nouveau? At libxrandr? At gtk+ using the wrong low-level call (instead of X11 screen->width / screen->height) or at Xfce4 (using gdk_screen_get_monitor_geometry(), expecting screen dimensions rather than monitor dimensions).

Thanks for any hints.

Greetings,
        Thomas


_______________________________________________
xorg@lists.x.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.x.org/mailman/listinfo/xorg
Your subscription address: %(user_address)s

Reply via email to