Frédéric wrote:
Well, I realised that I didn't tried Argyll-0.60 at home - only at work... And I also have a X error (not the same) :o/
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 136 (XFree86-VidModeExtension)
Minor opcode of failed request: 4 (XF86VidModeGetMonitor)
Value in failed request: 0x4c
Serial number of failed request: 12
Current serial number in output stream: 12
(unlike Mike, it does not work with 'dispwin -d 1 -r').
I'm using Xorg 7.0/radeon driver, with Mergedfb to have dual screen (this is not Xinerama). I tried in clone mode, and it works fine.
Hal Engel has reported this problem to me as well. Currently I suspect a problem with the NVidia TwinView and/or Mergedfb, not allowing access to the underlying screens, thereby preventing access to the Video LUTs. You can't calibrate a screen unless the Video Luts can be accessed.
I really need someone with this problem to trace through the code in dispwin.c from line 338 in dispwin.c, and note what happens :- ie. is the Xinerama extension emulated by Mergedfb/TwinView, how many screens are reported by Xinerama or ScreenCount(), which screen does the X protocol error trigger on, etc.
Currently the code assumes that if the Xinerama extension is present, then only the main X11 protocol accesses emulate having a merged screen, and that other extensions (such as XFree86-VidModeExtension) still see each screen as separate. The XF86VidModeGetMonitor() call is simply to get the name of the screen, while XF86VidModeGet/SetGammaRamp() calls are used to set the Video LUTs.
If Mergedfb and/or NVidia TwinView provide a single merged screen for normal X11 protocol accesses, and use the Xinerama extension to provide hints to applications about how the screens are laid out, but also make the XFree86-VidModeExtension appear to be connected to only one screen, then color calibration simply can't work.
Graeme Gill.