weston: weston randr protocol for testing and configuration

Wang, Quanxian quanxian.wang at intel.com
Wed Mar 26 21:08:15 PDT 2014

Hi, Pq

The information to identify the unique mode: width, height and refresh are enough? Not enough in theory. But is enough in real world. I have checked with xrandr. Read the following comment.

Welcome any comment for that.


>> +
>> +    <request name="set_mode">
>> +      <description summary="set the mode of output">
>> +	Set the mode of output.
>> +      </description>
>> +      <arg name="output" type="object" interface="wl_output"
>> +           summary="the output object"/>
>> +      <arg name="width" type="int" summary="width of the mode in
>hardware units"/>
>> +      <arg name="height" type="int" summary="height of the mode in
>hardware units"/>
>> +      <arg name="refresh" type="int" summary="vertical refresh rate
>> +in mHz"/>
>So this is the simple mode set request.
>Do you think width/height/refresh is really enough to identify a mode? I don't
>think so. I think in the early days of X11 RandR, NVidia hit the same problem, and
>started to expose fake refresh values, only to be able to distinguish modes that
>were identical in width/height/refresh but still different in timings. Or actually I
>think it was much more complicated than that, but this is the point in simple terms.
>So we need something else here to identify a mode.
>Check what kind of protocol GNOME uses, and how current RandR protocol works.
[Wang, Quanxian] Hi, Pq
Your understanding are right in theory. But in reality, it is barely possible. Width and height could be easily same, not easy for refresh at the same time. Currently in xrandr, they use mode name to identify one mode (for example widthxheight_refresh). in xrandr process, I don't find they take mode information to compare. Maybe I missed, but from xrandr parameters, there is no such option. They just take width, height, refresh as mode name to identify one mode. Sometimes, only width and height. If we want to fully support one unique mode, all the mode information have to be compared. (clock, hdisplay, hsync_start, hsync_end, htotal, vdisplay, vsync_start, vsync_end, vtotal, flags). But it is not convenient. Sometime, user basically don't know what hdisplay is at all. They just know widthxheight_refresh. My idea is just take width, height, refresh as the unique id for mode. 


More information about the wayland-devel mailing list