Hello! I converted an old laptop with a broken screen into a home server, and it all works well except for one thing: when I reboot it (via ssh), if no screen is connected, it will get stuck and refuse to boot. as soon as I connect an HDMI monitor, the fans will start spinning and it will start booting as usual. Then I can remove the HDMI and it will work flawlessly. I don’t know if this is a linux problem, a GRUB problem, or a firmware problem.
Any idea on how to solve this, or on how to fool it into thinking a screen is connected? The problem is not the lid switch as I removed the magnet from the screen, so it thinks the lid is always open

Thanks in advance!

  • mofongo@lemm.ee
    link
    fedilink
    arrow-up
    20
    arrow-down
    1
    ·
    10 months ago

    On windows I think you need a HDMI dummy plug as others mentioned here before but Linux has to have a way to run headless. You can run Linux in Qemu without a connected display. If you find anything on why it’s not booting please let me know!

    • ahto@feddit.de
      cake
      link
      fedilink
      arrow-up
      29
      ·
      10 months ago

      Linux supports it, but (some?) motherboards won’t boot without a display connected. I had this issue recently when I converted my old PC to a NAS and I had to buy a dummy plug.

      • mbfalzar@lemmy.dbzer0.com
        link
        fedilink
        arrow-up
        12
        ·
        10 months ago

        It’s definitely only some. ASRock motherboards almost always allow headless boot, MSI almost never do iirc, Gigabyte and Asus are really model specific

      • kevincox@lemmy.ml
        link
        fedilink
        arrow-up
        4
        ·
        10 months ago

        I had this issue as well where my mobo wouldn’t boot without a GPU. In my case a BIOS update resolved the issue (it just beeps angrily a few times but continues booting).

  • breakingcups@lemmy.world
    link
    fedilink
    arrow-up
    11
    ·
    10 months ago

    There might be settings in the bios that allow you to disable the graphics card, not halt on errors or disable the internal screen, but they’re not usually exposed on laptop BIOS, they’re quite locked down.

  • isgleas@lemmy.ml
    link
    fedilink
    arrow-up
    8
    ·
    10 months ago

    It sounds like the issue is with the lid latch/sensor, not with the graphics. Some laptops may not boot if the lid is closed, and some have options on the firmware to enable to boot when the lid is closed / on a docking station.

    • kevincox@lemmy.ml
      link
      fedilink
      arrow-up
      2
      ·
      10 months ago

      This seems unlikely since it boots with a monitor attached. From past experience most laptops that refuse to boot while closed don’t boot even if an HDMI display is connected.

  • TheyCallMeHacked@discuss.tchncs.de
    link
    fedilink
    arrow-up
    5
    ·
    10 months ago

    There are a few ways to investigate, but for that we would need a bit more info. Firstly, what distro do you use ? Try using a different bootloader than GRUB to see if it solves the issue. Otherwise you could also try to use Linux’s UEFI stub.

  • comiconomenclaturist@lemmy.world
    link
    fedilink
    arrow-up
    3
    ·
    10 months ago

    I had an old laptop that I removed the screen from and it still booted. Perhaps if your screen has broken in a way that the GPU detects as a hardware failure, it might prevent booting? Maybe removing the screen entirely might solve the issue? Or at least disconnecting the internal cable from the screen to the motherboard…

  • Is it getting stuck in the BIOS? If you can’t ssh in, can you even ping it? Network should come up before graphics.

    Have you disabled the display manager?

    As someone eles mentioned, boot it with a screen and check the BIOS. Since this was a laptop, the BIOS is certainly expecting a display, so you might have to adjust something there.

    • tubbadu@lemmy.kde.socialOP
      link
      fedilink
      arrow-up
      1
      ·
      10 months ago

      Yes I can ping it!

      Have you disabled the display manager?

      yep, I did `systemctl set-default multi-user.target’

      As someone eles mentioned, boot it with a screen and check the BIOS. Since this was a laptop, the BIOS is certainly expecting a display, so you might have to adjust something there.

      I already looked into the bios but it was pretty empty, just a few options, nothing about displays or graphics card

      but now I have a doubts, perhaps there is a “show advanced settings” button somewhere that I didn’t see? I have to look for it

      • teawrecks@sopuli.xyz
        link
        fedilink
        arrow-up
        3
        ·
        10 months ago

        Most likely it’s hard coded in the firmware and not exposed as a BIOS option because the OEM didn’t ever think anyone would run into this. The dummy plug is your lowest effort workaround. Hope that works, good luck!

      • It could be Linux, too. Some distros have fancy boot graphics - look for something called “plasma” - not the KDE one, but a different one - and uninstall or disable that. It’s a common thing that hides the boot log behind a logo-and-progress bar. Arch doesn’t use it, so I haven’t seen it in years, but IIRC it can cause problems on headless systems.

  • X3I@lemmy.x3i.tech
    link
    fedilink
    arrow-up
    1
    ·
    10 months ago

    Did you take a little journey into the BIOS yet? Is definitely firmware, the question is if you can just change a setting there. Otherwise, somebody already mentioned dummy HDMI plugs.

  • pup_atlas@pawb.social
    link
    fedilink
    arrow-up
    1
    arrow-down
    2
    ·
    10 months ago

    You can attach a fake one in software via XVFB (X Virtual Frame Buffer). It’s a little involved if you aren’t familiar with X, but it only took me an hour or so to get setup. Then you don’t need any hardware at all, and can set whatever resolution you’d like.