Galileo2 module Linux driver

From RidgeRun Developer Wiki




Problems running the pipelines shown on this page? Please see our GStreamer Debugging guide for help.



Driver List Information
Refer to the RidgeRun Linux Camera Drivers to meet all the list of Drivers available


Introduction to Galileo2 module driver for Jetson

Galileo-2 (G2 or Galileo 2) is an area color image sensor, which has features like the true zoom concept to support zooming functionality by windowing and scaling the image instead of using the optically variable field of view, incorporating an AD converter. The optical format is 2/3 inch, of which small size is suitable for built-in camera module application. The use of the CMOS process makes possible low power consumption operations. This sensor provides superb picture quality thanks to Toshiba’s advanced sensor technology. It has an OIS system and Auto Focus system as well. In this wiki page you will find the most relevant information about the driver for the G2 sensor:

Enable driver

The driver was developed for kernel 3.10.67 using NVIDIA kernel source l4t-r23.2.

1. Follow the instructions in Compiling Jetson TX1 source code (Downloading the code) to get the kernel source code.

2. Once you have the source code, apply the following two patches if you haven't yet, for fixing kernel errors during compilation.

  • kernel_r7_asm.patch
  • logical_comparison.patch

3. Apply the driver patches:

  • 0001-ARM64-adding-OV5693-V4L2-on-E3326-jetson_cv.patch
  • 0002-Galileo2-SMIA++-v4l2-driver.patch
  • 0003-Galileo2-SMIA++-dtb.patch
  • 0004-fix-continuos-clock-in-v4l2-driver.patch
  • 0005-add-SGRBG8-support-vi2.patch

4. Follow the instructions in Compiling Jetson TX1 source code (Build Kernel) for building the kernel, and then flash the image.

Make sure to enable g2 smiapp driver support and soc_camera support, and disable platform camera support.

make menuconfig
-> Device Drivers                                                                                                                        
  -> Multimedia support                                                                                           
    -> Sensors used on soc_camera driver
       -> <M>Soc Camera Smiapp support
-> Device Drivers                                                                                                                        
  -> Multimedia support 
     ->V4L platform devices
         -> <*> SoC camera support
             -> < > platform camera support

Mount the kernel module

sudo rmmod nvhost_vi

sudo modprobe smiapp

sudo modprobe tegra_camera

Features

Sensor Features

Key features of Toshiba’s Galileo-2 sensor:

  • 41MP, 1.12um pixel size high-quality sensor
  • The best-in-class SNR10.is achievable with a BSI sensor solution.
  • Evolutionally improvement from Galileo-i.
  • Extraordinary high-quality image processing.
  • Very low power and high-performance operation

Driver features

  • Based on the Smiapp driver implementation for media-controller
  • Focus Control
  • Exposure control
  • Gain control
  • Works at 1080p,720p,4k, and 8k binned resolutions
  • Cropping is supported
  • Works for Raw10 and Raw8 formats

=Current issues=

  • Framerate drops when trying to capture over 80fps in some binnned resolutions

Examples

Gstreamer pipelines

  • Test capture
gst-launch-1.0 -vvv v4l2src ! 'video/x-bayer, width=(int)1920, height=(int)1080, format=(string)rggb, framerate=(fraction)30/1' ! fakesink  silent=false 
  • Save captured frames
gst-launch-1.0 -vvv v4l2src num-buffers=10  ! 'video/x-bayer, width=(int)1920, height=(int)1080, format=(string)rggb, framerate=(fraction)30/1' ! multifilesink location=test%d.raw  -v
  • Test cropping
gst-launch-1.0 v4l2src crop=crop,left=10,top=257,width=1920,height=1080 ! 'video/x-bayer, width=(int)1920, height=(int)1080, format=(string)rggb, framerate=(fraction)30/1' ! fakesink  silent=false 

gst-launch-1.0 v4l2src crop=crop,left=100,top=257,width=1920,height=1080 ! 'video/x-bayer, width=(int)1920, height=(int)1080, format=(string)rggb, framerate=(fraction)30/1' ! multifilesink location=test%d.raw  -v

Yavta

  • Capture 1080p frames
./yavta /dev/video0 -c10 -n1 -s1920x1080 -fSBGGR8 -Fov.raw
  • Capture 4K frames
./yavta /dev/video0 -c10 -n1 -s3840x2160 -fSBGGR8 -Fov.raw


For direct inquiries, please refer to the contact information available on our Contact page. Alternatively, you may complete and submit the form provided at the same link. We will respond to your request at our earliest opportunity.


Links to RidgeRun Resources and RidgeRun Artificial Intelligence Solutions can be found in the footer below.