libxrandr XRRGetCrtcInfo() misinterpretation by nouveau or NVIDIA?

Thomas Richter thor at math.tu-berlin.de
Fri Jun 19 03:05:41 PDT 2015


Hi Chris,

thanks for your insight, but I afraid I'm now more confused than ever...
> 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
>

Why is it that in the presence of randr1.3 XRRGetCrtcInfo()  returns
semantically(!) different information
than XRRGetCrtcInfo() with randr1.2 only? In the former case, it returns
the entire panning area. In the latter case,
it returns only the visible monitor size.

Sorry to say, but if the semantics of the return value depends on the
presence of an extension outside of the control
of the calling program, then this looks to me like a pretty broken
interface. Or do I miss something important here?

BTW, if you want to follow the discussion, here is the bug report for xfce

https://bugzilla.xfce.org/show_bug.cgi?id=11989

(this includes a screen-shot of my desktop) and here is the bug report
on gtk:

https://bugzilla.gnome.org/show_bug.cgi?id=751070

What I'm currently trying to do is to isolate where the bug actually is,
i.e. whether gtk should do something else to return the monitor size,
or whether xfce should call something else to obtain the, uhm,
information it needs.

Greetings,
    Thomas



More information about the xorg mailing list