Já myslím, že defaultně RPi4 a RPi 400 při startu detekují rozlišení monitoru připojeného přes HDMI, když tam nic není, tak ani X nepoběží a budou se pořád restartovat
Takže buď dát ten multi-user.target, nebo nastavit, aby i bez připojeného HDMI startovalo s nějakým rozlišením. Je na to taky HW šidítko, to ale nemám. Pak jde použít VNC třeba. Ale kvůli stabilitě je lepší prostě X nestartovat.
Pro RPi4 (má dvě HDMI, toto je pro HDMI0, nevím kolik má 400) a 4K televizi mám v /boot/config.txt toto:
hdmi_force_hotplug:0=1
hdmi_force_hotplug:1=0
# uncomment to force a specific HDMI mode (this will force VGA)
hdmi_group:0=1
hdmi_mode:0=97
hdmi_force_mode:0=1
hdmi_force_mode:1=0
hdmi_ignore_cec_init:0=1
hdmi_ignore_cec_init:1=1
#hdmi_ignore_cec:0=1
hdmi_ignore_cec:1=1
cec_osd_name=rpi4
hdmi_blanking:0=1
hdmi_blanking:1=1
hdmi_edid_file:0=1
hdmi_edid_file:1=0
hdmi_enable_4kp60=1
#to se vyplati i kdyz nepotrebujete 4K
#zvedne core_freq na 550 MHz z 500 MHz
Ten edid soubor jsem udělal při zapnuté televizi takto
sudo /opt/vc/bin/tvservice -d /boot/edid.dat
A teď můžu RPi pustit i při vypnuté televizi a tu zapnout později.
Ale jde i přímo vnutit nějaké rozlišení, které se vám hodí
https://www.raspberrypi.org/documentation/configuration/config-txt/video.md