How to fool a laptop into thinking a monitor is connected?
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
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!
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.
It's definitely only some. ASRock motherboards almost always allow headless boot, MSI almost never do iirc, Gigabyte and Asus are really model specific
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).
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.
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.
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.
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.
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.
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
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.
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..
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.