Black screen when libreelec starts before tv is on

  • Hi,

    when i start libreelec before i turned on my tv the screen is black and i have to reboot. I know it was not a big deal to fix that on libreelec 7 on my raspi in bedroom, but i can't find anything how to fix that.

    it doesn't work with all kernels higher than 3.16 with my big tv and i hope there isn't the same problem with libreelec 8.

  • bunter fisch:

    We talked about that earlier at Kodinerds and yes....that is for Intel and NVidia only.

    As you have a AMD GPU, the script I made won't work.

    The thread you pointed to mentions AMD, that's true. But the steps in there are 100% the same as for Intel GPU and it's also mentioned at the openelec wiki, that those steps are for Intel GPUs only. See:

    Configuring a Custom xorg.conf - OpenELEC

    So you didn't answered my questions at kodinerds yet.

    Kein Bild wenn der TV nicht eingeschaltet ist bei Ubuntu 16.04 - Installation & Konfiguration unter Linux - Kodinerds.net - Deutschsprachiges Forum zum Kodi Entertainment Center

    Please answer them at least in here to get any further.

    Get us the output of:

    Code
    for f in /sys/class/drm/card*; do echo $f && cat $f/enabled; done

    To see if those commands will work in general for your GPU or get us the needed outputs.

    Probably I'm wrong and the steps in there will also work for AMD GPUs. But then tell us if you already dumped the EDID to the specific file mentioned in the How-To. Maybe you've done something wrong or did a typo or whatever.

    But not answering questions won't get you any further

  • 1.) First i've tried Ubuntu 16.04 as the OS for my HTPC and i failed getting the TV to work. This HowTo Radeon OSS with vdpau (howto) doesn't work with Kernel higher then 3.16. But at the moment i've given up tries with Ubuntu as OS for my HTPC.

    2.) So i tried LibreELEC. I did not answer your question because this thread in kodinerds forum was about ubuntu and not libreelec.

    Here is - somewhat late - my answer to yours questions :)

    Code
    for f in /sys/class/drm/card*; do echo $f && cat $f/enabled; done
    /sys/class/drm/card0
    cat: can't open '/sys/class/drm/card0/enabled': No such file or directory
    /sys/class/drm/card0-HDMI-A-1
    enabled
    /sys/class/drm/card0-HDMI-A-2
    disabled
    /sys/class/drm/card0-VGA-1
    disabled


    Quote


    But then tell us if you already dumped the EDID to the specific file mentioned in the How-To.

    The EDID on LibreELEC is untouched. All my tries to fix the problem was made on my Ubuntu system.

    _____

    My TV is a 4K TV vom LG, maybe this is a problem.

    Edited once, last by bunter fisch (March 30, 2017 at 8:53 AM).

  • So, that we know that

    Quote


    /sys/class/drm/card0-HDMI-A-1

    is the port in question, we can go further....if (and it's all just guessing) that will work, we have to do a combination of the thread you mentioned at kodi-forums and our system. So the next steps "might" be:

    Code
    mkdir -p /storage/.config/firmware/edid
    
    
    cp /sys/class/drm/card0-HDMI-A-1/edid /storage/.config/firmware/edid/edid.bin

    those 2 command will first create the folders under a section you have write access to (/storage/lib/firmware/edid) and the other one will copy the EDID informations to that folder in a file called "edid.bin"

    Now we have to create a cpio-archive:

    Quote


    cd ~
    mkdir -p cpio/lib/firmware/edid
    cp .config/firmware/edid/edid.bin cpio/lib/firmware/edid/
    cd cpio/
    find . -print | cpio -ov -H newc > ../edid.cpio



    Now we have to move that cpio-archive to /flash

    Quote


    mount -o remount,rw /flash
    mv ../edid.cpio /flash/

    After that is done, you have to edit either the "syslinux.cfg" or the "extlinux.conf" file. Only one will exist so please check

    Quote


    ls /flash/

    which one is available and edit it with: nano <filename>

    Search for the "APPEND"-line and add the following to it:

    Quote


    initrd=/edid.cpio drm_kms_helper.edid_firmware=HDMI-A-1:edid/edid.bin video=HDMI-A-1:D

    make sure everything is written into a single line!!! That's important.

    After this is done, save the file and exit nano and then enter:

    Code
    reboot

    Cross fingers and pray that this will work. I can't promise if it will, but I guess we will know soon ;)

    I'm not sure if the steps 4++ from here: Radeon OSS with vdpau (howto)

    will be needed. If they are, then I'm out of ideas how this should be done on our OS.


    Custom EDID - LibreELEC

  • Doesn't work. The same as with Ubuntu with a Kernel higher than 3.16: invalid format.

    BUT: The solution posted on kodi.tv works with my other fullhd tv, it still doesn't work with my 4k tv. maybe this is the problem?

    just to be sure: this is the complete line in extlinux.conf

    APPEND boot=LABEL=System disk=LABEL=Storage quiet initrd=/edid.cpio drm_kms_helper.edid_firmware=HDMI-A-1:edid/edid.bin video=HDMI-A-1:D

    there is a smily in your post, it think correct is ": D" (without the space) at the end as well as in the kodi.tv thread.

    Edited once, last by bunter fisch (March 31, 2017 at 1:06 PM).

  • OK. thank for your help.

    Now i'm thinking about a new cheap graphic card for my htpc with nvidia gpu. is there something that i have to consider when searching for a new card? a chipset that isn't supported well on libreelec or something?

  • Hello, I don't mean to thread hijack but I am having the exact same problem. I tried running getedid create from an SSH session and rebooted and got the following error message:

    A start job is running for Xorg Server (x / 1min 30sec)
    [FAILED] Failed to start Xorg Server.
    See 'systemctl status xorg.service' for details
    [DEPEND] Dependency failed for Fluxbox Window Manager.

    And then kodi does not start. So I went on the nvidia tab of the link and tried to the steps by individually as outlined:

    grep ": connected" /var/log/Xorg.0.log | head -n 1
    (--) NVIDIA(GPU-0): Pioneer Electronic Corporation SC-25 (DFP-1): connected

    nvidia-xconfig --extract-edids-from-file=/var/log/Xorg.0.l og --extract-edids-output-file=/storage/.config/edid.bin
    Found 0 EDIDs in "/var/log/Xorg.0.log".

    So I noticed that there is no edid.bin created either by the script or when i did the steps myself. Is this why it is hanging? Am I doing something wrong?

    I am running LE 8.0.1 on a VM on unRaid so Libreelec never turns off or shuts down, on the TV/AVR does. Not sure if this changes anything.

    Edited once, last by theGrok (April 6, 2017 at 12:19 PM).

  • now i owner of a graphic card with gt 710 gpu. the card works good, but i don't have screen when the htpc is started before the tv.

    the getedid script doesn't work. there is a error after reboot, but i can't remember the error text.

    i tried this Custom EDID - LibreELEC. there is an error after step 4.2

    Code
    systemctl start xorg.service
    Job for xorg.service failed because the control process exited with error code.
    See "systemctl status xorg.service" and "journalctl -xe" for details.

    This is the output of 'system status xorg.service'

    and the output of 'journalctl -xe'


    [hr]
    If tested getedid with a new installation of libreelec 8.0.1. here i have the same problem. after 'getedid create' ends the systems doesn't reboot automatically. after restarting libreelec the systems hang at the libreelec logo. here i have the error:

    Code
    failed to start the xorg server
    dependency failed for fluxbox window manager

    this is the same error i had before. i can't fix that with 'getedid delete':

    Code
    Job for xorg.service failed because the control process exited with error code.
    See "systemctl status xorg.service" and "journalctl -xe" for details.

    Edited once, last by bunter fisch (April 13, 2017 at 4:20 PM).