Skip to content

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

@DNTT-1603

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions