This document is a draft Quick Start Guide (QSG) for bringing up an IPU7-based GMSL camera pipeline on Ubuntu* 24.04 using the scripts in this repository.
Scope:
- Hardware: an IPU7-capable Intel® platform, a GMSL add-in card (AIC), and GMSL cameras.
Note: BIOS menus and exact settings vary by platform vendor.
- Introduction
- Table of Contents
- System requirements
- Hardware Setup and Connections
- BIOS configuration
- Software QSG
- Support and Documentation
- Trademarks
- Ubuntu 24.04 (Noble Numbat)
- 6.17+ for Intel® Core™ Ultra Processors (Series 3)
- CPU/platform: Intel® Core™ Ultra Processors (Series 3)
- Memory: 8 GB RAM minimum (16 GB recommended for multi-camera, 64GB recommended for multi-camera with AI application)
- Storage: Minimum of 256 GB free disk space
- GMSL cameras and GMSL Max96724 AIC card
- Network access to download packages and keys
- Power off the system and disconnect AC power.
- Install the GMSL AIC into an appropriate MIPI CSI-2 slot.
- Connect GMSL cameras to the AIC as recommended in the image below.
- Reconnect power and boot the system.
Note: BIOS menus and exact settings vary by platform vendor and camera sensor.
BIOS options are platform-specific. Configure the platform BIOS to enable the IPU7 and the Intel GMSL SERDES ACPI devices as required in the System Agent (SA) Configuration.
Note: Only enable Camera1 for 4 cameras configuration.
-
In Camera1 menu, apply all the necessary config for MIPI Port A.

-
In Camera2 menu, apply all the necessary config for MIPI Port C.

-
Press F4 to save the changes and navigate to the main BIOS menu page to continue. System will go into reboot state.
- Ensure you follow this guide Intel® Core™ Ultra Processors (Series 3) RDC to boot up the system.
After reboot, perform basic checks:
# Kernel
uname -r
# IPU6 device detection
lspci -nn | grep -E "8086:a75d|8086:7d19" || true
# Kernel modules (module names can vary by release)
lsmod | grep -i ipu || true
-
Ensure the camera devices are enumerated successfully.
-
Use the commands below to stream.
Notes:
- For multi-camera, set
num-vcto the total number of cameras (4 or 8) for eachicamerasrcinstance. - Use
device-name=isx031-<N>(for example,isx031-1,isx031-2, and so on).
gst-launch-1.0 icamerasrc num-buffers=600 scene-mode=auto device-name=isx031-1 io-mode=dma_mode printfps=true ! 'video/x-raw(memory:DMABuf),drm-format=UYVY,width=1920,height=1536' ! glimagesink sync=falsegst-launch-1.0 \
icamerasrc num-vc=4 num-buffers=600 scene-mode=auto device-name=isx031-1 io-mode=dma_mode printfps=true ! 'video/x-raw(memory:DMABuf),drm-format=UYVY,width=1920,height=1536' ! glimagesink sync=false \
icamerasrc num-vc=4 num-buffers=600 scene-mode=auto device-name=isx031-2 io-mode=dma_mode printfps=true ! 'video/x-raw(memory:DMABuf),drm-format=UYVY,width=1920,height=1536' ! glimagesink sync=false \
icamerasrc num-vc=4 num-buffers=600 scene-mode=auto device-name=isx031-3 io-mode=dma_mode printfps=true ! 'video/x-raw(memory:DMABuf),drm-format=UYVY,width=1920,height=1536' ! glimagesink sync=false \
icamerasrc num-vc=4 num-buffers=600 scene-mode=auto device-name=isx031-4 io-mode=dma_mode printfps=true ! 'video/x-raw(memory:DMABuf),drm-format=UYVY,width=1920,height=1536' ! glimagesink sync=falsegst-launch-1.0 \
icamerasrc num-vc=8 num-buffers=600 scene-mode=auto device-name=isx031-1 io-mode=dma_mode printfps=true ! 'video/x-raw(memory:DMABuf),drm-format=UYVY,width=1920,height=1536' ! glimagesink sync=false \
icamerasrc num-vc=8 num-buffers=600 scene-mode=auto device-name=isx031-2 io-mode=dma_mode printfps=true ! 'video/x-raw(memory:DMABuf),drm-format=UYVY,width=1920,height=1536' ! glimagesink sync=false \
icamerasrc num-vc=8 num-buffers=600 scene-mode=auto device-name=isx031-3 io-mode=dma_mode printfps=true ! 'video/x-raw(memory:DMABuf),drm-format=UYVY,width=1920,height=1536' ! glimagesink sync=false \
icamerasrc num-vc=8 num-buffers=600 scene-mode=auto device-name=isx031-4 io-mode=dma_mode printfps=true ! 'video/x-raw(memory:DMABuf),drm-format=UYVY,width=1920,height=1536' ! glimagesink sync=false \
icamerasrc num-vc=8 num-buffers=600 scene-mode=auto device-name=isx031-5 io-mode=dma_mode printfps=true ! 'video/x-raw(memory:DMABuf),drm-format=UYVY,width=1920,height=1536' ! glimagesink sync=false \
icamerasrc num-vc=8 num-buffers=600 scene-mode=auto device-name=isx031-6 io-mode=dma_mode printfps=true ! 'video/x-raw(memory:DMABuf),drm-format=UYVY,width=1920,height=1536' ! glimagesink sync=false \
icamerasrc num-vc=8 num-buffers=600 scene-mode=auto device-name=isx031-7 io-mode=dma_mode printfps=true ! 'video/x-raw(memory:DMABuf),drm-format=UYVY,width=1920,height=1536' ! glimagesink sync=false \
icamerasrc num-vc=8 num-buffers=600 scene-mode=auto device-name=isx031-8 io-mode=dma_mode printfps=true ! 'video/x-raw(memory:DMABuf),drm-format=UYVY,width=1920,height=1536' ! glimagesink sync=falseIf you are blocked:
- Capture
uname -r,lspci -nn, and relevantdmesgexcerpts. - Include BIOS version and the exact AIC + camera model/firmware revisions.
Ubuntu* is a trademark of Canonical Ltd.



