Hi,
After failing to start DirectFB (tries to get and then set current
resolution) on my asus eeePC I investigated problem and I found out
that it is caused by:
static int intelfb_check_var(struct fb_var_screeninfo *var,
struct fb_info *info)
{
...
if (FIXED_MODE(dinfo) &&
(change_var ||
var->yres_virtual > dinfo->initial_var.yres_virtual ||
var->yres_virtual < dinfo->initial_var.yres ||
var->xoffset || var->nonstd)) {
if (first) {
ERR_MSG("Changing the video mode is not supported.\n");
first = 0;
}
return -EINVAL;
}
...
I my situation FIXED_MODE(dinfo) = true, but change_var = false
It still fails since dinfo->initial_var.yres_virtual is initialized
only once as 0, so var->yres_virtual is always bigger value.
Do we need these checks? chnage_var already does size chekings...
fbset -accel [true|false] also fails because of this check.
Please help me to resolve this issue and we should send patch for stable
also.
BR,
Paulius Zaleckas
|