Trouble with Arch Linux on MSI Alpha 15

Interesting, doesn’t really make sense to me. I thought amdgpu would be the only driver that supports your gpu(s) but there must be something I’m missing.

Once you’re in see what driver is in use lspci -k, I guess it must be using ati but that makes no sense to me.

It doesn’t display anything: just hangs.

Hahah yikes, I’m not sure what that means. Can’t even find out what module is being loaded, what a nightmare.

What about trying to load the amdgpu module while running?

modprobe amdgpu

Probably just error out or crash the system but I’m running out of ideas XD.

No errors or info in dmesg either I guess?

I must have fucked up something while experimenting earlier today. dmesg displayed 2 graphics-related errors, but I closed the xterm window by accident. Couldn’t see again, since now it doesn’t work at all: no such command.

Yea were definitely just diggin ourselves deeper here.

Boot from a live usb, mount your partitions to /mnt and /mnt/boot then pacstrap /mnt to get back most of the basics (I think that should do the trick)

You could sort the mirrors first to speed up the pacstrap if you like

reflector --score 100 -l 50 -f 10 --sort rate --save /etc/pacman.d/mirrorlist --verbose

Out of curiosity I started the Manjaro installer. Both screens detected properly. What the fuck?

[edit] It installed, started and keeps working so far. I’m ruined.

Wonder what install script they use. Years that I haven t used manjaro.

I was going to try and return the laptop tomorrow. Now I’m confused: if Manjaro works, installing Arch must be possible. What the hell should I do now?

See what they’re doing by checking info and comparing, what drivers are installed, what kernel, what module is in use by the hardware, what xorg configs are in /etc/X11/xorg.conf.d, etc.

1 Like

I wish I could borrow your knowledge for one single night.

At the end of the day it’s got to be doable, they’re using the same driver stack as arch with the extra testing before adding to their repos, I’d also check some of the package versions to see on the system and compare with what’s on https://www.archlinux.org/packages/

Start off with the basic stuff like lspci -k to find what modules are in use, do a second arch/archlabs install alongside the manjaro one so you can still have something usable while comparing.

Interesting:

Kernel driver in use: amdgpu
Kernel modules: amdgpu

Having both alongside be difficult: Arch doesn’t boot for me in legacy mode, while Manjaro refused to boot from efi.

We should just see if they set up any special configs and the like

ls /etc/modprode.d
ls /etc/X11/xorg.conf.d

If there’s any file in those directories, we wanna cat them out and see what they contain.

Maybe also the kernel cmdline

cat /proc/cmdline

Check /etc/mkinitcpio.conf to see if there’s any difference in modules being loaded.

See what drivers are installed

pacman -Qqs '(xf86|amd|mesa)'
  • /etc/modprode.d is empty
  • /etc/X11/xorg.conf.d contains 1 file: 00-keyboard.conf
Section "InputClass"
        Identifier "system-keyboard"
        MatchIsKeyboard "on"
        Option "XkbLayout" "pl"
        Option "XkbModel" "pc105"
EndSection
$ cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-5.4-x86_64 root=UUID=bf9f58dc-e194-4c93-a580-5e290cc08b2e rw quiet apparmor=1 security=apparmor udev.log_priority=3
$ cat /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 udev autodetect modconf block keyboard keymap filesystems"

# 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=()
$ pacman -Qqs '(xf86|amd|mesa)'
amd-ucode
glu
lib32-glu
lib32-libxxf86vm
lib32-mesa
lib32-mesa-demos
lib32-mesa-vdpau
lib32-vulkan-intel
lib32-vulkan-radeon
libva-mesa-driver
libxxf86vm
mesa
mesa-demos
mesa-vdpau
mhwd-amdgpu
vulkan-intel
vulkan-radeon
xf86-input-elographics
xf86-input-evdev
xf86-input-libinput
xf86-input-void
xf86-input-wacom
xf86-video-amdgpu
xf86-video-ati
xf86-video-intel
xf86-video-nouveau

Surely mhwd-amdgpu must be some Manjaro stuff. “MHWD module-ids for amdgpu”. Two files: /var/lib/mhwd/ids/pci/amdgpu.ids and /var/lib/mhwd/ids/pci/amdgpu_exp.ids. Both are just text files with hexadecimal numbers. Required by mhwd-db.

Yea everything looks fairly standard there, only a few outliers the mhwd-amdgpu is just for gpu detection for driver install as you mentioned, and the kernel is a slightly older version (5.4 vs 5.6 on arch).

I would check some of the driver and mesa versions to see what they’re using

pacman -Q package

I’ll compare with what I have and possibly a downgrade will be in order.

amd-ucode 20200417.r1623.6314fa0-1
glu 9.0.1-1
mesa 20.0.4-1
mesa-vdpau 20.0.4-1
vulkan-radeon 20.0.4-1
xf86-video-amdgpu 19.1.0-1
xf86-video-ati 1:19.1.0-1
libxxf86vm 1.1.4-3
libva-mesa-driver 20.0.4-1

Do you have microcodes in there, might have nothing to do with it, but it can be of any help, don t know.

Yes. Manjaro uses slightly different version number, however. Dunno what the difference is.

& those like

firmware-amd-graphics

, & all of those!

Edit: Pretty shure that you have all the free, non-free oackages as well.

Manjaro uses no such package. I’ve had hardly any sleep last 2 nights and I’m too tired to install Arch one more time tonight. I’m only testing sway here, before I fall asleep. I’m not working tomorrow, so 1 day left to make a final decision.