Galileo2 module Linux driver

From RidgeRun Developer Connection
Jump to: navigation, search

Nvidia-preferred-partner-badge-rgb-for-screen.png

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

RR Contact Us.png

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


RidgeRun Resources

Quick Start Client Engagement Process RidgeRun Blog Homepage
Technical and Sales Support RidgeRun Online Store RidgeRun Videos Contact Us

OOjs UI icon message-progressive.svg Contact Us

Visit our Main Website for the RidgeRun Products and Online Store. RidgeRun Engineering informations are available in RidgeRun Professional Services, RidgeRun Subscription Model and Client Engagement Process wiki pages. Please email to support@ridgerun.com for technical questions and contactus@ridgerun.com for other queries. Contact details for sponsoring the RidgeRun GStreamer projects are available in Sponsor Projects page. Ridgerun-logo.svg
RR Contact Us.png