You are not logged in.
Hi folks. Struggling a bit with the above issue. I'd be very grateful for any tips or pointers towards further debugging, or if there's something obvious I'm missing.
I am not new to Linux but I am new to the Linux desktop and definitely to Arch. This is almost certainly something I've messed up as this was working fine at one point. I also have a very similar install on my desktop that works without issue.
I have configured my system to boot to X after automatic login as documented by the wiki (encrypted install):
/etc/systemd/system/getty@tty1.service.d/override.conf
[Service]
ExecStart=
ExecStart=/usr/bin/agetty --autologin dan --noclear %I %TERM.zprofile (modified with debug statements)
echo $(systemctl is-active graphical.target)
echo $DISPLAY
echo $XDG_VTNR
if systemctl -q is-active graphical.target && [[ ! $DISPLAY && $XDG_VTNR -eq 1 ]]; then
exec startx
fi.xinitrc
#!/bin/sh
autorandr --change
setxkbmap gb
userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap
# merge in defaults and keymaps
if [ -f $sysresources ]; then
xrdb -merge $sysresources
fi
if [ -f $sysmodmap ]; then
xmodmap $sysmodmap
fi
if [ -f "$userresources" ]; then
xrdb -merge "$userresources"
fi
if [ -f "$usermodmap" ]; then
xmodmap "$usermodmap"
fi
# start some nice programs
if [ -d /etc/X11/xinit/xinitrc.d ] ; then
for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
[ -x "$f" ] && . "$f"
done
unset f
fi
hsetroot -solid '#000000'
exec i3The current behaviour is that it simply doesn't start X, just presenting me with a virtual console.
I can start X fine manually with `startx` with no errors.
Things I've tried so far:
systemd et al.
systemctl get-default
graphical.targetsystemd-analyze
Startup finished in 10.108s (firmware) + 132ms (loader) + 1.018s (kernel) + 21.007s (initrd) + 9.052s (userspace) = 41.318s
graphical.target reached after 8.446s in userspacesystemd-analyze critical-chain
The time when unit became active or started is printed after the "@" character.
The time the unit took to start is printed after the "+" character.
graphical.target @8.446s
└─multi-user.target @8.446s
└─docker.service @7.074s +1.370s
└─network-online.target @7.073s
└─network.target @7.073sOutput of the modified .zprofile above
inactive
1Interestingly if I run `systemctl is-active graphical.target` after a few moments in the virtual console it reports it as 'active'. This suggests to me that something is delaying reaching the `graphical.target`? If I use the above .zprofile on my desktop it gives:
active
1There is nothing particularly exciting in the journal. There are no target dependencies failing and `multi-user.target` and `graphical.target` start as expected. The boot of the machine does not feel particularly slow. Let me know if this output would still be useful and any way to make the output more concise.
I understand there are alternative ways to detect the virtual console and hence start X - which I will try - but I'm keen to work out why this is happening in the first place, especially given it was working as expected previously and on other machines!
Thanks in advance
Last edited by spacemud (2020-02-17 13:13:48)
Offline
What videocard are you using (post lspci -k ) ?
Have you added the kernel modules for it in /etc/mkinitcpio.conf (post it) ?
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
I'm using Intel's integrated graphics. I don't remember adding anything to mkinitcpio.conf though...
lspci -k
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)
Subsystem: Lenovo 2nd Generation Core Processor Family DRAM Controller
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
Subsystem: Lenovo 2nd Generation Core Processor Family Integrated Graphics Controller
Kernel driver in use: i915
Kernel modules: i915
00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04)
Subsystem: Lenovo 6 Series/C200 Series Chipset Family MEI Controller
Kernel driver in use: mei_me
Kernel modules: mei_me
00:16.3 Serial controller: Intel Corporation 6 Series/C200 Series Chipset Family KT Controller (rev 04)
Subsystem: Lenovo 6 Series/C200 Series Chipset Family KT Controller
Kernel driver in use: serial
00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network Connection (Lewisville) (rev 04)
Subsystem: Lenovo ThinkPad T520
Kernel driver in use: e1000e
Kernel modules: e1000e
00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)
Subsystem: Lenovo 6 Series/C200 Series Chipset Family USB Enhanced Host Controller
Kernel driver in use: ehci-pci
Kernel modules: ehci_pci
00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 04)
Subsystem: Lenovo 6 Series/C200 Series Chipset Family High Definition Audio Controller
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b4)
Kernel driver in use: pcieport
00:1c.1 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 2 (rev b4)
Kernel driver in use: pcieport
00:1c.3 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 4 (rev b4)
Kernel driver in use: pcieport
00:1c.4 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 5 (rev b4)
Kernel driver in use: pcieport
00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)
Subsystem: Lenovo 6 Series/C200 Series Chipset Family USB Enhanced Host Controller
Kernel driver in use: ehci-pci
Kernel modules: ehci_pci
00:1f.0 ISA bridge: Intel Corporation QM67 Express Chipset LPC Controller (rev 04)
Subsystem: Lenovo QM67 Express Chipset LPC Controller
Kernel driver in use: lpc_ich
Kernel modules: lpc_ich
00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family 6 port Mobile SATA AHCI Controller (rev 04)
Subsystem: Lenovo 6 Series/C200 Series Chipset Family 6 port Mobile SATA AHCI Controller
Kernel driver in use: ahci
Kernel modules: ahci
00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 04)
Subsystem: Lenovo 6 Series/C200 Series Chipset Family SMBus Controller
Kernel driver in use: i801_smbus
Kernel modules: i2c_i801
03:00.0 Network controller: Intel Corporation Centrino Advanced-N 6205 [Taylor Peak] (rev 34)
Subsystem: Intel Corporation Centrino Advanced-N 6205 (802.11a/b/g/n)
Kernel driver in use: iwlwifi
Kernel modules: iwlwifi
0d:00.0 System peripheral: Ricoh Co Ltd PCIe SDXC/MMC Host Controller (rev 07)
Subsystem: Lenovo PCIe SDXC/MMC Host Controller
Kernel driver in use: sdhci-pci
Kernel modules: sdhci_pci/etc/mkinitcpio.conf
# vim:set ft=sh
# MODULES
# The following modules are loaded before any boot hooks are
# run. Advanced users may wish to specify all system modules
# in this array. For instance:
# MODULES=(piix ide_disk reiserfs)
MODULES=()
# BINARIES
# This setting includes any additional binaries a given user may
# wish into the CPIO image. This is run last, so it may be used to
# override the actual binaries included by a given hook
# BINARIES are dependency parsed, so you may safely ignore libraries
BINARIES=()
# FILES
# This setting is similar to BINARIES above, however, files are added
# as-is and are not parsed in any way. This is useful for config files.
FILES=()
# HOOKS
# This is the most important setting in this file. The HOOKS control the
# modules and scripts added to the image, and what happens at boot time.
# Order is important, and it is recommended that you do not change the
# order in which HOOKS are added. Run 'mkinitcpio -H <hook name>' for
# help on a given hook.
# 'base' is _required_ unless you know precisely what you are doing.
# 'udev' is _required_ in order to automatically load modules
# 'filesystems' is _required_ unless you specify your fs modules in MODULES
# Examples:
## This setup specifies all modules in the MODULES setting above.
## No raid, lvm2, or encrypted root is needed.
# HOOKS=(base)
#
## This setup will autodetect all modules for your system and should
## work as a sane default
# HOOKS=(base udev autodetect block filesystems)
#
## This setup will generate a 'full' image which supports most systems.
## No autodetection is done.
# HOOKS=(base udev block filesystems)
#
## This setup assembles a pata mdadm array with an encrypted root FS.
## Note: See 'mkinitcpio -H mdadm' for more information on raid devices.
# HOOKS=(base udev block mdadm encrypt filesystems)
#
## This setup loads an lvm2 volume group on a usb device.
# HOOKS=(base udev block lvm2 filesystems)
#
## NOTE: If you have /usr on a separate partition, you MUST include the
# usr, fsck and shutdown hooks.
HOOKS=(base systemd udev keyboard keymap autodetect sd-vconsole modconf block sd-encrypt sd-lvm2 filesystems fsck)
# COMPRESSION
# Use this to compress the initramfs image. By default, gzip compression
# is used. Use 'cat' to create an uncompressed image.
#COMPRESSION="gzip"
#COMPRESSION="bzip2"
#COMPRESSION="lzma"
#COMPRESSION="xz"
#COMPRESSION="lzop"
#COMPRESSION="lz4"
# COMPRESSION_OPTIONS
# Additional options for the compressor
#COMPRESSION_OPTIONS=()Offline
A common cause for graphical target / X issues is the kernel hasn't finished initialising KMS for the primary videocard.
Check https://wiki.archlinux.org/index.php/Ke … de_setting and configure early KMS start.
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
Fantastic! Working now @Lone_Wolf, thanks for your help.
Offline