EndeavourOS hangs on boot (display drvr)

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
nvme0n1     259:0    0 476,9G  0 disk 
├─nvme0n1p1 259:1    0   512M  0 part /boot/efi
├─nvme0n1p2 259:2    0 459,4G  0 part /
└─nvme0n1p3 259:3    0    17G  0 part [SWAP]

This is interesting:

Why is your root partition flagged as legacy boot? You have new hardware.

2 Likes

Hmm. Good question. Strange though because in my boot menu I have:

Boot mode is set to : UEFI; Secure Boot: OFF
LEGACY BOOT:
- M.2 PCIe SSD

UEFI BOOT
- EndeavourOS
- ArcoLinux
- Manjaro
- UEFI: PM951 NVMe SAMSUNG 512GB, Partition 1
- Windows boot manager

In reality this is old windows 10 laptop that previously had Manjaro and ArcoLinux installation. EndeavourOS was installed using erase option from installer (as previous OS’s).

I’m not sure why they are showing up in boot menu.

Can you post an image from gparted?

2 Likes

Screenshot_2021-05-31_15-06-52

I’m not sure if you can remove the flag without it affecting the installation. So it would be right click on the partition and use manage flags and uncheck legacy boot. I caution though that I’m not sure if it will mess up the installation. :thinking: Just telling you this is where you would normally flag it when creating manual partitions.

Should be easy to revert from a live environment, if needed.

Well it’s set up for UEFI anyway and the UEFI partition is there but the ext4 root partition is flagged legacy boot so it may not have any affect removing the flag but i wouldn’t bet the cards on it. :wink:

I removed the flag. gparted didn’t even ask to apply operations. It didn’t have any effect on anything. (Including boot menu)

I have exactly the same problem as this guy

Black screen and cursor (not any longer blinking) in top left corner. I can open tty2…3 etc and login

1 Like

I’ll do it for you then: legacy_boot is not needed.

Did you try using the kernel parameter that he used? apci_osi=“Windows 2018”

I realize it’s not needed because it is UEFI. I just didn’t want to say uncheck the flag and if something goes south then it’s a problem because i wasn’t sure if it would mess up the root partition removing it. Just being cautious in case. :slightly_smiling_face:

It’s done

Now my tty1 boots up to (I’m pretty sure it’s the same situation as before but I had grub on quiet-mode)

[ OK ] Reached target graphical interface
[ OK ] Reached target User and Group name lookups
Starting accounts service
[ OK ] Started Hostname Service
Starting Authorization Manager
Starting Network Manager Script Dispatcher Service

So grub has been updated with

grub-mkconfig -o /boot/grub/grub.cfg

to

# GRUB boot loader configuration

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="EndeavourOS"
GRUB_CMDLINE_LINUX_DEFAULT="acpi_osi='Windows 2018' resume=UUID=ed67a59e-0370-4bdd-8bef-ff58e161dbb1 loglevel=3 nowatchdog"
GRUB_CMDLINE_LINUX="nvidia-drm.modeset=1"

# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"

# Uncomment to enable booting from LUKS encrypted devices
#GRUB_ENABLE_CRYPTODISK=y

# Set to 'countdown' or 'hidden' to change timeout behavior,
# press ESC key to display menu.
GRUB_TIMEOUT_STYLE=menu

# Uncomment to use basic console
GRUB_TERMINAL_INPUT=console

# Uncomment to disable graphical terminal
#GRUB_TERMINAL_OUTPUT=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
GRUB_GFXMODE=auto

# Uncomment to allow the kernel use the same resolution used by grub
GRUB_GFXPAYLOAD_LINUX=keep

# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
GRUB_DISABLE_RECOVERY=true

# Uncomment and set to the desired menu colors.  Used by normal and wallpaper
# modes only.  Entries specified as foreground/background.
#GRUB_COLOR_NORMAL="light-blue/black"
#GRUB_COLOR_HIGHLIGHT="light-cyan/blue"

# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/path/to/wallpaper"
GRUB_THEME=/boot/grub/themes/EndeavourOS/theme.txt

# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"

# Uncomment to make GRUB remember the last selection. This requires
# setting 'GRUB_DEFAULT=saved' above.
#GRUB_SAVEDEFAULT=true

# Uncomment to disable submenus in boot menu
#GRUB_DISABLE_SUBMENU=y
GRUB_DISABLE_SUBMENU=y

So it doesn’t boot to a desktop? Also since you did all the enhancements for the nvidia i would also make sure you install the hook for nvidia because that seems to be where the issue has been when updating.

sudo pacman -S nvidia-hook

Exactly, it doesn’t boot to desktop. I created hook -file into directory posted here and installed nvidia-hook using pacman.

I don’t think you needed to install the hook package if you created it manually but that’s okay. It probably just creates the same files.

So you have optimus-manager installed? What desktop is installed?

I have optimus-manager installed. DE is i3. I lost my greeter/login manager/DE after Nvidia driver installation.

What bothers me is if I run

nvidia-settings
Unable to init server: Could not connect: Connection refused

ERROR: The control display is undefined; please run `nvidia-settings --help` for usage information.

OR

xrandr
Can't open display 

I’m not sure if it should be like this though…

If it’s i3 you set the monitor in arandr. Then save the file in the GUI that opens as monitor.

I’m not very knowledgeable with i3 so i don’t think i can help you much more than this. Did you put anything in the modules section in /etc/mkinitcpio.conf such as MODULES= i915 nvidia

It’s a hybrid graphics so it should boot on Intel and then you use optimus-manager to switch to nvidia.

I did put these nvidia-modules in this mkinitcpio.conf-file

#
# SPDX-License-Identifier: GPL-3.0-or-later

# 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="nvidia nvidia_modeset nvidia_uvm nvidia_drm"

# 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 udev autodetect modconf block keyboard keymap resume 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=()