# HDMI output since boot?

## Ginta

I have a laptop with a broken screen, but it usually boots, and when KDM is started, then, HDMI is detected and used, so I can use it.

But my problem is that I am afraid that maybe one day, some update or bad config could have my system unbootable and I could not do much without an active screen.

That's why I thought on the posibility of booting directly to HDMI (like some framebuffer or something similar) in early kernel boot stage.

The problem: I don't have a clue if it is possible, which kernel config should I have, or which special option to kernel boot parameters should I use  :Sad: 

Currently, I use grub2, with this lines on /etc/defaults/grub

GRUB_GFXPAYLOAD_LINUX=1920x1080x24

GRUB_DISTRIBUTOR="Gentoo"

GRUB_TIMEOUT=10

GRUB_HIDDEN_TIMEOUT_QUIET=true

GRUB_DEFAULT=saved

GRUB_GFXMODE=1920x1080x24

GRUB_CMDLINE_LINUX_DEFAULT='root=/dev/sda2 video=uvesafb:1920x1080-32,mtrr:3,ywrap crashkernel=128M@16M resume=/dev/sda4 udev splash rw'

#GRUB_HIDDEN_TIMEOUT=0

GRUB_TERMINAL=console

Maybe changing video=uvesafb:1920x1080-32 to something else could work, but unfortunatelly I can't just test, because if it does not boot, it is very hard to repair it.

I will thank any comment on it  :Smile: 

P.S. I use nvidia-driver if it is needed to know

----------

## Logicien

If you want to boot only from your external Hdmi screen, you can tell Linux to do so. You do not need more than one video parameter, This should do the job:

```
GRUB_CMDLINE_LINUX_DEFAULT='root=/dev/sda2 video=LVDS-1:d crashkernel=128M@16M resume=/dev/sda4 udev splash rw'
```

You can add an other video= parameter if you want to precise the external display, but it should be use by the kernel at is native resolution. Your internal screen will be disabled for Linux and Xorg until you will reboot without the video=LVDS-1:d parameter. Xorg should use the Hdmi screen by default.

----------

## Ginta

 *Logicien wrote:*   

> If you want to boot only from your external Hdmi screen, you can tell Linux to do so. You do not need more than one video parameter, This should do the job:
> 
> ```
> GRUB_CMDLINE_LINUX_DEFAULT='root=/dev/sda2 video=LVDS-1:d crashkernel=128M@16M resume=/dev/sda4 udev splash rw'
> ```
> ...

 

Thanks for your answer! Just for curiosity:

Shouldn't it be video=HDMI-1... ? Because, at least when I had the screen working, in nvidia-settings, I could see that my laptop screen was LVDS in its connection name (maybe I am wrong, but I am pretty sure)

----------

## Logicien

All videos output use to be enabled by default by the Linux kernel. Passing

```
video=HDMI-1:e
```

can be redundant because it is already enabled. What you want is to use only the Hdmi output.

```
video=LVDS-1:d
```

will force the Linux kernel to disable the integrated screen that is enabled by default, living only the Hdmi enabled.

```
d = disable

e = enable
```

----------

## Ginta

Oh, that makes sense.

However, I've tried and the result is just the same, hdmi output is not enabled until KDE starts and I can't see the tty in my TV yet.

Maybe I miss some kernel options, or maybe my hardware is just unable to do it in boot phase?

----------

## Logicien

Note that the kernel log will give you the exact port number for LVDS-? and HDMI-? Check with dmesg.

Try to boot with these kernel parameters

```
video=HDMI-1:e video=LVDS-1:d
```

and boot again if needed with those one

```
video=HDMI-1:D video=LVDS-1:d
```

----------

## s4e8

You have no output control if you use the nvidia-driver, both VGA/VESA console output initialized by BIOS.

----------

