Thread (33 messages) 33 messages, 5 authors, 2008-09-04

Re: [PATCH] Do set var even if no fb_check_var() provided.

flat view

From: Helge Deller <deller@gmx.de>
Date: 2008-08-28 21:44:10

Michel Dänzer wrote:
On Wed, 2008-08-27 at 23:49 +0200, Helge Deller wrote:
quoted
Geert Uytterhoeven wrote:
quoted
On Wed, 27 Aug 2008, Takashi Yoshii wrote:
quoted
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

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Linux-fbdev-devel mailing list
Linux-fbdev-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-fbdev-devel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help