Stuck on boot after update TTY working

I got two warnings for the mkinitpcio

==> WARNING: Possibly missing firmware for module: 'xhci_pci'
==> WARNING: consolefont: no font found in configuration

and further for sudo update-grub

Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
Adding boot menu entry for UEFI Firmware Settings ...
Root filesystem isn't btrfs
If you think an error has occurred, please file a bug report at "https://github.com/Antynea/grub-btrfs"
Found memtest86+ image: /boot/memtest86+/memtest.bin
/usr/bin/grub-probe: warning: unknown device type nvme0n1.
done

Don’t know if this helps.

This is set in mkinictpcio.conf … by default … for some reason … even when a font is not configured. Seems an odd choice to me … but it wont hurt anything. I removed mine.

This can be fixed by installing upd72020x-fw … though it is not needed.

Another choice - modern manjaro ISOs use grub-btrfs even if you dont choose it during installation.
You can opt to remove it and use regular grub.

This is a message grub always throws on nvmes.

I did the steps and restarted. The thunderbolt display still doesn’t work. It is detected for a second (I get the message asking to extend/duplicate) but never turns on.

The problem isn’t with the display, I checked with another laptop, the display lit up as soon as I plugged in the cable.

you dont have any nvidia drivers loaded… probably a messed up update …
post output from:
sudo ldconfig
and:
mhwd-kernel -li && mhwd -l -li

Sudo ldconfig gives no output, like literally none.

Currently running: 6.1.53-1-MANJARO (linux61)
The following kernels are installed in your system:
   * linux515
   * linux61
   * linux61-rt
> Installed PCI configs:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
video-hybrid-intel-nvidia-prime            2023.03.23               false            PCI
     video-modesetting            2020.01.13                true            PCI


Warning: No installed USB configs!
> 0000:01:00.0 (0300:10de:25a0) Display controller nVidia Corporation:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
video-hybrid-intel-nvidia-prime            2023.03.23               false            PCI
video-hybrid-intel-nvidia-470xx-prime            2023.03.23               false            PCI
          video-nvidia            2023.03.23               false            PCI
    video-nvidia-470xx            2023.03.23               false            PCI
           video-linux            2018.05.04                true            PCI
     video-modesetting            2020.01.13                true            PCI
            video-vesa            2017.03.12                true            PCI


> 0000:00:02.0 (0300:8086:9a68) Display controller Intel Corporation:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
video-hybrid-intel-nvidia-prime            2023.03.23               false            PCI
video-hybrid-intel-nvidia-470xx-prime            2023.03.23               false            PCI
           video-linux            2018.05.04                true            PCI
     video-modesetting            2020.01.13                true            PCI
            video-vesa            2017.03.12                true            PCI

Also nvidia-smi doesn’t work.

NVIDIA-SMI has failed because it couldnt communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

How do I go about loading them?

You are using PRIME.
Nothing nvidia should work without prime-run
ex:

glxinfo | grep 'renderer string'
prime-run glxinfo | grep 'renderer string'
OpenGL renderer string: Mesa Intel(R) UHD Graphics (TGL GT1)
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  152 (GLX)
  Minor opcode of failed request:  24 (X_GLXCreateNewContext)
  Value in failed request:  0x0
  Serial number of failed request:  50
  Current serial number in output stream:  51

ldconfig should return nothing…
the driver is probably not being loaded because you downgraded the kernel without downgrading nvidia…
do you have installed some gpu switching apps, like optimus/envycontrol? post output from:
ls /etc/modprobe.d
find /etc/X11/ -name "*.conf"

$ ls /etc/modprobe.d
mhwd-gpu.conf  supergfxd.conf

The first file mhwd-gpu.conf has the following contents.

##    
## Generated by mhwd - Manjaro Hardware Detection    
##    
    
blacklist nouveau    
blacklist ttm    
blacklist drm_kms_helper    
blacklist drm    
options nvidia "NVreg_DynamicPowerManagement=0x02" 

The second file supergfxd.conf has the following contents.

# Automatically generated by supergfxd    
blacklist nouveau    
alias nouveau off    
    
options nvidia-drm modeset=1  
$ find /etc/X11/ -name "*.conf"
/etc/X11/mhwd.d/nvidia.conf
/etc/X11/xorg.conf.d/00-keyboard.conf
/etc/X11/xorg.conf.d/90-mhwd.conf
/etc/X11/xorg.conf.d/30-touchpad.conf

I don’t remember downloading optimus/envycontrol, but I could be wrong. How do I check?

I do have (supergfx)[asus-linux / supergfxctl · GitLab] which is a graphics switching application.

there would be some configs if they were installed…
post also output from:
cat /etc/mkinitcpio.conf

supergfx is a graphics switching application.

Here is the output:

# 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 udev autodetect modconf block keyboard keymap consolefont 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="zstd"

# COMPRESSION_OPTIONS
# Additional options for the compressor
#COMPRESSION_OPTIONS=()

# MODULES_DECOMPRESS
# Decompress kernel modules during initramfs creation.
# Enable to speedup boot process, disable to save RAM
# during early userspace. Switch (yes/no).
#MODULES_DECOMPRESS="yes"

Well thats related.
For example … is that set in hybrid mode or ? …

If you dont know too much about it … best remove all traces before continuing.

Graphics mode change error.
supergfxd is not enabled, enable it with `systemctl enable supergfxd
Error: Zbus error: org.freedesktop.DBus.Error.ServiceUnknown: The name org.supergfxctl.Daemon was not provided by any .service files

After starting it with systemctl the status is “suspended”

How do I remove all traces?

If its not enabled then thats good I guess.
But it hasnt stopped it from having configs still placed in your system, such as the /etc/modprobe.d/supergfxd.conf

I also wonder about this line … I dont think its there by default… and the option is known to cause problems.

In fact … I wonder about the drm ones too.

What should be my next steps?

If I were you I would disable and remove supergfctl (package? script? only you know)
I would also remove all of the excess files

sudo rm /etc/modprobe.d/*.conf

Then remove any IgnorePkg or similar if you have them. (in pacman.conf from downgrading)
Then I would make sure to sort mirrors and update:

sudo pacman-mirrors -f && sudo pacman -Syu

Then reinstall the drivers:

sudo mhwd -f -i pci video-hybrid-intel-nvidia-prime

Then reboot and check the things…

PS . I also noticed your mkinit looks … old.
Besides wanting to add a kms to the hooks (for kernel mode setting) … it may also indicate you have pacnews … this will print them:

pacdiff -o

supergfx is a part of asusd I downloaded the package from AUR - it comes bundled with the software that controls keyboard lights, battery threshold and stuff I guess, not sure.

Anyway I will follow the steps and revert back.

$ pacdiff -o                                                                                             ✔  took 7s   basic  
/etc/bluetooth/main.conf.pacnew
/usr/share/icons/default/index.theme.pacsave
/etc/shells.pacnew
/etc/locale.gen.pacnew
/etc/default/grub.pacnew
/etc/mkinitcpio.conf.pacnew
/etc/ssh/ssh_config.pacnew
/etc/pacman.conf.pacnew
/etc/pam.d/sddm.pacnew
/etc/texmf/web2c/fmtutil.cnf.pacsave
/etc/tlp.conf.pacnew

How do I deal with this?

Thats a lot …

The way I deal with them is:

pacdiff -s 

which will properly pass sudoedit to my DIFFPROG which is set to meld.

IF you havent set the DIFFPROG env var … then you can use something like:

DIFFPROG=meld pacdiff -s

OR
If you want something that will give you a presumptuous GUI you can install and use

manjaro-pacnew-checker

For more info:
https://wiki.archlinux.org/title/Pacman/Pacnew_and_Pacsave

This could also be the actual source of your problems. Ignoring pacnews will break things eventually.

Thank you so much! The second display is working now. I will read up the arch-wiki post and properly deal with the mkinit part. But everything seems to be working now.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.