Raspberry Pi Video Output
below is an autoi-generated table showing video outputs and OpenGL versions for all Raspberry Pi boards:
Model | Max OpenGL Version | Max OpenGL ES Version | Video Output | Best Performing Setup | GPU |
---|---|---|---|---|---|
Zero | n.A | ES 2.0 | Mini-HDMI | BCM2835, VideoCore IV @ 250 MHz | |
Zero W / WH | n.A | ES 2.0 | Mini-HDMI | BCM2835, VideoCore IV @ 250 MHz | |
Zero 2 W | n.A | ES 2.0 | Mini-HDMI | BCM2836 (v1.1) or BCM2837 (v1.2), VideoCore IV @ 250–400 MHz (OpenGL ES 2.0, GL 2.1, no Vulkan) | |
1 Model A | n.A | ES 2.0 | Composite, HDMI | BCM2835, VideoCore IV @ 250 MHz | |
1 Model A+ | n.A | ES 2.0 | Composite, HDMI | BCM2835, VideoCore IV @ 250 MHz | |
1 Model B | n.A | ES 2.0 | Composite, HDMI | BCM2835, VideoCore IV @ 250 MHz | |
1 Model B+ | n.A | ES 2.0 | Composite, HDMI | BCM2835, VideoCore IV @ 250 MHz | |
2 Model B | n.A | ES 2.0 | Composite, HDMI | BCM2836 (v1.1) or BCM2837 (v1.2), VideoCore IV @ 250–400 MHz (OpenGL ES 2.0, GL 2.1, no Vulkan) | |
2 Model B v1.2 | 2.1 | ES 2.0 | Composite, HDMI | BCM2836 (v1.1) or BCM2837 (v1.2), VideoCore IV @ 250–400 MHz (OpenGL ES 2.0, GL 2.1, no Vulkan) | |
3 Model A+ | 2.1 | ES 2.0 | Composite, HDMI | BCM2837, VideoCore IV @ 300–400 MHz (OpenGL ES 2.0, GL 2.1, no Vulkan) | |
3 Model B | 2.1 | ES 2.0 | Composite, HDMI | BCM2837, VideoCore IV @ 300–400 MHz (OpenGL ES 2.0, GL 2.1, no Vulkan) | |
3 Model B+ | 2.1 | ES 2.0 | Composite, HDMI | BCM2837, VideoCore IV @ 300–400 MHz (OpenGL ES 2.0, GL 2.1, no Vulkan) | |
4 Model B | 3.1 | ES 3.1 | 2x Micro-HDMI | BCM2711, VideoCore VI @ 500 MHz (OpenGL ES 3.1, Vulkan 1.2, GL 3.1) | |
5 | 4.6 | ES 3.2 | 2x Micro-HDMI | BCM2712, VideoCore VII @ 800 MHz (OpenGL ES 3.1, Vulkan 1.2, GL 3.1) | |
CM1 | n.A | ES 2.0 | DSI/CSI only | OpenGL 2.1 (KMS driver) | BCM2835, VideoCore IV @ 250 MHz |
CM3 | 2.1 | ES 2.0 | DSI/CSI only | OpenGL 2.1 (KMS driver) | BCM2837, VideoCore IV @ 300–400 MHz (OpenGL ES 2.0, GL 2.1, no Vulkan) |
CM3 Lite | 2.1 | ES 2.0 | DSI/CSI only | OpenGL 2.1 (KMS driver) | BCM2837, VideoCore IV @ 300–400 MHz (OpenGL ES 2.0, GL 2.1, no Vulkan) |
CM3+ | 2.1 | ES 2.0 | DSI/CSI only | OpenGL 2.1 (KMS driver) | BCM2837, VideoCore IV @ 300–400 MHz (OpenGL ES 2.0, GL 2.1, no Vulkan) |
CM3+ Lite | 2.1 | ES 2.0 | DSI/CSI only | OpenGL 2.1 (KMS driver) | BCM2837, VideoCore IV @ 300–400 MHz (OpenGL ES 2.0, GL 2.1, no Vulkan) |
CM4 | 3.1 | ES 3.1 | 2x HDMI via carrier | OpenGL ES 3.1 + Vulkan (KMS driver) | BCM2711, VideoCore VI @ 500 MHz (OpenGL ES 3.1, Vulkan 1.2, GL 3.1) |
CM5 | 4.6 | ES 3.2 | 2x HDMI via carrier | BCM2712, VideoCore VII @ 800 MHz (OpenGL ES 3.1, Vulkan 1.2, GL 3.1) | |
2 Model B (v1.1) | 2.1 | ES 2.0 | HDMI | OpenGL 2.1 (KMS driver) | BCM2836 (v1.1) or BCM2837 (v1.2), VideoCore IV @ 250–400 MHz (OpenGL ES 2.0, GL 2.1, no Vulkan) |
3 Model B | 2.1 | ES 2.0 | HDMI | OpenGL 2.1 (KMS driver) | BCM2837, VideoCore IV @ 300–400 MHz (OpenGL ES 2.0, GL 2.1, no Vulkan) |
4 Model B | 3.1 | ES 3.1 | Dual micro-HDMI | OpenGL ES 3.1 + Vulkan (KMS driver) | BCM2711, VideoCore VI @ 500 MHz (OpenGL ES 3.1, Vulkan 1.2, GL 3.1) |
5 Model B | 3.1 | ES 3.1 | Dual micro-HDMI | OpenGL ES 3.1 + Vulkan (KMS driver) | BCM2712, VideoCore VII @ 800 MHz (OpenGL ES 3.1, Vulkan 1.2, GL 3.1) |
Umfeld supports OpenGL 2.0, OpenGL 3.3 core and OpenGL ES 3.0 ( despite the specs above Umfeld runs on a Raspberry Pi 1 Mod B [[2025-06-30–Umfeld-on-Raspberry-Pi-1-Mod-B]] with only OpenGL 2.0 support … hmmm ).