[Bug 1188954] New: black screen on initial X open on Kaveri Radeon R7, /dev/dri/card0: No such file or directory with radeon.cik_support=0 amdgpu.cik_support=1
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954 Bug ID: 1188954 Summary: black screen on initial X open on Kaveri Radeon R7, /dev/dri/card0: No such file or directory with radeon.cik_support=0 amdgpu.cik_support=1 Classification: openSUSE Product: openSUSE Tumbleweed Version: Current Hardware: Other OS: Other Status: NEW Severity: Normal Priority: P5 - None Component: Kernel Assignee: kernel-bugs@opensuse.org Reporter: mrmazda@earthlink.net QA Contact: qa-bugs@suse.de CC: sndirsch@suse.com Found By: --- Blocker: --- Created attachment 851460 --> http://bugzilla.opensuse.org/attachment.cgi?id=851460&action=edit Xorg.0.log and dmesg Initial summary: black screen on initial X open on Kaveri Radeon R7, /dev/dri/card0: No such file or directory with radeon.cik_support=0 amdgpu.cik_support=1 To reproduce: 1-boot with included on kernel cmdline radeon.cik_support=0 amdgpu.cik_support=1 2-wait for X to fail to start 3-login on a tty 4-systemctl restart xdm Actual behavior: 1-X fails to start, finding no /dev/dri/card0, leaving login prompt on tty1 on display screen 2-X starts normally using amdgpu DDX driver Expected behavior: 1-X starts normally using amdgpu DDX driver Tested with kernels 5.12.13, 5.11.16, 5.7.11 # inxi -SGIay System: Host: asa88 Kernel: 5.12.13-1-default x86_64 bits: 64 compiler: gcc v: 11.1.1 parameters: BOOT_IMAGE=/boot/vmlinuz root=LABEL=tvgp07stw noresume ipv6.disable=1 net.ifnames=0 mitigations=auto consoleblank=0 radeon.cik_support=0 amdgpu.cik_support=1 video=1024x768@60 video=1440x900@60 drm.debug=0x1e log_buf_len=1M Console: tty pts/0 DM: TDM Distro: openSUSE Tumbleweed 20210730 Graphics: Device-1: AMD Kaveri [Radeon R7 Graphics] vendor: ASUSTeK driver: amdgpu v: kernel alternate: radeon bus-ID: 00:01.0 chip-ID: 1002:130f class-ID: 0300 Display: server: X.org 1.20.12 driver: loaded: vesa unloaded: fbdev,modesetting alternate: ati Message: Advanced graphics data unavailable for root. Info:...inxi: 3.3.06 Comments: 1-without radeon.cik_support=0 amdgpu.cik_support=1 on cmdline, X cannot be coaxed into using amdgpu DDX driver via /etc/X11/xorg.conf.d/*conf 2-without radeon.cik_support=0 amdgpu.cik_support=1, greeter startup completes (normally, on first try) using modesetting DIX driver -- You are receiving this mail because: You are the assignee for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954#c1
--- Comment #1 from Felix Miata
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954#c2
Stefan Dirsch
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954#c3
Felix Miata
Not sure why you want to enable Sea Islands (CIK) support in amdgpu kernel driver. I doubt it gets sufficient testing.
10 months ago it (A10-7850K) worked at each boot just fine, as it does now once xdm is restarted. I have another Kaveri that still does work just fine, without need to restart xdm first thing after booting: # cat inxi-tw20210730.txt # pinxi -SCzy System: Kernel: 5.12.13-1-default x86_64 bits: 64 Desktop: Trinity R14.0.10 Distro: openSUSE Tumbleweed 20210730 Machine: Type: Desktop Mobo: ASRock model: FM2A88X Extreme6+ serial: <filter> UEFI: American Megatrends v: P4.20 date: 01/13/2016 CPU: Info: Quad Core model: AMD PRO A8-8650B R7 10 Compute Cores 4C+6G bits: 64 type: MCP cache: L2: 2 MiB Speed: 1396 MHz min/max: 1400/3200 MHz Core speeds (MHz): 1: 1396 2: 1392 3: 1397 4: 1381 # pinxi -Gazy Graphics: Device-1: AMD Kaveri [Radeon R7 Graphics] vendor: ASRock driver: amdgpu v: kernel alternate: radeon bus-ID: 00:01.0 chip-ID: 1002:1313 class-ID: 0300 Display: x11 server: X.Org 1.20.12 driver: loaded: amdgpu unloaded: fbdev,modesetting,vesa alternate: ati display-ID: :0 screens: 1 Screen-1: 0 s-res: 1920x1200 s-dpi: 120 s-size: 406x254mm (16.0x10.0") s-diag: 479mm (18.9") Monitor-1: DisplayPort-0 res: 1920x1200 hz: 60 dpi: 94 size: 519x324mm (20.4x12.8") diag: 612mm (24.1") OpenGL: renderer: AMD KAVERI (DRM 3.40.0 5.12.13-1-default LLVM 12.0.1) v: 4.6 Mesa 21.1.5 direct render: Yes # systemd-analyze Startup finished in 9.750s (firmware) + 23.795s (loader) + 1.952s (kernel) + 2.480s (initrd) + 3.207s (userspace) = 41.185s multi-user.target reached after 3.145s in userspace # dmesg | grep amdgpu [ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz root=LABEL=zd8p07stw noresume ipv6.disable=1 net.ifnames=0 mitigations=auto consoleblank=0 radeon.cik_support=0 amdgpu.cik_support=1 video=1024x768@60 video=1440x900@60 5 [ 0.019636] Kernel command line: BOOT_IMAGE=/boot/vmlinuz root=LABEL=zd8p07stw noresume ipv6.disable=1 net.ifnames=0 mitigations=auto consoleblank=0 radeon.cik_support=0 amdgpu.cik_support=1 video=1024x768@60 video=1440x900@60 5 [ 6.559662] [drm] amdgpu kernel modesetting enabled. [ 6.559836] amdgpu: Topology: Add APU node [0x0:0x0] [ 6.559894] fb0: switching to amdgpudrmfb from EFI VGA [ 6.560540] amdgpu 0000:00:01.0: vgaarb: deactivate vga console [ 6.560775] amdgpu 0000:00:01.0: amdgpu: Trusted Memory Zone (TMZ) feature not supported [ 6.577972] amdgpu 0000:00:01.0: amdgpu: Fetched VBIOS from ROM BAR [ 6.577978] amdgpu: ATOM BIOS: 113-SPEC-102 [ 6.578227] amdgpu 0000:00:01.0: amdgpu: VRAM: 1024M 0x000000F400000000 - 0x000000F43FFFFFFF (1024M used) [ 6.578231] amdgpu 0000:00:01.0: amdgpu: GART: 1024M 0x000000FF00000000 - 0x000000FF3FFFFFFF [ 6.578343] [drm] amdgpu: 1024M of VRAM memory ready [ 6.578347] [drm] amdgpu: 3072M of GTT memory ready. [ 6.586607] [drm] amdgpu: dpm initialized [ 6.861924] amdgpu 0000:00:01.0: amdgpu: SE 1, SH per SE 1, CU per SH 8, active_cu_number 6 [ 7.037007] fbcon: amdgpudrmfb (fb0) is primary device [ 7.490778] amdgpu 0000:00:01.0: [drm] fb0: amdgpudrmfb frame buffer device [ 7.525260] [drm] Initialized amdgpu 3.40.0 20150101 for 0000:00:01.0 on minor 0
I suggest to use radeon kernel module (default). Then possibly with "radeon" DDX, but "modesetting" should be fine as well, then using Mesa driver for acceleration via Glamor. If this fails as well, we can discuss again.
In comment #0 my last sentence would seem to have covered this. Anyway: # inxi -SCMzy System: Kernel: 5.13.4-1-default x86_64 bits: 64 Desktop: Trinity R14.0.10 Distro: openSUSE Tumbleweed 20210730 Machine: Type: Desktop Mobo: ASUSTeK model: A88X-PRO v: Rev X.0x serial: <filter> UEFI: American Megatrends v: 2603 date: 03/10/2016 CPU: Info: Quad Core model: AMD A10-7850K Radeon R7 12 Compute Cores 4C+8G bits: 64 type: MCP cache: L2: 2 MiB Speed: 1689 MHz min/max: 1700/3700 MHz Core speeds (MHz): 1: 1689 2: 1700 3: 1699 4: 1695 # inxi -Gazy Graphics: Device-1: AMD Kaveri [Radeon R7 Graphics] vendor: ASUSTeK driver: radeon v: kernel alternate: amdgpu bus-ID: 00:01.0 chip-ID: 1002:130f class-ID: 0300 Display: x11 server: X.Org 1.20.12 driver: loaded: modesetting unloaded: fbdev,vesa alternate: ati display-ID: :0 screens: 1 Screen-1: 0 s-res: 1920x1200 s-dpi: 120 s-size: 406x254mm (16.0x10.0") s-diag: 479mm (18.9") Monitor-1: DP-1 res: 1920x1200 hz: 60 dpi: 94 size: 519x324mm (20.4x12.8") diag: 612mm (24.1") OpenGL: renderer: AMD KAVERI (DRM 2.50.0 5.13.4-1-default LLVM 12.0.1) v: 4.5 Mesa 21.1.5 direct render: Yes # systemd-analyze Startup finished in 5.901s (firmware) + 22.155s (loader) + 1.645s (kernel) + 2.238s (initrd) + 3.324s (userspace) = 35.265s multi-user.target reached after 3.306s in userspace I checked BIOS and found IOMMU was disabled. After enabling, dmesg got very noisy using drm.debug=0x1e log_buf_len=1M, with the following repeated about 20 times: [ 8.376985] [drm:amdgpu_atombios_encoder_dpms [amdgpu]] encoder dpms 37 to mode 3, devices 00000001, active_devices 00000000 [ 8.387861] [drm:dce_v8_0_program_watermarks [amdgpu]] force priority to high [ 8.388035] [drm:dce_v8_0_program_watermarks [amdgpu]] force priority to high [ 8.388330] [drm:dce_v8_0_program_watermarks [amdgpu]] force priority to high [ 8.388484] [drm:dce_v8_0_program_watermarks [amdgpu]] force priority to high [ 8.388663] [drm:dce_v8_0_program_watermarks [amdgpu]] force priority to high [ 8.388817] [drm:dce_v8_0_program_watermarks [amdgpu]] force priority to high -- You are receiving this mail because: You are the assignee for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954#c4
--- Comment #4 from Felix Miata
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954#c5
--- Comment #5 from Stefan Dirsch
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954#c6
--- Comment #6 from Felix Miata
So things are simply working with default "radeon" kernel driver. No idea what's remaining here.
The amdgpu DDX driver behaved totally as expected on TW until relatively recently. I have no recollection when it stopped behaving normally, but I'm guessing I was hoping when it first occurred it was temporary or fluke and would disappear on its own. I cannot reproduce on the same PC using Debian 10 or 11, Fedora 34 or Leap 15.3. They all work perfectly fine at the outset with amdgpu kernel driver, radeon.cik_support=0 amdgpu.cik_support=1 and the amdgpu DDX. TW works fine too, except on initial X start at boot. There is one other openSUSE quirk, and that is that 15.3 will not load the amdgpu DDX unless explicitly directed in /etc/X11/xorg.conf.d/ via Driver "amdgpu". All others need no help from /etc/X11/xorg.con*. There is a Fedora quirk too, which I doubt is connected, because it also happens with kernel-radeon/X-modesetting. When X starts SDDM, X immediately crashes and restarts, with this Xorg.0.log.old tail: [ 12.301] (II) UnloadModule: "libinput" [ 12.303] (WW) xf86OpenConsole: VT_ACTIVATE failed: Input/output error [ 12.303] (EE) Fatal server error: [ 12.303] (EE) xf86OpenConsole: Switching VT failed ... [ 12.303] (WW) xf86CloseConsole: KDSETMODE failed: Input/output error [ 12.303] (WW) xf86CloseConsole: VT_GETMODE failed: Input/output error [ 12.303] (WW) xf86CloseConsole: VT_ACTIVATE failed: Input/output error [ 12.303] (EE) Server terminated with error (1). Closing log file. Maybe it just needs more time to go away magically, or show up somewhere else. :P I have lots of freespace on the SSD, so when I get the urge or need to do a fresh install of TW I'll see if it reproduces. -- You are receiving this mail because: You are the assignee for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954#c7
--- Comment #7 from Stefan Dirsch
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954#c8
--- Comment #8 from Felix Miata
Ok. If it fails only during initial X startup, this looks like a timing issue, i.e. kernel module is not being initialized in time before X gets started. Maybe amdgpu kernel module is missing from initrd, but radeon is (since it's the default driver), i.e. adding amdgpu to initrd may help (if it's really missing).
asa88:/boot # head -n2 /etc/os-release NAME="openSUSE Tumbleweed" # VERSION="20210730" asa88:/boot # lsinitrd initrd-5.13.4-1-default | grep AMD -rw-r--r-- 1 root root 7876 Aug 1 02:08 kernel/x86/microcode/AuthenticAMD.bin asa88:/boot # lsinitrd initrd-5.13.4-1-default | grep -i radeon asa88:/boot # lsinitrd initrd-5.13.4-1-default | grep -i amdgpu asa88:/boot # lsinitrd initrd-5.12.13-1-default | grep -i amdgpu asa88:/boot # lsinitrd initrd-5.11.16-1-default | grep -i amdgpu asa88:/boot # lsinitrd initrd-5.10.16-1-default | grep -i amdgpu asa88:/boot # lsinitrd initrd-5.9.14-1-default | grep -i amdgpu asa88:/boot # lsinitrd initrd-5.8.15-1-default | grep -i amdgpu asa88:/boot # lsinitrd initrd-5.7.11-1-default | grep -i amdgpu asa88:/boot # On Intel Haswell lsinitrd /boot/initrd | grep i915 returns null too.
I still don't understand why you want to use "amdgpu" drvier with your hardware though.
I started to when I learned it was possible. Until this, I had only seen one reason not to (unique set of connector names is a nuisance). I have to wonder how much testing following refactoring the radeon gets by developers, given how old the hardware is that isn't supported by the modesetting DIX. -- You are receiving this mail because: You are the assignee for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954#c9
--- Comment #9 from Stefan Dirsch
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954#c10
--- Comment #10 from Felix Miata
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954#c12
--- Comment #12 from Felix Miata
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954#c13
Felix Miata
Ok. If it fails only during initial X startup, this looks like a timing issue, i.e. kernel module is not being initialized in time before X gets started.
As previously noted, this has turned out *not* to be limited to AMD. After reproducing this on a second Kaby Lake (gb250) I did some experimenting. This is typical content of my grub.cfg linu lines where this reproduces: mitigations=auto consoleblank=0 video=1440x900@60 5 Changing it on gb250 to: mitigations=auto video=1440x900@60 5 *sometimes* avoids "(EE) open /dev/dri/card0: No such file or directory", resulting in expected startup. Other times, the screen is black as noted in comment 0, while other times, focus returns to the login prompt on tty1. I switched back to the comment #12 Kaby Lake (host ab250), tried the same things, and cannot get X to start on first try no matter what. There's also this: # systemd-analyze Startup finished in 17.795s (firmware) + 5.243s (loader) + 1.458s (kernel) + 1.406s (initrd) + 2.985s (userspace) = 28.889s graphical.target reached after 2.961s in userspace It seems consoleblank=0 on kernel command line *can* somehow affect timing of the KMS kernel module loading, whether it be i915, amdgpu or radeon, but the real or main problem must be that each KMS module simply is not getting loaded soon enough. Is there anything that can advance KMS module loading? -- You are receiving this mail because: You are the assignee for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954#c14
Felix Miata
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954#c15
--- Comment #15 from Felix Miata
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954#c16
Dean Martin
Using systemd-networkd instead of wicked or networkmanager makes the (~6s) difference between KMS module finishing loading soon enough or not.
This is from an xdm startup failing using systemd-networkd: # journalctl -b -o short-monotonic -u display-manager.service -u systemd-modules-load.service -g St -- Journal begins at Sat 2021-01-16 18:26:29 EST, ends at Sat 2021-08-14 16:50:47 EDT. -- [ 3.849113] asa88 systemd[1]: Stopped Load Kernel Modules. [ 6.231843] asa88 systemd[1]: Starting X Display Manager... [ 7.383982] asa88 display-manager[651]: Starting service tdm [ 7.384359] asa88 systemd[1]: Started X Display Manager.
This is from an xdm startup succeeding using wicked: # journalctl -b -o short-monotonic -u display-manager.service -u systemd-modules-load.service -g St -- Journal begins at Fri 2021-08-13 23:33:06 EDT, ends at Sat 2021-08-14 17:38:24 EDT. -- [ 3.731005] localhost systemd[1]: Stopped Load Kernel Modules. [ 13.312481] asa88 systemd[1]: Starting X Display Manager... [ 13.411758] asa88 display-manager[1013]: Starting service xdm [ 13.412175] asa88 systemd[1]: Started X Display Manager.
All my systems are configured with static IP, without IPV6 enabled, and without resolvconf of any kind enabled.
It looks like the summary should be:
display-manager.service starts too soon when using systemd-networkd or using systemd-networkd instead of wicked or networkmanager results in systemd-modules-load.service functionally finishing after display-manager.service starts
That is what using early KMS (module added to initrd) may help with, as Stefan Dirsch already mentioned back in comment #7. -- You are receiving this mail because: You are the assignee for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954#c17
--- Comment #17 from Felix Miata
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954#c18
--- Comment #18 from Dean Martin
I don't want to force early via including graphics modules in initrd.
One of the Shaman Penguins on the forum thread provided a workaround I can use until the real offender can be isolated and possibly dealt with:
# systemctl cat display-manager.service ... # /etc/systemd/system/display-manager.service.d/override.conf [Unit] After= systemd-udev-settle.service Requires=systemd-udev-settle.service
Your choice of display-manager is TDM. Have you tested other display-managers for this behaviour? -- You are receiving this mail because: You are the assignee for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954#c19
--- Comment #19 from Felix Miata
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954#c20
Felix Miata
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954#c21
--- Comment #21 from Felix Miata
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954#c22
--- Comment #22 from Felix Miata
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954#c23
Felix Miata
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954#c24
Felix Miata
Ok. If it fails only during initial X startup, this looks like a timing issue, i.e. kernel module is not being initialized in time before X gets started. Maybe amdgpu kernel module is missing from initrd, but radeon is (since it's the default driver), i.e. adding amdgpu to initrd may help (if it's really missing).
On 15.4 post-kernel-default-5.14.21-150400.22.1, the Kaveri [Radeon R7 Graphics] chip-ID: 1002:130f PC is stubbornly refusing to load a kernel graphics module before X tries its first start on each boot. XDM won't auto restart, so I get either solid black screen, or a tty1 login prompt, depending on what linu line parameters are used, and/or which display drivers are configured, and/or whether I have validly reconfigured dracut for graphics module loading, and/or I've blacklisting of radeon in /etc/modulesload.d/. # systemd-analyze critical-chain ... graphical.target @4.227s ������multi-user.target @4.226s ������kbdsettings.service @2.171s +2.055s ������basic.target @2.154s ������sockets.target @2.154s ������telnet.socket @2.154s ������sysinit.target @2.148s ������systemd-backlight@backlight:acpi_video0.service @3.476s +7ms ������system-systemd\x2dbacklight.slice @3.271s ������system.slice ������-.slice Questions: 1-How do I guarantee earliest possible loading of whatever kernel graphics module is needed or wanted, whether radeon or amdgpu? Is force_drivers+=" amdgpu " in a file of any name in /etc/dracut.conf.d/ sufficient to ensure loading amdgpu comes first? Solely? Is omit_drivers+=" radeon " needed as well? 2-Does initrd by default include whatever blacklisting is contained in /etc/modprobe.d/? Is "blacklist radeon" in any file in this directory sufficient? Do filenames here need to end in .conf to be utilized? 3-Could a delay of first X start on custom want or after existence of /dev/dri/card0: in /usr/lib/systemd/system/display-manager.service work? Shouldn't that already be happening? Googling early graphics loading has been getting me nothing but *NVidia* and/or Youtubes. :( 15.3 & TW are behaving perfectly using only amdgpu, without any heroics, on same PC. -- You are receiving this mail because: You are the assignee for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954#c25
Stefan Dirsch
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954#c27
Felix Miata
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954
http://bugzilla.opensuse.org/show_bug.cgi?id=1188954#c28
--- Comment #28 from Felix Miata
http://bugzilla.suse.com/show_bug.cgi?id=1188954
http://bugzilla.suse.com/show_bug.cgi?id=1188954#c29
--- Comment #29 from Felix Miata
participants (1)
-
bugzilla_noreply@suse.com