firmware
firmware copied to clipboard
HDMI hotplug using tvservice stopped working on Pi 3b+
Describe the bug After upgrading from an old firmware (Nov 23 2018 19:36:38 version d8054e0f49c3f96936956a4079b2290b11a5d428 (clean) (release)) I found the ability to switch from composite output to HDMI output using tvservice -p no longer works.
It seems like once the firmware has booted into composite mode, it's not possible to switch to HDMI or to get the firmware to even recognize that HDMI is now attached. This is tested using just console framebuffer without any desktop environment running.
Edit: Problem seems to have been introduced in https://github.com/Hexxeh/rpi-firmware/commit/9bc4a733b6774c535ce598c2e6dc091aecc83f89
To reproduce
- Boot with HDMI unplugged
- tvservice -s state == 0x40000 (VC_SDTV_NTSC)
- Plug in HDMI cable
- tvservice -M responds with
[I] HDMI is attached
- But tvservice -s state is still 0x40000
Expected behaviour On older firmware (Nov 23 2018 19:36:38 version d8054e0f49c3f96936956a4079b2290b11a5d428 (clean) (release)):
- Boot with HDMI unplugged
- tvservice -s state == 0x40001 (VC_HDMI_UNPLUGGED VC_SDTV_NTSC)
- Plug in HDMI cable
- tvservice -M responds with
[I] HDMI is attached
- vcdbg log msg shows firmware reading EDID
269418.784: hdmi: HDMI:>>>>>>>>>>>>>Rx sensed, reading EDID<<<<<<<<<<<<<
- tvservice -s state == 0x40002 (VC_HDMI_ATTACHED VC_SDTV_NTSC)
- tvservice -p will configure and activate HDMI
System
System is a Pi3B+ Kernel: 5.10.52-7-ARCH Firmware: Aug 11 2021 14:00:57 Copyright (c) 2012 Broadcom version 5c8758dbac5b27911d2384c5dcd5db843528b606 (clean) (release) (start)
@JamesH65 any thoughts? "Fix composite mode on devices up to Pi3B+" was one of yours.
Seems like switching the other way is also no longer supported: https://github.com/raspberrypi/firmware/issues/1257
It seems like the last firmware capable of switching to HDMI mode without rebooting is https://github.com/Hexxeh/rpi-firmware/commit/458871abedfd68ea417d24577694dbe9d7d4db4c . Seems like this got dropped with the support for Pi4 in https://github.com/Hexxeh/rpi-firmware/commit/91dfd43aaa58362864228e3f7d343ddc6da4e278
Ability to reconfigure the display without rebooting is a lovely feature that I would love to retain. Right now I am adjusting my scripts to reboot to switch to HDMI.
@cyph84 -- is this a display service you can stop/start - to avoid rebooting
This is all tested on kernel framebuffer console. So I don't think I can restart it without rebooting. Also ran the same tests on X with xrandr.
Bottom line is: it seems that once you boot in RCA mode, you can't switch to HDMI. Once upon a time I remember you could do that with the firmware.