Skip to content

[imx219 / microchip-isc] Bad color output on SAM9X75 curiosity board with Raspberry Pi Camera v2 (linux4microchip-2026.04) #4

Description

@DNTT-1603

Summary

Captured images from the Raspberry Pi Camera v2 (IMX219) on the SAM9X75 curiosity board show incorrect / poor colors. The AWB reports a very high color temperature (~7101 K) and the output image looks visually wrong. Attached images demonstrate the problem.

Env:

Field Value
BSP / OS linux4microchip-2026.04
Demo image buildroot linux4microchip-2026.04
Board SAM9X75 curiosity board
Camera Raspberry Pi Camera v2 (IMX219)
libcamera v0.0.0+6141-linux4microchip-2026.04-rc1-dirty
Capture tool mchpcam-still
Stream format RGB565 1920x1080

Captured output log:

root@sam9x75-curiosity-sd:~# mchpcam-still --width=1920 --height=1080 --enable-all  -o high_quality10.jpg                                                                                      
[0:03:00.774343200] [276]  INFO Camera camera_manager.cpp:340 libcamera v0.0.0+6141-linux4microchip-2026.04-rc1-dirty (2026-05-01T12:07:41UTC)
[0:03:00.865114200] [277]  WARN CameraSensor camera_sensor_legacy.cpp:355 'imx219 0-0010': Recommended V4L2 control 0x009a0922 not supported
[0:03:00.865579200] [277]  WARN CameraSensor camera_sensor_legacy.cpp:427 'imx219 0-0010': The sensor kernel driver needs to be fixed
[0:03:00.866082800] [277]  WARN CameraSensor camera_sensor_legacy.cpp:429 'imx219 0-0010': See Documentation/sensor_driver_requirements.rst in the libcamera sources for more information
[0:03:00.873996600] [277]  WARN CameraSensor camera_sensor_legacy.cpp:595 'imx219 0-0010': Failed to retrieve the camera location
[0:03:00.874324600] [277]  WARN CameraSensor camera_sensor_legacy.cpp:617 'imx219 0-0010': Rotation control not available, default to 0 degrees
[0:03:00.879374600] [277]  INFO IPAProxy ipa_proxy.cpp:180 Using tuning file /usr/share/libcamera/ipa/microchip-isc/imx219.yaml
[0:03:00.896238400] [277]  INFO ISC_IPA microchip_isc_ipa.cpp:212 microchip-isc: ISC IPA initialized with 6 algorithms
[0:03:00.908615400] [277]  INFO Camera camera_manager.cpp:223 Adding camera '/base/apb/flexcom@f8010000/i2c@600/camera@10' for pipeline handler microchip-isc
[0:03:00.908979400] [277]  INFO MicrochipISC microchip-isc.cpp:872 Registered camera '/base/apb/flexcom@f8010000/i2c@600/camera@10'
[0:03:00.909237600] [277]  INFO MicrochipISC microchip-isc.cpp:876  Camera registration complete with HARDWARE HISTOGRAM support
[0:03:00.911053200] [276]  INFO Camera camera.cpp:1215 configuring streams: (0) 1920x1080-RGB565/sRGB
[0:03:00.915707600] [277]  INFO MicrochipISC microchip-isc.cpp:1039 Camera configuration complete: /base/apb/flexcom@f8010000/i2c@600/camera@10
Camera configured: RGB565 1920x1080
AWB:  auto (IPA)
AGC:  auto
CCM:  on
Warmup frames: 12
Warming up IPA (12 frames minimum)...
[0:03:01.341122800] [277]  INFO V4L2 v4l2_videodevice.cpp:1913 /dev/video1[11:cap]: Zero sequence expected for first frame (got 6)
Captured after 33 frame(s)
  AWB locked : yes
  AE locked  : yes
  Colour temp: 7101 K
Saved JPEG: high_quality10.jpg

Attached images: [please see attached files]

Image Image

Questions

I noticed a fine-tuning Python script in the repository commits. Is end-user camera fine-tuning required to get accurate colors on this platform? If so:

  • What equipment is needed (e.g., lightbox, grey card, X-Rite ColorChecker / Macbeth chart)?
  • How can I improve the image color output on my setup, is editing imx219.yaml directly the right approach, or should I run the calibration script and regenerate the tuning file?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions