VC4
The VC4 subsystem in addon/vc4 provides the VCHIQ driver as an interface to the audio and accelerated graphics services, which are offered by the Raspberry Pi firmware. The accelerated graphics support is not available on the Raspberry Pi 4 and with AARCH = 32
only. This section describes the components of the VC4 subsystem.
VCHIQ driver
#include <vc4/vchiq/vchiqdevice.h>
-
class CVCHIQDevice : public CLinuxDevice
This class is a driver for the VC host interface queue, which implements an interface to a number of service processes, which are running on the video processing unit (VPU) of the Raspberry Pi computers. Because this driver has been ported from Linux, it is based on the Linux kernel device driver emulation code in addon/linux. The API of the VCHIQ driver is based on the C language, and is not covered by this documentation.
-
CVCHIQDevice::CVCHIQDevice(CMemorySystem *pMemory, CInterruptSystem *pInterrupt)
Creates an instance of the VCHIQ driver class. There can be only one.
pMemory
andpInterrupt
are pointers to the Circle memory and interrupt system objects.
-
boolean CVCHIQDevice::Initialize(void)
Initializes the VCHIQ driver. Returns
TRUE
on success. This method is inherited from the base classCLinuxDevice
.
VCHIQ sound
The VCHIQ sound driver class CVCHIQSoundBaseDevice
is described in the Audio devices section.
Accelerated graphics
The accelerated graphics support in addon/vc4/interface has been ported from the Raspberry Pi OS (former Raspbian) userland libraries, which implement the following APIs:
EGL 1.4
OpenGL ES 1.1 and 2.0
OpenVG 1.1
Dispmanx (proprietary)
Please see this website for detailed information about the first three APIs, which are not specific to Circle and are based on the C language.
Note
The accelerated graphics support is not available on the Raspberry Pi 4 and with AARCH = 32
only.