VIsion Component cameras On Torizon and grey color

Hey Community!

I am trying to use mipi cameras from Vision Components (Verdin iMX8MP / 2× VC MIPI IMX265) on my Toradex board together with Torizon OS. I used Torizon builder and simple overlay:

input:
  easy-installer:
    local: torizon-docker-verdin-imx8mp-Tezi_7.4.0+build.28.tar

customization:
  device-tree:
    overlays:
      add:
        - overlays/verdin-imx8mp_vc-imx265_overlay.dts

  kernel:
    modules:
      - source-dir: vc_mipi_nxp/src
        autoload: yes

output:
  easy-installer:
    local: output/

I’ve grub drivers code from Vision Components MIPI® Camera Modules · GitHub (core + npx repo) and looks like I have a problems with colors. My cameras are: “fmt:Y8_1X8/2048x1536 field:none colorspace:srgb“, but looks like default Toradex image has isi driver that doesn’t support GREY colorsm only NV12, YUYV, RGB and etc. To me it looks redundant to use this color conversion from gray to rgb and back. Is it possible to change\update it without jumping to yocto?

tdx-info:

Software summary

Bootloader: U-BootKernel version: 6.6.101-7.4.0-g557af2783d91 #1-Torizon SMP PREEMPT Thu Sep 25 07:49:28 UTC 2025Kernel command line: root=LABEL=otaroot rootfstype=ext4 quiet logo.nologo vt.global_cursor_default=0 plymouth.ignore-serial-consoles splash fbcon=map:3 ostree=/ostree/boot.1/torizon/f3a4c0d28279618ce1a13ed03824ad923d19df32c7a6a7097a35bdde21420134/0Distro name: NAME=“Torizon OS”Distro version: VERSION_ID=7.4.0-build.28Distro variant: VARIANT=“Docker”Hostname: verdin-imx8mp-15637947

Hardware info

HW model: Toradex Verdin iMX8M Plus on Verdin Development BoardToradex version: 0063 V1.1BSerial number: 15637947Processor arch: aarch64

Hi, I’m the Toradex AI Assistant.

I might make mistakes or occasionally get you wrong. Our support team will step in if needed.


TorizonCore Builder Limitations for ISI Driver Changes

Based on your setup with the Verdin iMX8MP and Vision Components MIPI IMX265 cameras, I can help clarify the limitations of TorizonCore Builder for your specific use case.

TorizonCore Builder Capabilities

TorizonCore Builder supports several customization features including device tree overlays and external kernel modules, which you’re already using correctly(1). Your configuration shows proper use of the tool for adding custom overlays and kernel modules(1).

Unsupported Customizations

However, TorizonCore Builder has specific limitations that directly affect your situation. The tool does not support modifying in-tree kernel modules or changing core kernel drivers like the ISI driver(1).

According to the documentation, TorizonCore Builder does not support:

  • Modifying the kernel source code
  • Adding in-tree kernel modules
  • Customizing core kernel components(1)

Alternative Approach Required

For modifications to the ISI driver to support GREY colorspace (Y8_1X8 format), you would need to use the Yocto Project approach instead of TorizonCore Builder(1). The ISI driver is part of the core kernel subsystem and cannot be modified through TorizonCore Builder’s overlay or external module mechanisms.

Recommendations

  1. Yocto Project: To modify the ISI driver for GREY format support, you’ll need to use Yocto Project to rebuild the kernel with your driver modifications(1)

  2. Community Request: Alternatively, you could make a request in the Toradex community for adding GREY format support to the ISI driver. If it doesn’t negatively impact Torizon OS, it may be included as a module(1)

  3. Userspace Conversion: Consider implementing the color conversion in userspace within your application, which would avoid the need for kernel-level changes

Your current TorizonCore Builder approach is correct for the overlay and external kernel modules, but the core ISI driver modification requires a different development path.

Best regards, Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.

Hello @svt,

You are right, the ISI driver in linux kernel (I checked both tordaex downstream versions 5.1.5 and 6.6) does not add the mode for GREY color. In this case, the possible solution are either:

  • Using Yocto and patching the isi driver with the changes needed for GREY color mode
  • Using Torizoncore builder to add a separate ISI driver (I would copy the original isi driver code into a new name) with the changes, which will be built as an external module. In this case, you will need to modify the driver code to have a different compatible string and adjust the device tree accordingly.

Now speaking of the changes you will need: This patch from Vision Components show how to add different color modes. As far as you are concerned, only adding the "Y8-RAW" mode into the drivers/staging/media/imx/imx8-isi-fmt.c code should be sufficient. Maybe you will need some changes that they added in imx8-mipi-csi2-sam.c driver code as well.

Thanks! Will check.