From: Helge D. <de...@gm...> - 2008-08-28 21:44:10
|
Michel Dänzer wrote: > On Wed, 2008-08-27 at 23:49 +0200, Helge Deller wrote: >> Geert Uytterhoeven wrote: >>> On Wed, 27 Aug 2008, Takashi Yoshii wrote: >>>> The behavior of FBIOSET_VSCREENINFO seems to be weired on FB which does >>>> not >>>> provides fbops->fb_check_var. >>>> It doesn't set anything, but gets info->var instead, and returns no >>>> error. It is just same as FBIOGET_VSCREENINFO does. >>>> >>>> IMHO, this should be one of the following candidates, >>>> 1. set var without check. >>>> 2. do nothing but return error (setting var is not supported). >>>> or >>>> 3. it's a bug (fb_check_var should always be provided). >>>> >>>> The patch at the bottom implements "1". >>>> >>>> Because I don't know API specification, nor the history of the code, >>>> I would like people who knows well to discuss this. >>> If the driver doesn't provide a fb_check_var(), it means it cannot >>> change video mode. Hence this rules out #1. >>> >>> #2 is not acceptable, as it will break existing applications. It's also >>> incorrect, as FBIOPUT_VSCREENINFO should succeed for supported modes. >>> For unsupported modes, the mode should be rounded up to a supported mode, >>> if possible. In the case of drivers that support one fixed mode only, this >>> rounding up is relaxed to `rounding' to the sole supported mode. >>> >>> #3 is also wrong, as fb_check_var() has been deliberately made optional to >>> simplify drivers that support one fixed mode only. >>> >>> Conclusion: nothing should be changed? >> I'm not sure. >> On parisc we just stumbled over exactly this problem where I think Takashi's >> proposal "1." is probably the right solution. >> >> Please see my Xorg bugzilla entry: >> https://bugs.freedesktop.org/show_bug.cgi?id=17153 > > I believe (bugs.freedesktop.org is currently down) that's currently > waiting for information from you. Namely, have you tried not specifying > a Modes line in the xorg.conf SubSection "Display"? I think the Xorg > fbdev driver should come up with the currently active mode in that case. > If that doesn't work, please attach the corresponding Xorg.0.log to the > bug report once bugzilla is back online. Bugzilla (https://bugs.freedesktop.org/show_bug.cgi?id=17153 ) is available again, and I've uploaded the xorg.conf file, as well as the Xorg.0.log log file as requested. Your idea about testing a few mode lines is normally a good idea. On a PC I would do exactly this. But on a pure framebuffer driver it's only necessary to know (and to check), that it runs (for example) at 1024x768 pixels with 8bpp. The monitor sync values shouldn't really matter and that is the problem in this thread. X should not try to force a specific monitor frequency. It won't suceed anyway. It's for some cards just not possible to switch monitor frequencies or to know the current ones (and this is why those drivers don't implement fb_check_var())... Helge |