Stephen Kell wrote:
> I'm trying to set gamma correction on the primary VGA output of my
> Matrox G400 dual-head, using matroxfb with kernel 2.6.24.
>
> Using matroxset, the ioctl completes successfully, but there is no
> effect.
>
> stephen@alonzo:~$ strace matroxset -f /dev/fb0 -o 0 -c 0x980910 18 2>&1 | grep ioctl
> ioctl(3, MATROXFB_G_TVOCTRL or VIDIOC_G_CTRL, 0xbfaec7d4) = 0
> ioctl(3, MATROXFB_S_TVOCTRL or VIDIOC_S_CTRL, 0xbfaec7d4) = 0
>
> I've tried other controls (contrast, brightness etc.), with a range of
> arguments, and none has any visible effect.
>
> Looking in matroxfb_base.c, it looks like the implementation of
> VIDIOC_S_CTRL is hardwired to use output 1. However, if I try with
> CRTC1 duplicated to output 1 (using matroxset -f /dev/fb0 -o 1 128), it
> still shows no effect.
>
> Is this a bug, or am I missing something? Thanks for any help.
These ioctls control only TV output - MATROXFB_S_*TVO*CTRL. If you want
VGA gamma correction, do it in software - Matrox G400/450/550 is 8bit
only, so it is not very interesting to push this task to hardware if you
are using 24/32bpp mode.
Petr
|