Menu

reFind hangs until any key pressed when Display is _completely_ powered off(unplugged)

2020-04-22
2020-08-16
  • TalkingHead

    TalkingHead - 2020-04-22

    Hello,
    i installed latest 0.12.0 refind (x64) on my system to dual boot different OS (Win10, ).

    In reFind.conf is basically set up this:
    timeout 12
    use_nvram false
    textonly
    textmode 2
    showtools shell, shutdown, reboot
    scanfor manual
    default_selection 1
    menuentry Windows 10 {...}
    menuentry Other {...}
    include themes/sometheme-rEFInd/theme.conf

    reFind works fine in text and graphicsmode.
    As expected refind starts, shows its text or graphics, and after count down, the default_selection is booted.

    My Display, Printer, Soundbar is plugged to a switched plug, to switch them completely off when not needed. If i need to access my PC remotely i start it via wol and use RDP/ssh for remote access (no Display,Printer,Sound needed during remote access).

    Now the problem is, when the power cord of the Display (connected via DP to PC ) is unplugged, then refind hangs until until i press any key and then the timeout starts and boots default_selection.

    This is what can be observed when the pc starts while Display is completely powered off:
    CD/DVD gets initialized
    Keyboard/Mouse get initialized
    DiskActivity LED blinks about 4-5 times (like it does normally)
    Then nothing happens (waited 2-3 minutes)
    When i fully power on the Display, the screen is black.
    When i press any key, refind then shows the expected content (either text or graphics according to config)

    The funny thing is: If the Display has power, but turned off using its "soft switch", refind starts normally.
    BTW: The dispay is a Dell UH2713HM.

    Could you help here? It would be great, if refind starts although the displays completely powered off.
    Thanks in advance,
    T.

     
  • TalkingHead

    TalkingHead - 2020-04-24

    Hi,
    i could nail it down and fix it.
    PauseForKey() is called in function egSetTextMode(...), when e.g. the demanded screen mode is not valid. In my case, the switch to mode 2 was not possible while the screen was completely powered off and the following error handling path paused at PauseForKey().
    To resolve this, I replaced it with PauseSeconds(15).
    Now reFind continues while the screen ist completely powerd off.

    One minor issue persists: When textmode is disabled and resolution is set to 5 in config , then refind gets hard stuck while display is completely powered of. But it works in low default resolution when resolution is not configured.

    Kind regards, T

     
  • joevt

    joevt - 2020-04-24

    Right. PauseForKey is called after displaying certain error messages. Maybe there needs to be an option to replace PauseForKey with a PauseSeconds(x) where x is number from 0 (no pause) to whatever. If PauseSeconds doesn't exist in the conf file, then PauseForKey should be used as usual.

     
  • dakanji

    dakanji - 2020-08-16

    Added this feature to RefindPlus modified version.

    It will appear in v0.12.0.H onwards when released or you can build the WIP version.

     

    Last edit: dakanji 2020-08-16

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.