libxrandr XRRGetCrtcInfo() misinterpretation by nouveau or NVIDIA?

Chris Wilson chris at chris-wilson.co.uk
Fri Jun 19 02:10:23 PDT 2015


On Thu, Jun 18, 2015 at 09:18:40PM +0200, Thomas Richter wrote:
> Hi folks,
> 
> (second try to get an info on this problem)
> 
> 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.

RRCrtcGetInfo:

	'x' and 'y' indicate the position of this CRTC within the screen
	region. They will be set to 0 when the CRTC is disabled.

	'width' and 'height' indicate the size of the area within the screen
	presented by this CRTC. This may be different than the size of the
	mode due to rotation, the projective transform, and the Border property
	described below.  They will be set to 0 when the CRTC is disabled.

From
ftp://download.nvidia.com/XFree86/Linux-x86/302.07/README/xrandrextension.html

Known Issues

	RandR per-CRTC panning configuration through the RandR 1.3
	RRGetPanning and RRSetPanning requests is not yet implemented.

which explains the difference (since RRGetPanning is used by Xorg to
determine the presented area for RRCrtcGetInfo). For Nvidia, Xorg can
only report the current location of the CRTC with respect to the
frontbuffer, for other RandR1.3 drivers like nouveau, it will report the
full panning size as intended.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the xorg mailing list