HDMI fallback not working in LE12

  • I have a rpi3 b+ connected to an HDMI monitor and a composite video projector at different times. First it was running libreelec 9.2.8.

    When I connect the HDMI cable and turn the monitor on, the output was on the HDMI monitor. When the HDMI cable is not connected, the output was on the composite video projector. It was doing this only by adding sdtv_mode=2 sdtv_aspect=3 to config.txt.

    I have installed a fresh libreelec 12.0.1 to a new sd card. I know that these commands are now obsolete and I did this configuration:

    config.txt:

    #include distroconfig.txt

    include distroconfig-composite.txt

    cmdline.txt:

    video=Composite-1:720x576@50ie

    The composite video out works but when I connect the HDMI cable and turn on the monitor, the screen is blank. It does not fallback to HDMI like the previous version.

    Is there anything to do for switching outputs automatically when needed? I don't think it is possible but outputting to both will be OK too.

    If not possible, is there any workarounds like a VNC server compatible with libreelec 12? It doesn't have to play video remotely. Only GUI is enough for maintenance, updating etc.

  • If you enable composite output or add video=Composite-1:720x576@50ie to cmdline.txt output is forced to that always regardless of whether HDMI has been connected. And because there is no handshaking with the (analogue) composite output, there is no way for the kernel to know nothing is connected and fall back to another display method. There is currently no VNC support for the GBM/V4L2 output we use.

    The least-worst idea I can come up with is creating a script add-on that allows you to select/choose between composite or HDMI output in the (add-on) settings GUI and then reboot to initiate the change. That doesn't exist though, and I'm not volunteering :)

  • If you enable composite output or add video=Composite-1:720x576@50ie to cmdline.txt output is forced to that always regardless of whether HDMI has been connected. And because there is no handshaking with the (analogue) composite output, there is no way for the kernel to know nothing is connected and fall back to another display method. There is currently no VNC support for the GBM/V4L2 output we use.

    The least-worst idea I can come up with is creating a script add-on that allows you to select/choose between composite or HDMI output in the (add-on) settings GUI and then reboot to initiate the change. That doesn't exist though, and I'm not volunteering :)

    I have already done a shell script that switches cmdline.txt accordingly. I run it by ssh as a workaround. But LE9 was doing it perfectly without needing to connect with ssh before and after connecting to HDMI. I wanted to know if there is a method without forcing composite output like previous one.

  • I don't think you need to force video= in cmdline.txt, but I think enabling composite output in config.txt results in the same situation where the output is active and because the kernel cannot detect whether something is connected or not there is no fallback. At least, I assume that's the case, as these days I have nothing that accepts composite input to experiment with.

  • I don't think you need to force video= in cmdline.txt, but I think enabling composite output in config.txt results in the same situation where the output is active and because the kernel cannot detect whether something is connected or not there is no fallback. At least, I assume that's the case, as these days I have nothing that accepts composite input to experiment with.

    I have tried it. The composite video out is not active without entering video= in cmdline.txt. Thanks anyway.