# AMDGPU causes boot to fail with KMS enabled

## Thanatos2996

I am attempting to get the amdgpu drivers working for an RX470, and have included the appropriate bins in the kernel, as per the wiki. However, when booting with KMS, the boot fails when the system attempts to load amdgpu. nomodeset allows the system to boot but is obviously not an ideal solution.

the dmesg log shows:

```

[    0.876121] [drm] amdgpu kernel modesetting enabled.

[    0.876609] [drm] initializing kernel modesetting (POLARIS10 0x1002:0x67DF 0x1682:0x9470 0xCF).

[    0.876857] amdgpu 0000:03:00.0: VM size (-1) must be a power of 2

[    0.877009] [drm] register mmio base: 0xF7CC0000

[    0.877170] [drm] register mmio size: 262144

[    0.877319] [drm] probing gen 2 caps for device 8086:340e = 393d02/0

[    0.877467] [drm] probing mlw for device 8086:340e = 393d02

[    0.877617] [drm] UVD is enabled in VM mode

[    0.877760] [drm] VCE enabled in VM mode

[    0.903649] [drm] BIOS signature incorrect 5b 7

[    0.903795] amdgpu 0000:03:00.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0x6600

[    0.904062] ATOM BIOS: 113-47045HYF1-W81

[    0.904234] [drm] GPU post is not needed

[    0.904505] [drm] vm size is 64 GB, block size is 13-bit

[    0.904666] amdgpu 0000:03:00.0: Direct firmware load for amdgpu/polaris10_mc.bin failed with error -2

[    0.904914] mc: Failed to load firmware "amdgpu/polaris10_mc.bin"

[    0.905061] [drm:gmc_v8_0_sw_init] *ERROR* Failed to load mc firmware!

[    0.905219] [drm:amdgpu_device_init] *ERROR* sw_init of IP block <gmc_v8_0> failed -2

[    0.905467] amdgpu 0000:03:00.0: amdgpu_init failed

[    0.905612] amdgpu 0000:03:00.0: Fatal error during GPU init

[    0.905757] [drm] amdgpu: finishing device.

[    0.905899] [TTM] Memory type 2 has not been initialized

[    0.906587] amdgpu: probe of 0000:03:00.0 failed with error -2

```

I have seen other posts about the mc firmware failing, but they all pointed to getting a file which I am not missing via a package which no longer exists. 

my kernel config: https://pastebin.com/udwkUi8k

If there is any other info I should provide, please let me know.

----------

## Ant P.

What do emerge --info linux-firmware and ls -l /lib/firmware/amdgpu/polaris10* say?

----------

## Marlo

Try to change this.

from

```
CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware"
```

to

```
CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware/"
```

And search for

```
CONFIG_HSA_AMD
```

and put "Y"

                                                        <*> /dev/agpgart (AGP Support)  --->                                                                                   │ │  

  │ │                                                 [ ] VGA Arbitration                                                                                                    │ │  

  │ │                                                 [ ] Laptop Hybrid Graphics - GPU switching support                                                                     │ │  

  │ │                                                 <*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)  --->                                              │ │  

  │ │                                                 [ ] Allow to specify an EDID data set instead of probing for it                                                        │ │  

  │ │                                                     I2C encoder or helper chips  --->                                                                                  │ │  

  │ │                                                 < > ATI Radeon                                                                                                         │ │  

  │ │                                                 <*> AMD GPU                                                                                                            │ │  

  │ │                                                 [ ]   Enable amdgpu support for SI parts                                                                               │ │  

  │ │                                                 [ ]   Enable amdgpu support for CIK parts                                                                              │ │  

  │ │                                                 [*]   Always enable userptr write support                                                                              │ │  

  │ │                                                 [*]   Allow GART access through debugfs                                                                                │ │  

  │ │                                                     ACP (Audio CoProcessor) Configuration  --->                                                                        │ │  

  │ │                                                 < > Nouveau (NVIDIA) cards                                                                                             │ │  

  │ │                                                 < > Intel 8xx/9xx/G3x/G4x/HD Graphics                                                                                  │ │  

  │ │                                                 < > Virtual GEM provider                                                                                               │ │  

  │ │                                                 < > DRM driver for VMware Virtual GPU                                                                                  │ │  

  │ │                                                 < > Intel GMA5/600 KMS Framebuffer                                                                                     │ │  

  │ │                                                 < > DisplayLink                                                                                                        │ │  

  │ │                                                 < > AST server chips                                                                                                   │ │  

  │ │                                                 < > Kernel modesetting driver for MGA G200 server engines                                                              │ │  

  │ │                                                 < > Cirrus driver for QEMU emulated device                                                                             │ │  

  │ │                                                 < > QXL virtual GPU                                                                                                    │ │  

  │ │                                                 < > DRM Support for bochs dispi vga interface (qemu stdvga)                                                            │ │  

  │ │                                                 < > Virtio GPU driver                                                                                                  │ │  

  │ │                                                     Display Panels  ----                                                                                               │ │  

  │ │                                                     Display Interface Bridges  --->                                                                                    │ │  

  │ │                                                 <*> HSA kernel driver for AMD GPU devices                                                                              │ │  

  │ │                                                 < > DRM Support for Hisilicon Hibmc                                                                                    │ │  

  │ │                                                 < > Support for simple displays  ----                                                                                  │ │  

  │ │                                                 [ ] Enable legacy drivers (DANGEROUS)  ----                                                                            │ │  

  │ │                                                     Frame buffer Devices  --->                                                                                         │ │  

  │ │                                                 -*- Backlight & LCD device support  --->                                                                               │ │  

  │ │                                                     Console display driver support  --->                                                                               │ │  

  │ │                                                 [*] Bootup logo  --->              

greetings

----------

## Thanatos2996

 *Marlo wrote:*   

> Try to change this.
> 
> from
> 
> ```
> ...

 

This had no effect

----------

## Thanatos2996

 *Ant P. wrote:*   

> What do emerge --info linux-firmware and ls -l /lib/firmware/amdgpu/polaris10* say?

 

emerge --info linux-firmware:

```

Portage 2.3.8 (python 3.4.5-final-0, default/linux/amd64/13.0/desktop/plasma/systemd, gcc-5.4.0, glibc-2.25-r8, 4.12.12-gentoo x86_64)

=================================================================

                         System Settings

=================================================================

System uname: Linux-4.12.12-gentoo-x86_64-Intel-R-_Xeon-R-_CPU_W3530_@_2.80GHz-with-gentoo-2.4.1

KiB Mem:     6102484 total,   4007232 free

KiB Swap:    6655996 total,   6655996 free

Timestamp of repository gentoo: Tue, 07 Nov 2017 00:45:01 +0000

Head commit of repository gentoo: bbb8849f9e11baf429d96156a5dab8a0879427bb

sh bash 4.3_p48-r1

ld GNU ld (Gentoo 2.28.1 p1.0) 2.28.1

app-shells/bash:          4.3_p48-r1::gentoo

dev-lang/perl:            5.24.3::gentoo

dev-lang/python:          2.7.14::gentoo, 3.4.5::gentoo

dev-util/cmake:           3.8.2::gentoo

dev-util/pkgconfig:       0.29.2::gentoo

sys-apps/baselayout:      2.4.1-r2::gentoo

sys-apps/openrc:          0.32.1::gentoo

sys-apps/sandbox:         2.10-r4::gentoo

sys-devel/autoconf:       2.13::gentoo, 2.69::gentoo

sys-devel/automake:       1.15-r2::gentoo

sys-devel/binutils:       2.28.1::gentoo

sys-devel/gcc:            5.4.0-r3::gentoo

sys-devel/gcc-config:     1.8-r1::gentoo

sys-devel/libtool:        2.4.6-r3::gentoo

sys-devel/make:           4.2.1::gentoo

sys-kernel/linux-headers: 4.4::gentoo (virtual/os-headers)

sys-libs/glibc:           2.25-r8::gentoo

Repositories:

gentoo

    location: /usr/portage

    sync-type: rsync

    sync-uri: rsync://rsync.gentoo.org/gentoo-portage

    priority: -1000

ACCEPT_KEYWORDS="amd64"

ACCEPT_LICENSE="* -@EULA"

CBUILD="x86_64-pc-linux-gnu"

CFLAGS="-O2 -pipe"                                                                                                                                         

CHOST="x86_64-pc-linux-gnu"                                                                                                                                

CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt"                                            

CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/sandbox.d /etc/terminfo"    

CXXFLAGS="-O2 -pipe"                                                                                                                                       

DISTDIR="/usr/portage/distfiles"                                                                                                                           

FCFLAGS="-O2 -pipe"                                                                                                                                        

FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"                 

FFLAGS="-O2 -pipe"                                                                                                                                         

GENTOO_MIRRORS="ftp://ftp.gtlib.gatech.edu/pub/gentoo rsync://rsync.gtlib.gatech.edu/gentoo http://www.gtlib.gatech.edu/pub/gentoo ftp://ftp.ussg.iu.edu/pub/linux/gentoo http://lug.mtu.edu/gentoo/ http://gentoo.osuosl.org/ http://gentoo.mirrors.pair.com/ ftp://mirrors.rit.edu/gentoo/ http://mirrors.rit.edu/gentoo/ rsync://mirrors.rit.edu/gentoo/ http://gentoo.mirrors.tds.net/gentoo http://mirror.lug.udel.edu/pub/gentoo/ http://cosmos.illinois.edu/pub/gentoo/ ftp://cosmos.illinois.edu/pub/gentoo/ http://gentoo.cs.uni.edu/ rsync://gentoo.cs.uni.edu/gentoo-distfiles http://gentoo.cs.utah.edu/"                       

LANG="en_US.utf8"                                                                                                                                          

LDFLAGS="-Wl,-O1 -Wl,--as-needed"                                                                                                                          

MAKEOPTS="-j9"                                                                                                                                             

PKGDIR="/usr/portage/packages"                                                                                                                             

PORTAGE_CONFIGROOT="/"                                                                                                                                     

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"                                                                      

PORTAGE_TMPDIR="/var/tmp"                                                                                                                                  

USE="X a52 aac acl acpi activities alsa amd64 berkdb bindist bluetooth branding bzip2 cairo cdda cdr cli cracklib crypt cups cxx dbus declarative dri dts dvd dvdr emboss encode exif fam firefox flac fortran gdbm gif glamor gpm iconv ipv6 jpeg kde kipi kwallet lcms ldap libnotify mad mng modules mp3 mp4 mpeg multilib ncurses nls nptl ogg opengl openmp pam pango pcre pdf phonon plasma png policykit ppds qml qt3support qt4 qt5 readline sdl seccomp semantic-desktop session spell ssl startup-notification svg systemd tcpd tiff truetype udev udisks unicode upower usb vorbis widgets wxwidgets x264 xattr xcb xcomposite xinerama xml xscreensaver xv xvid zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx sse sse2 mmxext" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6" POSTGRES_TARGETS="postgres9_5" PYTHON_SINGLE_TARGET="python3_4" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby22" USERLAND="GNU" VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"

Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

=================================================================

                        Package Settings

=================================================================

sys-kernel/linux-firmware-20170314::gentoo was built with the following:

USE="-savedconfig" ABI_X86="(64)"

```

ls -l /lib/firmware/amdgpu/polaris10*:

```

-rw-r--r-- 1 root root   8832 Nov  7 20:36 /lib/firmware/amdgpu/polaris10_ce.bin

-rw-r--r-- 1 root root 130228 Nov  7 20:36 /lib/firmware/amdgpu/polaris10_k_smc.bin

-rw-r--r-- 1 root root  32708 Nov  7 20:36 /lib/firmware/amdgpu/polaris10_mc.bin

-rw-r--r-- 1 root root  17024 Nov  7 20:36 /lib/firmware/amdgpu/polaris10_me.bin

-rw-r--r-- 1 root root 262784 Nov  7 20:36 /lib/firmware/amdgpu/polaris10_mec2.bin

-rw-r--r-- 1 root root 262784 Nov  7 20:36 /lib/firmware/amdgpu/polaris10_mec.bin

-rw-r--r-- 1 root root  17024 Nov  7 20:36 /lib/firmware/amdgpu/polaris10_pfp.bin

-rw-r--r-- 1 root root  23984 Nov  7 20:36 /lib/firmware/amdgpu/polaris10_rlc.bin

-rw-r--r-- 1 root root  12692 Nov  7 20:36 /lib/firmware/amdgpu/polaris10_sdma1.bin

-rw-r--r-- 1 root root  12692 Nov  7 20:36 /lib/firmware/amdgpu/polaris10_sdma.bin

-rw-r--r-- 1 root root 130196 Nov  7 20:36 /lib/firmware/amdgpu/polaris10_smc.bin

-rw-r--r-- 1 root root 130196 Nov  7 20:36 /lib/firmware/amdgpu/polaris10_smc_sk.bin

-rw-r--r-- 1 root root 369696 Nov  7 20:36 /lib/firmware/amdgpu/polaris10_uvd.bin

-rw-r--r-- 1 root root 166816 Nov  7 20:36 /lib/firmware/amdgpu/polaris10_vce.bin

```

----------

## Marlo

And in 

 *** Frame buffer hardware drivers ***

only this

 < > Cirrus Logic support                                                                                               │ │  

  │ │                                                 < > Permedia2 support                                                                                                  │ │  

  │ │                                                 < > CyberPro 2000/2010/5000 support                                                                                    │ │  

  │ │                                                 < > Arc Monochrome LCD board support                                                                                   │ │  

  │ │                                                 [ ] Asiliant (Chips) 69000 display support                                                                             │ │  

  │ │                                                 [ ] IMS Twin Turbo display support                                                                                     │ │  

  │ │                                                 <M> VGA 16-color graphics support                                                                                      │ │  

  │ │                                                 <M> Userspace VESA VGA graphics support                                                                                │ │  

  │ │                                                 [*] VESA VGA graphics support                                                                                          │ │  

  │ │                                                 [*] EFI-based Framebuffer Support                                                                                      │ │  

  │ │                                                 < > N411 Apollo/Hecuba devkit support                                                                                  │ │  

  │ │                                                 < > Hercules mono graphics support                                                                                     │ │  

  │ │                                                 < > OpenCores VGA/LCD core 2.0 framebuffer support                                                                     │ │  

  │ │                                                 < > Epson S1D13XXX framebuffer support                                                                                 │ │  

  │ │                                                 < > nVidia Framebuffer Support                                                                                         │ │  

  │ │                                                 < > nVidia Riva support                                                                                                │ │  

  │ │                                                 < > Intel740 support                                                                                                   │ │  

  │ │                                                 < > Intel LE80578 (Vermilion) support                                                                                  │ │  

  │ │                                                 < > Matrox acceleration                                                                                                │ │  

  │ │                                                 < > ATI Radeon display support                                                                                         │ │  

  │ │                                                 < > ATI Rage128 display support                                                                                        │ │  

  │ │                                                 < > ATI Mach64 display support                                                                                         │ │  

  │ │                                                 < > S3 Trio/Virge support                                                                                              │ │  

  │ │                                                 < > S3 Savage support                                                                                                  │ │  

  │ │                                                 < > SiS/XGI display support                                                                                            │ │  

  │ │                                                 < > NeoMagic display support                                                                                           │ │  

  │ │                                                 < > IMG Kyro support                                                                                                   │ │  

  │ │                                                 < > 3Dfx Banshee/Voodoo3/Voodoo5 display support                                                                       │ │  

  │ │                                                 < > 3Dfx Voodoo Graphics (sst1) support                                                                                │ │  

  │ │                                                 < > VIA VT8623 support                                                                                                 │ │  

  │ │                                                 < > Trident/CyberXXX/CyberBlade support                                                                                │ │  

  │ │                                                 < > ARK 2000PV support                                                                                                 │ │  

  │ │                                                 < > Permedia3 support                                                                                                  │ │  

  │ │                                                 < > Fujitsu carmine frame buffer support

----------

## Marlo

 *Thanatos2996 wrote:*   

> 
> 
> VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa dummy v4l" 
> 
> 

 

You really have a RX 470?

Then change to only the two driver:

```
VIDEO_CARDS="amdgpu radeonsi"
```

Nothing else.

----------

## Thanatos2996

 *Marlo wrote:*   

> Try to change this.
> 
> from
> 
> ```
> ...

 

I can't seem to find the option for HSA kernel driver for AMD GPU devices. My menuconfig goes straight from Display Interface Bridges to DRM Support for Hililicon Hibmc.

----------

## Marlo

Oh, and no keyboard, no mouse, only

```
INPUT_DEVICES="libinput"
```

----------

## Thanatos2996

 *Marlo wrote:*   

> 
> 
> Then change to only the two driver: 
> 
> ```
> ...

 

I changed both variables (they were the defaults for the kde/systemd profile), still no dice.

----------

## Marlo

 *Thanatos2996 wrote:*   

> 
> 
> I can't seem to find the option for HSA kernel driver for AMD GPU devices. My menuconfig goes straight from Display Interface Bridges to DRM Support for Hililicon Hibmc.

 

Use the "z" key to open the submenus.

In the firmware directory are 14 *.bin files. You only have 13 in use.

----------

## Thanatos2996

 *Marlo wrote:*   

> 
> 
> Use the "z" key to open the submenus.
> 
> 

 

Doing that shows the option, but I am unable to select it. I also cannot find the bool values help says it depends on.

 *Marlo wrote:*   

> 
> 
> In the firmware directory are 14 *.bin files. You only have 13 in use.

 

Those 13 were the ones listed on the wiki, adding the last one didn't help and made x unable to launch in nomodeset.

----------

## Thanatos2996

Found the options I needed to enable HSA, still not working

----------

## Thanatos2996

To make matters a bit more confusing, my computer booted without issue, amdgpu loaded fine. After rebooting without changing a single thing, back to the same state.

----------

## Marlo

 *Thanatos2996 wrote:*   

> ... and made x unable to launch in nomodeset.

 

Why do you use the kernel option "nomodeset". Have you installed a fbsplash or playmouth theme?

It is better to temporarily remove the splash and the option until the driver works.

And please excuse me. I forgot to say that after the change in make.conf ...

 *Marlo wrote: wrote:*   

> 
> 
> Then change to only the two driver: 
> 
> Code:
> ...

 

, an 

```
emerge -NDuva @world
```

 needs to be made.

----------

## NeddySeagoon

Thanatos2996,

Put your dmesg onto a pastebin site - all of it.

Put your kernel .config onte a pastebin site too.

I've just got an RX 460 after using nVidia for many years.

----------

## Thanatos2996

 *Marlo wrote:*   

>  *Thanatos2996 wrote:*   ... and made x unable to launch in nomodeset. 
> 
> Why do you use the kernel option "nomodeset". Have you installed a fbsplash or playmouth theme?
> 
> It is better to temporarily remove the splash and the option until the driver works.
> ...

 

I do not use plymouth or any other splash screen. I have been using nomodeset because the crash occurs upon kernel modesetting. Nomodeset allows me to boot the machine.

 *Marlo wrote:*   

> 
> 
> And please excuse me. I forgot to say that after the change in make.conf ...
> 
>  *Marlo wrote: wrote:*   
> ...

 

I did run that upon changing the variables.

----------

## Thanatos2996

 *NeddySeagoon wrote:*   

> Thanatos2996,
> 
> Put your dmesg onto a pastebin site - all of it.
> 
> Put your kernel .config onte a pastebin site too.
> ...

 

There is no longer a log under /var/log/dmesg for some reason, and I can't run dmesg without the system being in nomodeset. Is there a setting I need to enable for it to log?

Current kernel config: https://pastebin.com/yCGApRk0

----------

## Marlo

Hi,

I saw in your above short .config that uevent helper is set. That needs to be corrected.

                                                 In Generic Driver Options, do not set the "Support for uevent helper".  

```
                                                    [ ] Support for uevent helper                                                                                         │ │  

  │ │                                                 -*- Maintain a devtmpfs filesystem to mount at /dev                                                                    │ │  

  │ │                                                 [*]   Automount devtmpfs at /dev, after the kernel mounted the rootfs                                                  │ │  

  │ │                                                 [*] Select only drivers that don't need compile-time external firmware                                                 │ │  

  │ │                                                 [*] Prevent firmware from being built                                                                                  │ │  

  │ │                                                 -*- Userspace firmware loading support                                                                                 │ │  

  │ │                                                 [*]   Include in-kernel firmware blobs in kernel binary                                                                │ │  

  │ │                                                 (amdgpu/polaris11_ce.bin amdgpu/polaris11_mc.bin amdgpu/polaris11_mec.bin amdgpu/polaris11_pfp.bin amdgpu/polaris11_sdm│ │  

  │ │                                                 (/lib/firmware/) Firmware blobs root directory                                                                         │ │  

  │ │                                                 [ ] Fallback user-helper invocation for firmware loading                                                               │ │  

  │ │                                                 [*] Allow device coredump                                                                                              │ │  

  │ │                                                 [ ] Driver Core verbose debug messages                                                                                 │ │  

  │ │                                                 [ ] Managed device resources verbose debug messages                                                                    │ │  

  │ │                                                 [ ] Test driver remove calls during probe (UNSTABLE)                                                                   │ │  

  │ │                                                 < > Build kernel module to test asynchronous driver probing                                                            │ │  

  │ │                                                 [ ] Enable verbose DMA_FENCE_TRACE messages                                                                            │ │  

  │ │       
```

And be so kind and do what NeddySeagoon wrote.

----------

## Thanatos2996

Thanks for pointing out that config issue.

There is still nothing in /var/log/dmesg, so I have no way to get dmesg for when the crash occurs, but the nomodeset dmesg is: https://pastebin.com/jtBJe5wY

----------

## NeddySeagoon

Thanatos2996,

```
[    0.875184] [drm:amdgpu_init] *ERROR* VGACON disables amdgpu kernel modesetting.
```

That will be a pointer to your kernel.  Please pastebin your entire kernel .config file.

----------

## Thanatos2996

 *NeddySeagoon wrote:*   

> Thanatos2996,
> 
> ```
> [    0.875184] [drm:amdgpu_init] *ERROR* VGACON disables amdgpu kernel modesetting.
> ```
> ...

 

https://pastebin.com/NY5GqGUq This is the entire file /usr/src/linux/.config

----------

## Hu

You keep saying the system crashes when you do not use nomodeset.  Please describe the symptoms that lead you to this conclusion.  Does the kernel panic?  Does it instantly reboot?  What, if anything, is written to the serial console before the system crashes?

----------

## Marlo

I'm not familiar with intel machines. In the logs from the pastebin were still several question marks for me. Especially with the file systems ext3 and ext4.

There are many discussions about the above error on the internet. But still no solution.

So I think KMS needs over x11 and GRUB helping rules.

customize the 10-device.conf.

tux ~ # cat /etc/X11/xorg.conf.d/10-device.conf 

```
Section "Device"

   Identifier  "AMD Radeon RX4xx (Island POLARIS10)" 

   Driver      "amdgpu"

   BusID       "PCI:1:0:0"

   Option      "DRI"         "2"

   Option      "AccelMethod" "glamor"

EndSection
```

Less is more for GRUB.  A short grub config is better than a long one. Grub himself is looking for everything else.

Make sure you do not have nomodeset or vga= as the kernel parameter, because amdgpu requires KMS.

tux ~ # cat /etc/default/grub | grep "^[^#]"

```
GRUB_DISTRIBUTOR=""

GRUB_DEFAULT=saved

GRUB_HIDDEN_TIMEOUT=0

GRUB_HIDDEN_TIMEOUT_QUIET=true

GRUB_TIMEOUT=10

GRUB_SAVEDEFAULT=true

GRUB_DISABLE_LINUX_UUID=true

GRUB_CMDLINE_LINUX_DEFAULT="${GRUB_CMDLINE_LINUX}real_root=/dev/sdaX rootfstype=ext4 init=/usr/lib/systemd/systemd "

GRUB_CMDLINE_LINUX=""

GRUB_TERMINAL="gfxterm"

GRUB_GFXMODE="auto"

GRUB_GFXPAYLOAD_LINUX=keep
```

And of course, create a new grub.cfg.

----------

## Thanatos2996

 *Hu wrote:*   

> You keep saying the system crashes when you do not use nomodeset.  Please describe the symptoms that lead you to this conclusion.  Does the kernel panic?  Does it instantly reboot?  What, if anything, is written to the serial console before the system crashes?

 

On the KMS phase of the boot, the screen goes black. If all goes well, it should change the resolution and continue booting as normal. This does happen rarely, but generally it stays black. There seems to be no response from the keyboard (Pressing Caps/NumLock does not light up the indicators), and the computer never connects to the network. Without keyboard or network I have no way to interact with the machine, though I can try and hook up a monitor to the serial port and see if it dumps anything there.

----------

## NeddySeagoon

Thanatos2996,

I think your system is complaining about  

```
CONFIG_VGA_CONSOLE=y
```

It might be any of 

```
CONFIG_FB_VGA16=m

CONFIG_FB_UVESA=m

CONFIG_FB_VESA=y
```

UVESA is incomplete.  The user space part has been dropped.

I would do these changes in two goes.  Rewove the extra frambuffer drivers that you can't use then test.

Lastly, remove CONFIG_VGA_CONSOLE.  If this fails, nomodeset will get you a blank screen.

Your kernel has support for

```
 [    0.971580] console [netcon0] enabled

[    0.971722] netconsole: network logging started
```

but its probably started after drm.

The network console offers a way to capture at least a part of the boot messages.  

To be sure of getting the interesting part you would need to make CONFIG_DRM_AMDGPU=y a module, and the network console built in so you can be sure the console starts before fhe problem.

A serial console is another possibility to capture dmesg but that needs some obsolete hardware.  

I've used serial console but never the network console.

----------

## azp

I'm running the FOSS AMDGPU driver on my AMD R290 card (works great, and has been doing so for more than a year). I noticed that I got errors related to uvesafb during boot and realized I wasn't even using it, although it was compiled into the kernel, which felt very unnecessary, so now I'm trying to "optimize" my framebuffer/KMS experience and I'm quite confused by the previous post. So just to make it completely clear (since I find the wiki a little bit lacking):

(I'm running the 4.14.12 kernel)

1. Should I have any framebuffer driver enabled in the kernel, or does the amdgpu driver handle the KMS for the console as well? From the Arch wiki, I get the impression that the amdgpu driver handles everything now. (https://wiki.archlinux.org/index.php/kernel_mode_setting)

2. If "Yes, you should have vesafb/vga16 enabled", which one is best?

3. What about the radeonfb? Is it completely deprecated or is it for older (pre-KMS?) cards?

I tried disabling all framebuffer devices and the computer boots properly, but I then don't get any console at all. It goes from Grub -> goes black (screen switches of with "No input") for a couple of seconds -> Goes directly into GDM.

----------

## azp

I found the guide on the Gentoo wiki, which said I should have the legacy fbdev driver enabled to get the proper support in the AMDGPU driver:

```
[*]   Enable legacy fbdev support for your modesetting driver
```

Perhaps it shouldn't be called 'legacy' anymore?

----------

## azp

When running with ONLY the amdgpu driver, combined with "Enable legacy fbdev support for your modesetting driver" I'm not getting modesetting directly from the start, but a couple of seconds in. Is it supposed to be like that? I have compiled my drivers into the kernel, and not as modules.

----------

