Fixing HDMI Output on Orange Pi 5 Plus (Ubuntu 26.04)
The Orange Pi 5 Plus is a capable ARM SBC, but getting HDMI output working on Ubuntu 26.04 with kernel 7.0.0 required some digging. Both HDMI ports showed as disconnected at the kernel level despite the cable being physically connected and the TV working fine.
Symptoms #
- No image on TV at all
- Both DRM connectors report
disconnected:
$ cat /sys/class/drm/card1-HDMI-A-1/status
disconnected
$ cat /sys/class/drm/card1-HDMI-A-2/status
disconnected
- Xorg falls back to a 1024x768 virtual framebuffer with no physical output
dmesgshows repeatedHDMI: Unknown ELD version 0errors
Root Cause #
The Rockchip DRM driver (VOP2 + DesignWare HDMI QP controllers) on this kernel fails to detect the HPD (Hot Plug Detect) signal from the TV at boot. Without HPD, the driver marks both connectors as disconnected and refuses to drive them. You can also see this in dmesg:
[drm] Cannot find any crtc or sizes
A plain video=HDMI-A-1:1920x1080@60 kernel parameter isn’t enough — it only sets the mode when a connection is detected. The e (force-enable) flag is needed to bypass HPD entirely.
Fix #
1. Force-enable HDMI via kernel parameter #
Edit /etc/default/grub and add the e flag to force-enable both ports:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash console=tty0 video=HDMI-A-1:1920x1080@60e video=HDMI-A-2:1920x1080@60e"
Then regenerate the GRUB config:
sudo update-grub
2. Force Xorg to use the output #
Create /etc/X11/xorg.conf.d/10-hdmi-force.conf:
Section "Monitor"
Identifier "Monitor0"
Modeline "1920x1080_60" 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
EndSection
Section "Device"
Identifier "Device0"
Driver "modesetting"
Option "Monitor-HDMI-1" "Monitor0"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1920x1080_60"
EndSubSection
EndSection
This tells the Xorg modesetting driver to bind HDMI-1 to a 1080p modeline regardless of what the DRM subsystem reports about the connection state.
3. Reboot #
Both changes together fix the issue. The kernel forces the connector on at the hardware level, and Xorg doesn’t bail out when it sees a “disconnected” output.
Bonus: Auto-login #
If you’re using this as a dedicated media or gaming box, you probably don’t want a login screen either. Create /etc/sddm.conf.d/autologin.conf:
[Autologin]
User=your-username
Session=plasmax11
Notes #
- This was tested on an Orange Pi 5 Plus with Ubuntu 26.04 LTS (kernel 7.0.0-22-generic)
- The board has two HDMI ports: HDMI-A-1 (HDMI 2.1) and HDMI-A-2 (HDMI 2.0). Both are force-enabled here so either port works
- A VNC server running alongside (TigerVNC on display
:2) is completely unaffected — it uses a separate virtual framebuffer