<div dir="ltr"><div><div>I don't think the user really knows what refresh is either.<br><br>I'm actually curious: is there a reason to ever expose different modes to the user that have the same width/height but different timings? What's the rationale for choosing one instead of the other? I know nothing about display panels, keep in mind.<br>
<br></div></div>I'm also assuming a modern system here with a modern display panel, so no saying "the refresh means the  CRT updates faster and it's brighter and less less flicker"<br></div><div class="gmail_extra">
<br><br><div class="gmail_quote">On Thu, Mar 27, 2014 at 6:35 AM, Pekka Paalanen <span dir="ltr"><<a href="mailto:ppaalanen@gmail.com" target="_blank">ppaalanen@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5">On Thu, 27 Mar 2014 04:08:15 +0000<br>
"Wang, Quanxian" <<a href="mailto:quanxian.wang@intel.com">quanxian.wang@intel.com</a>> wrote:<br>
<br>
> Hi, Pq<br>
><br>
> 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.<br>
><br>
> Welcome any comment for that.<br>
><br>
> Thanks<br>
><br>
> >> +<br>
> >> +    <request name="set_mode"><br>
> >> +      <description summary="set the mode of output"><br>
> >> +  Set the mode of output.<br>
> >> +      </description><br>
> >> +      <arg name="output" type="object" interface="wl_output"<br>
> >> +           summary="the output object"/><br>
> >> +      <arg name="width" type="int" summary="width of the mode in<br>
> >hardware units"/><br>
> >> +      <arg name="height" type="int" summary="height of the mode in<br>
> >hardware units"/><br>
> >> +      <arg name="refresh" type="int" summary="vertical refresh rate<br>
> >> +in mHz"/><br>
> ><br>
> >So this is the simple mode set request.<br>
> ><br>
> >Do you think width/height/refresh is really enough to identify a mode? I don't<br>
> >think so. I think in the early days of X11 RandR, NVidia hit the same problem, and<br>
> >started to expose fake refresh values, only to be able to distinguish modes that<br>
> >were identical in width/height/refresh but still different in timings. Or actually I<br>
> >think it was much more complicated than that, but this is the point in simple terms.<br>
> ><br>
> >So we need something else here to identify a mode.<br>
> ><br>
> >Check what kind of protocol GNOME uses, and how current RandR protocol works.<br>
> [Wang, Quanxian] Hi, Pq<br>
> 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.<br>

><br>
<br>
</div></div>I assume the X server has the database of modes. I cannot think of any<br>
reason why the xrandr client would be comparing modes at all. Why did<br>
you expect that? Isn't the name of a mode in RandR just an arbitrary<br>
string (perhaps mapped to an XID)?<br>
<br>
These were introduced in RandR 1.2 according to the xrandr man page. If<br>
you are looking at RandR 1.1, it is not sufficient for distinguishing<br>
custom modes.<br>
<br>
Say, how will you separate a normal mode from a reduced-blanking mode?<br>
They can have the same width, height, and refresh rate, but one works<br>
while the other is not reliable. I have had such monitors before.<br>
<br>
Of course, you have the choice to not support custom modes with custom<br>
timings. Is your intention to support only custom modes with "standard"<br>
timings, but not with custom timings? If so, which standard do you<br>
pick? VESA CVT?<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
Thanks,<br>
pq<br>
_______________________________________________<br>
wayland-devel mailing list<br>
<a href="mailto:wayland-devel@lists.freedesktop.org">wayland-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/wayland-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/wayland-devel</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>  Jasper<br>
</div>