Bug 204725
Summary: | black screen | ||
---|---|---|---|
Product: | Drivers | Reporter: | Dmitri Seletski (drjoms) |
Component: | Video(DRI - non Intel) | Assignee: | drivers_video-dri |
Status: | NEW --- | ||
Severity: | high | CC: | alexdeucher, Dieter, john.bridgman, mike, untaintableangel |
Priority: | P1 | ||
Hardware: | x86-64 | ||
OS: | Linux | ||
URL: | https://youtu.be/_6CRYa4MzuU | ||
Kernel Version: | linux-5.3-rc6, linux-5.3-rc6 latest, | Subsystem: | |
Regression: | No | Bisected commit-id: | |
Attachments: |
black screen kernel 5.30
.config file lspci -vv lsmod v2 dmesg output with modules loaded. kill xorg and ps output xorg log weston putput after amdgpu config was created in xorg.d folder after xorg.conf.d/amdgpu file was created. xorg log 2 dmesg 000 lspci -v version 000 .config file dmesg 001 |
Created attachment 284673 [details]
.config file
i can connect to machine over ssh, it's how i know machine is responsive. attempts to startx xorg fail with changing black screen to black screen. after which keyboard becomes unresponsive, until i raise skinny elephants.(R/S and i regain controll of keyboard) set up never worked with 2d/3d acceleration, but video card is too new to be tested. Card seems to be in working conditions, as it works in VESA mode. changing kernel version to 5.3 fails VESA failover of Xorg. Created attachment 284675 [details]
lspci -vv
Comment on attachment 284671 [details]
black screen kernel 5.30
its dmesg output
Make sure your config contains: CONFIG_DRM_AMD_DC_DCN2_0=y CONFIG_DRM_AMD_DC_DSC_SUPPORT=y Thank you very much for your response. Both values are set. I also attached .config file to the bugzilla report at the time of reporting problem. (none)dimko's Desktop /usr/src/linux # grep CONFIG_DRM_AMD_DC_DCN2_0 /usr/src/linux/.config CONFIG_DRM_AMD_DC_DCN2_0=y (none)dimko's Desktop /usr/src/linux # grep CONFIG_DRM_AMD_DC_DSC_SUPPORT /usr/src/linux/.config CONFIG_DRM_AMD_DC_DSC_SUPPORT=y Any other ideas please? Kind Regards Dmitri On 29/08/2019 03:36, bugzilla-daemon@bugzilla.kernel.org wrote: > https://bugzilla.kernel.org/show_bug.cgi?id=204725 > > Alex Deucher (alexdeucher@gmail.com) changed: > > What |Removed |Added > ---------------------------------------------------------------------------- > CC| |alexdeucher@gmail.com > > --- Comment #5 from Alex Deucher (alexdeucher@gmail.com) --- > Make sure your config contains: > CONFIG_DRM_AMD_DC_DCN2_0=y > CONFIG_DRM_AMD_DC_DSC_SUPPORT=y > I noticed, that when i do this, I get this: lspci | grep -i VGA 0d:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Device 731f (rev c1) My guess is that my device for some reason is not recognised. How would I go about it? (In reply to Dmitri Seletski from comment #7) > I noticed, that when i do this, I get this: > lspci | grep -i VGA > 0d:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] > Device 731f (rev c1) > > My guess is that my device for some reason is not recognised. > > How would I go about it? scratch that. manipulation with GPU does happen. Just looks like bad string in the output that does not describe actual card. Also, if that makes any difference, I have display port to DVI adapter. for some reason my BENQ screen did not like direct HDMI cable. Cheapest HDMI cable in I could find. With that said, i am writing those words from VESA Xorg, using said displayport to DVI adapter.(looks like passive device) If it's any help, I had a look at your .config and noticed you've got the right navi10 firmware compiled in (however you've repeated amdgpu/navi10_pfp.bin and amdgpu/navi10_rlc.bin entries - much easier to use this entry which includes them all: amdgpu/navi10_{asd,ce,gpu_info,me,mec2,mec,pfp,rlc,sdma1,sdma,smc,sos,vcn}.bin You've got your firmware compiled in, but this is only necessary if you've got amdgpu compiled in (Y). If 'amdgpu' is left as a module (M), it will hunt out your firmware files in /lib/firmware by itself on the fly to start. You've got amdgpu as a module (M) in your .config but it's not being loaded when you check with lsmod, so I'm left wondering if you've got a config file somewhere blacklisting it or telling something else to be used. could you post the output of: ls /etc/X11/xorg.conf.d/ and ls /usr/local/share/X11/xorg.conf.d/ to see if there are any such config files. Your "Xorg.0.log" will also offer clues about what is happening. e.g. If you had an older AMD gpu in the past that was set to use the 'radeon' module, and it was looking for this, realising this module doesn't support your card, then falling back to vesa. As you're comfy compiling your own kernel, I suspect that if you compile amdgpu into your kernel with Y instead of M, it may inadvertently force that to be defacto for the display above other options. (In reply to Ant from comment #9) > If it's any help, I had a look at your .config and noticed you've got the > right navi10 firmware compiled in (however you've repeated > amdgpu/navi10_pfp.bin and amdgpu/navi10_rlc.bin entries - much easier to use > this entry which includes them all: > > amdgpu/navi10_{asd,ce,gpu_info,me,mec2,mec,pfp,rlc,sdma1,sdma,smc,sos,vcn}. > bin > > You've got your firmware compiled in, but this is only necessary if you've > got amdgpu compiled in (Y). If 'amdgpu' is left as a module (M), it will > hunt out your firmware files in /lib/firmware by itself on the fly to start. > > You've got amdgpu as a module (M) in your .config but it's not being loaded > when you check with lsmod, so I'm left wondering if you've got a config file > somewhere blacklisting it or telling something else to be used. > > could you post the output of: > ls /etc/X11/xorg.conf.d/ > > and > > ls /usr/local/share/X11/xorg.conf.d/ > > to see if there are any such config files. Your "Xorg.0.log" will also offer > clues about what is happening. > e.g. If you had an older AMD gpu in the past that was set to use the > 'radeon' module, and it was looking for this, realising this module doesn't > support your card, then falling back to vesa. > > As you're comfy compiling your own kernel, I suspect that if you compile > amdgpu into your kernel with Y instead of M, it may inadvertently force that > to be defacto for the display above other options. Thank you very much for your response, and I mean it. if I include list like you suggest for built in driver'amdgpu/navi10_{asd,ce,gpu_info,me,mec2,mec,pfp,rlc,sdma1,sdma,smc,sos,vcn}.bin' - I get this error when compile kernel: make CALL scripts/checksyscalls.sh CALL scripts/atomic/check-atomics.sh DESCEND objtool CHK include/generated/compile.h /bin/sh: drivers/base/firmware_loader/builtin/amdgpu/navi10_{asd,ce,gpu_info,me,mec2,mec,pfp,rlc,sdma1,sdma,smc,sos,vcn}.bin.gen.S.tmp: ambiguous redirect /bin/sh: line 0: [: too many arguments UPD drivers/base/firmware_loader/builtin/amdgpu/navi10_{asd,ce,gpu_info,me,mec2,mec,pfp,rlc,sdma1,sdma,smc,sos,vcn}.bin.gen.S mv: target 'drivers/base/firmware_loader/builtin/amdgpu/navi10_vcn.bin.gen.S' is not a directory make[4]: *** [drivers/base/firmware_loader/builtin/Makefile:34: drivers/base/firmware_loader/builtin/amdgpu/navi10_{asd,ce,gpu_info,me,mec2,mec,pfp,rlc,sdma1,sdma,smc,sos,vcn}.bin.gen.S] Error 1 make[3]: *** [scripts/Makefile.build:497: drivers/base/firmware_loader/builtin] Error 2 make[2]: *** [scripts/Makefile.build:497: drivers/base/firmware_loader] Error 2 make[1]: *** [scripts/Makefile.build:497: drivers/base] Error 2 make: *** [Makefile:1083: drivers] Error 2 on non related note, I may need to report 'menuconfig' interface to whoever. It does not act as expected. I suspect bug. Thats why I had duplicate entry there in firmware list, since I inserted things manually and 'menuconfig' did not allow me to see left part of input line. I generally prefer modules anyway. so I remmoved everything from: Device Drivers ---> Generic Driver Options ---> Firmware loader ---> -*- Firmware loading facility i did not disable options, just removed module names. After that I did 'make clean' and recompiled everything using same '.config' file. I have saved two new dmesg and lsmod output when starting process using SSH, something like 'startx -- :0' I get no errors, as if Xorg started and process hangs. No error messages. Keyboard locks, caps lock no longer reacts to pressing. Monitor starts more bleeding(whitish artefacts common in 'screen bleeding' tests). I restart putty and connect again. PC is NOT hanging. I try to start Xorg again and get warning of lock file. See V2 dmesg + lsmod attached after this message. To answer your question about xorg folders: (none)dimko's Desktop /usr/src/linux # ls /etc/X11/xorg.conf.d/ 00-keyboard.conf 20opengl.conf (none)dimko's Desktop /usr/src/linux # cat /etc/X11/xorg.conf.d/00-keyboard.conf # Written by systemd-localed(8), read by systemd-localed and Xorg. It's # probably wise not to edit this file manually. Use localectl(1) to # instruct systemd-localed to update it. Section "InputClass" Identifier "system-keyboard" MatchIsKeyboard "on" Option "XkbLayout" "gb,us" Option "XkbVariant" ",rus" EndSection (none)dimko's Desktop /usr/src/linux # cat /etc/X11/xorg.conf.d/20opengl.conf Section "Files" EndSection ls /usr/local/share/X11/xorg.conf.d/ ls: cannot access '/usr/local/share/X11/xorg.conf.d/': No such file or directory I will attach xorg log file as well. Problem is not with xorg. I start my GUI logging as user and 'startxfce' from console. Screen goes black before Xorg even starts. With that said I imagine would be good to see log file if i start machine blindly and get Xorg and Weston output/logs. It's my first radeon card. I never had radeon before in my life. Previously I was Nvidia proprietary owner. Nvidia binary driver was removed. Please mind, I am currently in older kernel, so I have VESA so I can write this message. find / -iname 'nvidia*.*' |grep -v mnt |grep -v /home |grep ko /lib/modules/4.20.1-gentoo/video/nvidia-modeset.ko /lib/modules/4.20.1-gentoo/video/nvidia-drm.ko /lib/modules/4.20.1-gentoo/video/nvidia.ko /lib/modules/4.19.27-gentoo-r1/video/nvidia-modeset.ko /lib/modules/4.19.27-gentoo-r1/video/nvidia-drm.ko /lib/modules/4.19.27-gentoo-r1/video/nvidia.ko /lib/modules/5.0.0-gentoo/video/nvidia-modeset.ko /lib/modules/5.0.0-gentoo/video/nvidia-drm.ko /lib/modules/5.0.0-gentoo/video/nvidia.ko /lib/modules/4.14.83-gentoo/video/nvidia-modeset.ko /lib/modules/4.14.83-gentoo/video/nvidia-drm.ko /lib/modules/4.14.83-gentoo/video/nvidia.ko /lib/modules/5.1.14-gentoo/video/nvidia-modeset.ko /lib/modules/5.1.14-gentoo/video/nvidia-drm.ko /lib/modules/5.1.14-gentoo/video/nvidia.ko (none)dimko's Desktop /usr/src/linux # uname -a Linux (none)dimko's Desktop 5.2.10 #1 SMP PREEMPT Tue Aug 27 22:48:11 IST 2019 x86_64 AMD Ryzen 5 1600 Six-Core Processor AuthenticAMD GNU/Linux as you can see, only older kernels have nvidia modules. Not my current or newer one. Command below is gentoo equialent to check that all compiled with my desired flags and nothing needs to be recompiled. Does not look like there are any nvidia dependency. (none)dimko's Desktop /home/dimko # emerge --ask --changed-use @world Nothing to merge; quitting. fallback to vesa happens only if AMDGPU is not loaded.(or so i suspect, but because I get black screen automatically, as amdgpu is loaded by systemd automatically, before I even login - i have no way to test it) And it's not Xorg that causes black screen, it's specifically amdgpu driver, because as I mentioned before, i start xorg explicetly manually, after I log into console, with command 'startxfce4'. Unfortunatelly your guess is incorrect, as I said before, I prefer modules.(in fact there is small to no reason not to use them). I only compile bare minimum for pc to start, things like: console, hdd interface and keyboard. Created attachment 284727 [details]
lsmod v2
Created attachment 284729 [details]
dmesg output with modules loaded.
dmesg output with modules loaded.
I've got an RX5700 myself, so lets see if we can't get this sorted. Can I just check something - the .config file you attached (comment 1) for the kernel has # Display Engine Configuration # CONFIG_DRM_AMD_DC=y CONFIG_DRM_AMD_DC_DCN1_0=y CONFIG_DRM_AMD_DC_DCN1_01=y # CONFIG_DEBUG_KERNEL_DC is not set # end of Display Engine Configuration whereas mine has # Display Engine Configuration # CONFIG_DRM_AMD_DC=y CONFIG_DRM_AMD_DC_DCN1_0=y CONFIG_DRM_AMD_DC_DCN2_0=y CONFIG_DRM_AMD_DC_DSC_SUPPORT=y # CONFIG_DEBUG_KERNEL_DC is not set # end of Display Engine Configuration I think CONFIG_DRM_AMD_DC_DCN1_01 was an option back in kernel 5.2 and the new option comes in in 5.3(rc). Kernel 5.3 is a necessity for this reason. You've got the latest mesa etc, can I just check you also have the latest mesa drm code too? If there is insistence to use amdgpu as a module, let's try setting a config file to force it to be used. How about you create this file with a text editor (or otherwise like nano/vim etc): /usr/local/share/X11/xorg.conf.d/10-amdgpu.conf and fill it with this (tab an indentation for lines 2 - 4): Section "OutputClass" Identifier "AMDgpu" MatchDriver "amdgpu" Driver "amdgpu" EndSection After restarting, it should find the card and force it to use the amdgpu module? (none)dimko's Desktop /home/dimko # glxinfo | grep "OpenGL version" OpenGL version string: 3.1 Mesa 19.3.0-devel (git-8709b865ce) i also disabled those options before, they made absolutely no difference, especially considering they are for older generation cards: CONFIG_DRM_AMD_DC_DCN1_0=y CONFIG_DRM_AMD_DC_DCN2_0=y i will do as you suggest, meanwhile see xorg putput i will attach and xorg log. weston output as well, i think, though i think imessed with weston before, so it's not 'clean'. again, just a friendly reminder, i get problems BEFORE xorg. Xorg is not running by default on my machine. it's first thing i manually start on my machine when i login into console as my user. Created attachment 284731 [details]
kill xorg and ps output
Created attachment 284733 [details]
xorg log
Created attachment 284735 [details]
weston putput
since my xorg config directory is in different place I created brand new file: /etc/X11/xorg.conf.d/10-amdgpu.conf and put: Section "OutputClass" Identifier "AMDgpu" MatchDriver "amdgpu" Driver "amdgpu" EndSection now in that config directory i have two old files I have already shown you and new one with those 5 lines above: (none)dimko's Desktop /home/dimko # ls /etc/X11/xorg.conf.d/ 00-keyboard.conf 10-amdgpu.conf 10-amdgpu.conf~ 20opengl.conf Created attachment 284737 [details]
after amdgpu config was created in xorg.d folder
Created attachment 284739 [details]
after xorg.conf.d/amdgpu file was created.
after xorg.conf.d/amdgpu file was created.
I start whole Xorg from SSH(since screen is pitch black)
and as previously, keyboard hangs, caps lock no longer reacts.
before i start it, keyboard is actually responsive. i can log in and run commands.(blindly)
2 things I notice are: Xorg complains it can't find LLVM 9 or higher. I notice you said you have llvm trunk (10), could you try installing version 9 to see if that appeases it? "radeonsi: Navi family support requires LLVM 9 or higher" Worryingly, I also notice some oddities about your card's information. [ 50.685] (--) AMDGPU(0): Chipset: "Unknown AMD Radeon GPU" (ChipID = 0x731f) You've not done any bios tweaking on the card have you? I wonder if the fix is to have your card's ID be accepted? What's the output of your /etc/X11/xorg.conf.d/20opengl.conf file look like? For comparison, I have the sapphire pulse 5700 and my output looks like: 0f:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 [1002:731f] (rev c4) (prog-if 00 [VGA controller]) Subsystem: Sapphire Technology Limited Navi 10 [1da2:e408] Flags: bus master, fast devsel, latency 0, IRQ 90 Memory at e0000000 (64-bit, prefetchable) [size=256M] Memory at f0000000 (64-bit, prefetchable) [size=2M] I/O ports at f000 [size=256] Memory at fcc00000 (32-bit, non-prefetchable) [size=512K] Expansion ROM at 000c0000 [disabled] [size=128K] Capabilities: <access denied> Kernel driver in use: amdgpu Kernel modules: amdgpu glxinfo | grep OpenGL OpenGL vendor string: X.Org OpenGL renderer string: AMD NAVI10 (DRM 3.33.0, 5.3.0-rc6-badidle+, LLVM 9.0.0) OpenGL core profile version string: 4.5 (Core Profile) Mesa 19.3.0-devel (git-2023716 2019-08-31 eoan-oibaf-ppa) OpenGL core profile shading language version string: 4.50 OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL core profile extensions: OpenGL version string: 4.5 (Compatibility Profile) Mesa 19.3.0-devel (git-2023716 2019-08-31 eoan-oibaf-ppa) OpenGL shading language version string: 4.50 OpenGL context flags: (none) OpenGL profile mask: compatibility profile OpenGL extensions: OpenGL ES profile version string: OpenGL ES 3.2 Mesa 19.3.0-devel (git-2023716 2019-08-31 eoan-oibaf-ppa) OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20 OpenGL ES profile extensions: (My kernel's called 'badidle' cause there's a bug atm where the rx5700 is pulling ~30W at idle instead of 8W because the memory clocks are being maxed instead of changing dynamically because it is currently causing annoying flicker. The fix is probably upstream in agd5f's amd-staging branch, but I'm sticking to kernel.org) I'm also beginning to consider the idea that you may have inadvertently set something in your .config that's interfering, so again for comparison and to save some grey hair, here is the relevent stuff from my .config apart from what you've seen so far. # CONFIG_DRM_RADEON is not set CONFIG_DRM_AMDGPU=m # CONFIG_DRM_AMDGPU_SI is not set # CONFIG_DRM_AMDGPU_CIK is not set CONFIG_DRM_AMDGPU_USERPTR=y # Graphics support # # CONFIG_AGP is not set # CONFIG_VGA_ARB is not set # CONFIG_VGA_SWITCHEROO is not set CONFIG_DRM=y # CONFIG_DRM_DP_AUX_CHARDEV is not set # CONFIG_DRM_DEBUG_MM is not set # CONFIG_DRM_DEBUG_SELFTEST is not set CONFIG_DRM_KMS_HELPER=m # CONFIG_DRM_FBDEV_EMULATION is not set CONFIG_DRM_LOAD_EDID_FIRMWARE=y # CONFIG_DRM_DP_CEC is not set CONFIG_DRM_TTM=m CONFIG_DRM_SCHED=m Critically, I have CONFIG_FB set to N (nothing for framebuffer devices and all adjacent options off so I don't put in any support for it.) I'm not sure why I stopped, but it works well without it and I assumed it was legacy stuff. As a last resort, you could try mimicing my file lol As justification for my lack of framebuffer support in the kernel, allow me to direct you to this from the gentoo wiki: The framebuffer's original function is as a video RAM cache to allow more flexibility to (older) video cards. Many newer cards come with framebuffers on board, which are often already compatible with many operating systems. Enabling framebuffer support in the Linux kernel will often cause graphical artifacts or black screen displays. For most newer cards, this option should not be selected when using the LiveDVD. Also, from the phoronix forum post, I can confirm your firmware file checksums all match mine which are the versions dated from the 28th. 26th* rather. Hang in there, I'm sure this'll be sorted soon. Is it a reference rx 5700 btw? The xorg.log attachment looks wrong - cuts off before the X driver has gotten very far through initialization. Is it possible that your amdgpu X driver is not sufficiently new to include Navi support ? Maybe try the modesetting driver as an alternative ? Hmm, doesn't look like there are any amdgpu X driver changes specific to Navi. Still, the xorg.log seems wrong. (In reply to Ant from comment #22) > 2 things I notice are: > > Xorg complains it can't find LLVM 9 or higher. I notice you said you have > llvm trunk (10), could you try installing version 9 to see if that appeases > it? > > "radeonsi: Navi family support requires LLVM 9 or higher" > > > Worryingly, I also notice some oddities about your card's information. > > [ 50.685] (--) AMDGPU(0): Chipset: "Unknown AMD Radeon GPU" (ChipID = > 0x731f) > > > You've not done any bios tweaking on the card have you? I wonder if the fix > is to have your card's ID be accepted? > > > What's the output of your > /etc/X11/xorg.conf.d/20opengl.conf > > file look like? > > > For comparison, I have the sapphire pulse 5700 and my output looks like: > > 0f:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. > [AMD/ATI] Navi 10 [1002:731f] (rev c4) (prog-if 00 [VGA controller]) > Subsystem: Sapphire Technology Limited Navi 10 [1da2:e408] > Flags: bus master, fast devsel, latency 0, IRQ 90 > Memory at e0000000 (64-bit, prefetchable) [size=256M] > Memory at f0000000 (64-bit, prefetchable) [size=2M] > I/O ports at f000 [size=256] > Memory at fcc00000 (32-bit, non-prefetchable) [size=512K] > Expansion ROM at 000c0000 [disabled] [size=128K] > Capabilities: <access denied> > Kernel driver in use: amdgpu > Kernel modules: amdgpu > > > glxinfo | grep OpenGL > OpenGL vendor string: X.Org > OpenGL renderer string: AMD NAVI10 (DRM 3.33.0, 5.3.0-rc6-badidle+, LLVM > 9.0.0) > OpenGL core profile version string: 4.5 (Core Profile) Mesa 19.3.0-devel > (git-2023716 2019-08-31 eoan-oibaf-ppa) > OpenGL core profile shading language version string: 4.50 > OpenGL core profile context flags: (none) > OpenGL core profile profile mask: core profile > OpenGL core profile extensions: > OpenGL version string: 4.5 (Compatibility Profile) Mesa 19.3.0-devel > (git-2023716 2019-08-31 eoan-oibaf-ppa) > OpenGL shading language version string: 4.50 > OpenGL context flags: (none) > OpenGL profile mask: compatibility profile > OpenGL extensions: > OpenGL ES profile version string: OpenGL ES 3.2 Mesa 19.3.0-devel > (git-2023716 2019-08-31 eoan-oibaf-ppa) > OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20 > OpenGL ES profile extensions: > > > (My kernel's called 'badidle' cause there's a bug atm where the rx5700 is > pulling ~30W at idle instead of 8W because the memory clocks are being maxed > instead of changing dynamically because it is currently causing annoying > flicker. The fix is probably upstream in agd5f's amd-staging branch, but I'm > sticking to kernel.org) > > > > I'm also beginning to consider the idea that you may have inadvertently set > something in your .config that's interfering, so again for comparison and to > save some grey hair, here is the relevent stuff from my .config apart from > what you've seen so far. > > > # CONFIG_DRM_RADEON is not set > CONFIG_DRM_AMDGPU=m > # CONFIG_DRM_AMDGPU_SI is not set > # CONFIG_DRM_AMDGPU_CIK is not set > CONFIG_DRM_AMDGPU_USERPTR=y > > # Graphics support > # > # CONFIG_AGP is not set > # CONFIG_VGA_ARB is not set > # CONFIG_VGA_SWITCHEROO is not set > CONFIG_DRM=y > # CONFIG_DRM_DP_AUX_CHARDEV is not set > # CONFIG_DRM_DEBUG_MM is not set > # CONFIG_DRM_DEBUG_SELFTEST is not set > CONFIG_DRM_KMS_HELPER=m > # CONFIG_DRM_FBDEV_EMULATION is not set > CONFIG_DRM_LOAD_EDID_FIRMWARE=y > # CONFIG_DRM_DP_CEC is not set > CONFIG_DRM_TTM=m > CONFIG_DRM_SCHED=m > > Critically, I have CONFIG_FB set to N (nothing for framebuffer devices and > all adjacent options off so I don't put in any support for it.) I'm not sure > why I stopped, but it works well without it and I assumed it was legacy > stuff. As a last resort, you could try mimicing my file lol 0d:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Device 731f (rev c1) (prog-if 00 [VGA controller]) Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Device 0b36 Flags: bus master, fast devsel, latency 0, IRQ 60 Memory at e0000000 (64-bit, prefetchable) [size=256M] Memory at f0000000 (64-bit, prefetchable) [size=2M] I/O ports at f000 [size=256] Memory at fca00000 (32-bit, non-prefetchable) [size=512K] Expansion ROM at 000c0000 [disabled] [size=128K] Capabilities: [48] Vendor Specific Information: Len=08 <?> Capabilities: [50] Power Management version 3 Capabilities: [64] Express Legacy Endpoint, MSI 00 Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+ Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?> Capabilities: [150] Advanced Error Reporting Capabilities: [200] #15 Capabilities: [240] Power Budgeting <?> Capabilities: [270] #19 Capabilities: [2a0] Access Control Services Capabilities: [2b0] Address Translation Service (ATS) Capabilities: [2c0] Page Request Interface (PRI) Capabilities: [2d0] Process Address Space ID (PASID) Capabilities: [320] Latency Tolerance Reporting Capabilities: [400] #25 Capabilities: [410] #26 Capabilities: [440] #27 Kernel driver in use: amdgpu Kernel modules: amdgpu look at my message at '2019-08-31 21:09:45 UTC' for answer on whats in my config file see Xorg output attached in next message. 'agd5f's amd-staging branch' - i will try to find it. my next step is to compile LLVM 9(though message about version of LLVM seems static, or so I suspect) again, friendly remainder to everyone reading. Problems happens BEFORE xorg, it happens at moment when amdgpu driver is loaded. I have configured all entries to your config. all had to be disabled - disabled. All not disabled is either mirror copy of yours or 'Y'. Created attachment 284743 [details]
xorg log 2
interesting.
those lines:
440.628] (EE) Failed to load module "ati" (module does not exist, 0)
440.629] (EE) Failed to load module "fbdev" (module does not exist, 0)
then amdgpu kicks in.
and nothing happens.
black screen as usual.
keyboard is dead.
btw, I since I disabled legacy FB, I could still see messages of kernel until amdgpu loaded in.
(In reply to Ant from comment #24) > Also, from the phoronix forum post, I can confirm your firmware file > checksums all match mine which are the versions dated from the 28th. thanks! (In reply to Ant from comment #25) > 26th* rather. > > Hang in there, I'm sure this'll be sorted soon. > > Is it a reference rx 5700 btw? as far as I am aware it is. this is the card: https://www.komplett.ie/msi-radeon-rx-5700-xt/20952108/product/9415 Its not overclocked edition or anything.
> You've got the latest mesa etc, can I just check you also have the latest
> mesa drm code too?
latest stable, will download latest available for my distro and report, together with version 9 instead of version 10 llvm.
compile latest DRM. from the looks of it gentoo when i put unstable branch and download latest greatest - downloads source from git, which is super neat. Fetching https://gitlab.freedesktop.org/mesa/drm.git ... compiled/installed. next step llvm. Again, friendly remainder, problem with black screen happens when amdgpu loads. Not when Xorg loads. and while I uninstalled llvm to manually download and install llvm, i realised i had more than one version of it! i perhaps needed to simply switch to version 10 from 7. With that said, i again remind, issue with black screen hits before Xorg and after amdgpu is loaded. i am recompiling version 10. lets see if message changes. we got some progress. Or may be not. Since I suspect original issue is still not solved. Still get black screen when amdgpu is loaded. This time, however, I can start Xorg, with no 3d or 2d acceleration, but not using VESA driver, but using AMDGPU. My guess is, we fixed second problem, I did not know existed. Which is good all the same. Because I had several versions of LLVM, older one was used by default and only newer was showing up as installed by portage(gentoo packaging system). It shows only last installed. Shame on me, I hsould have known better. To my defence, there are very a few packages where you have several versions of same package installed and they usually can be chosed using 'eselect' command. eselect |grep llvm (nothing) this is now me sitting under: uname -a Linux (none)dimko's Desktop 5.3.0-rc6+ #8 SMP PREEMPT Sun Sep 1 07:39:44 IST 2019 x86_64 AMD Ryzen 5 1600 Six-Core Processor AuthenticAMD GNU/Linux glxinfo name of display: :0.0 Error: couldn't find RGB GLX visual or fbconfig glxgears Error: couldn't get an RGB, Double-buffered visual see new dmesg(nothing interesting there) and new Xorg.log files in next message.(a lot of interesting there) Created attachment 284745 [details]
dmesg 000
dmesg from booth, when I can start xorg with no 2d or 3d acceleration.
I think you need CONFIG_FB_SIMPLE & CONFIG_FB_BOOT_VESA_SUPPORT=y configured This is what I have in my .config for a Ryzen card CONFIG_DRM_KMS_FB_HELPER=y CONFIG_FB_CMDLINE=y CONFIG_FB_NOTIFY=y CONFIG_FB_CFB_FILLRECT=y CONFIG_FB_CFB_COPYAREA=y CONFIG_FB_CFB_IMAGEBLIT=y CONFIG_FB_SYS_FILLRECT=y CONFIG_FB_SYS_COPYAREA=y CONFIG_FB_SYS_IMAGEBLIT=y CONFIG_FB_SYS_FOPS=y CONFIG_FB_DEFERRED_IO=y CONFIG_FB_MODE_HELPERS=y CONFIG_FB_EFI=y CONFIG_FB_SIMPLE=y And I'm sure I had the above issue when playing with these options before Created attachment 284747 [details]
lspci -v version 000
lspci -v after i can load xorg with no 2d or 3d acceleration.
(In reply to Mike Lothian from comment #37) > I think you need CONFIG_FB_SIMPLE & CONFIG_FB_BOOT_VESA_SUPPORT=y configured > > This is what I have in my .config for a Ryzen card > > CONFIG_DRM_KMS_FB_HELPER=y > CONFIG_FB_CMDLINE=y > CONFIG_FB_NOTIFY=y > CONFIG_FB_CFB_FILLRECT=y > CONFIG_FB_CFB_COPYAREA=y > CONFIG_FB_CFB_IMAGEBLIT=y > CONFIG_FB_SYS_FILLRECT=y > CONFIG_FB_SYS_COPYAREA=y > CONFIG_FB_SYS_IMAGEBLIT=y > CONFIG_FB_SYS_FOPS=y > CONFIG_FB_DEFERRED_IO=y > CONFIG_FB_MODE_HELPERS=y > CONFIG_FB_EFI=y > CONFIG_FB_SIMPLE=y > > And I'm sure I had the above issue when playing with these options before I will make sure I have your exact settings. Does frame buffer affect acceleration of amdgpu? Not sure what do you mean Ryzen card. I don't have APU. just AMD CPU Ryzen 1600. currently i am trying to get rid of this: /usr/lib64/dri/swrast_dri.so failed (libLLVMAMDGPUCodeGen.so.8: cannot open shared object file: No such file or directory) i am recompiling mesa, because it was compiled with old LLVM I suspect. Once I do that i will try your config. ok... some good news. 3d acceleration works after mesa recompilation. I still have black screen in mesa, but it's lesser of my problems at the moment. I will try reboot and see if it goes away, though I doubt it. I shall see if Mike's config works and report back. (In reply to Dmitri Seletski from comment #40) > ok... some good news. > > 3d acceleration works after mesa recompilation. I still have black screen in > mesa, but it's lesser of my problems at the moment. I will try reboot and > see if it goes away, though I doubt it. I shall see if Mike's config works > and report back. black screen in console*, not in mesa. (In reply to Dmitri Seletski from comment #28) > (In reply to Ant from comment #22) [-] > look at my message at '2019-08-31 21:09:45 UTC' > for answer on whats in my config file > > see Xorg output attached in next message. > > > 'agd5f's amd-staging branch' - i will try to find it. > my next step is to compile LLVM 9(though message about version of LLVM seems > static, or so I suspect) > > > again, friendly remainder to everyone reading. Problems happens BEFORE xorg, > it happens at moment when amdgpu driver is loaded. Hello, I've found regression (black/blank screen ) even on Polaris 20 (RX580) in current 'amd-staging-drm-next' - commit #3913cc8cdcf3 Latest working commit was #c389f1980cbb Bisecting, now. (In reply to Dieter Nützel from comment #42) > (In reply to Dmitri Seletski from comment #28) > > (In reply to Ant from comment #22) > > [-] > > > look at my message at '2019-08-31 21:09:45 UTC' > > for answer on whats in my config file > > > > see Xorg output attached in next message. > > > > > > 'agd5f's amd-staging branch' - i will try to find it. > > my next step is to compile LLVM 9(though message about version of LLVM > seems > > static, or so I suspect) > > > > > > again, friendly remainder to everyone reading. Problems happens BEFORE > xorg, > > it happens at moment when amdgpu driver is loaded. > > Hello, > > I've found regression (black/blank screen ) even on Polaris 20 (RX580) in > current 'amd-staging-drm-next' - commit #3913cc8cdcf3 > > Latest working commit was #c389f1980cbb > > Bisecting, now. OK, they pulled some commits back. Current 'amd-staging-drm-next' is WORKING at least for me (Polaris 20), again. BTW You can find it, here: https://cgit.freedesktop.org/~agd5f/linux/log/?h=amd-staging-drm-next (In reply to Dmitri Seletski from comment #39) > /usr/lib64/dri/swrast_dri.so failed (libLLVMAMDGPUCodeGen.so.8: cannot open > shared object file: No such file or directory) BTW, LLVM only builds shared libraries like libLLVMAMDGPUCodeGen if BUILD_SHARED_LIBS is enabled in its build configuration, which is bad for performance and other reasons. Make sure you don't have any customization which enables this, and if Gentoo enables it by default, please ask them not to. LLVM_BUILD_LLVM_DYLIB should be enabled instead. (In reply to Michel Dänzer from comment #44) > (In reply to Dmitri Seletski from comment #39) > > /usr/lib64/dri/swrast_dri.so failed (libLLVMAMDGPUCodeGen.so.8: cannot open > > shared object file: No such file or directory) > > BTW, LLVM only builds shared libraries like libLLVMAMDGPUCodeGen if > BUILD_SHARED_LIBS is enabled in its build configuration, which is bad for > performance and other reasons. Make sure you don't have any customization > which enables this, and if Gentoo enables it by default, please ask them not > to. LLVM_BUILD_LLVM_DYLIB should be enabled instead. I have send email to llvm mainteiners of Gentoo. I am just a user, in case what. (In reply to Mike Lothian from comment #37) > I think you need CONFIG_FB_SIMPLE & CONFIG_FB_BOOT_VESA_SUPPORT=y configured > > This is what I have in my .config for a Ryzen card > > CONFIG_DRM_KMS_FB_HELPER=y > CONFIG_FB_CMDLINE=y > CONFIG_FB_NOTIFY=y > CONFIG_FB_CFB_FILLRECT=y > CONFIG_FB_CFB_COPYAREA=y > CONFIG_FB_CFB_IMAGEBLIT=y > CONFIG_FB_SYS_FILLRECT=y > CONFIG_FB_SYS_COPYAREA=y > CONFIG_FB_SYS_IMAGEBLIT=y > CONFIG_FB_SYS_FOPS=y > CONFIG_FB_DEFERRED_IO=y > CONFIG_FB_MODE_HELPERS=y > CONFIG_FB_EFI=y > CONFIG_FB_SIMPLE=y > > And I'm sure I had the above issue when playing with these options before I am a little confused. CONFIG_DRM_KMS_FB_HELPER I have this in my 'make menuconfig' │ Symbol: DRM_KMS_FB_HELPER [=n] │ │ Type : bool │ │ Defined at drivers/gpu/drm/Kconfig:75 │ │ Depends on: HAS_IOMEM [=y] && DRM_KMS_HELPER [=m] I checked every option under 'drivers/gpu/drm/' I don't see one option with description of 'CONFIG_DRM_KMS_FB_HELPER'. Is this normal? I only have, under "Device Drivers > Graphics support > Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)": --- Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) │ │ │ │ [ ] DRM DP AUX Interface │ │ │ │ [ ] Insert extra checks and debug info into the DRM range managers │ │ │ │ < > kselftests for DRM │ │ │ │ [ ] Enable legacy fbdev support for your modesetting driver │ │ │ │ [*] Allow to specify an EDID data set instead of probing for it. I supposed I can just add CONFIG_DRM_KMS_FB_HELPER=y line to .config and compile it this way, but why is it disabled and not in config file by default? Is it even significant? It's selected automatically if you set DRM_FBDEV_EMULATION - which is "Enable legacy fbdev support for your modesetting driver" and unset above That should get your console working (In reply to Mike Lothian from comment #47) > It's selected automatically if you set DRM_FBDEV_EMULATION - which is > "Enable legacy fbdev support for your modesetting driver" and unset above > > That should get your console working Mike, just to clarify, console is working until AMDGPU driver is loaded. Did you try it? (In reply to Mike Lothian from comment #49) > Did you try it? https://youtu.be/_6CRYa4MzuU Have a look at video please. Console works for sure. Ill add .config that I have now. Created attachment 284811 [details]
.config file
Created attachment 284845 [details]
dmesg 001
as per request, dmesg output
made minor error. compiled 5.4r1 compiled in 'DCN 2.1 family'. I don't hardware for it. With it and DCN 2.0 i get console. I get to see Xorg. though not sure if it's vesa or not, because resolution is very wrong for my screen. Found another bug in 5.4-rc1 I disabled DCN 2.1 family 3d Games work with 5.4-rc1 but crush if full screen. Sometimes it will work, but when quit - it hangs Xorg. Processes seem to run, as music still playing. If someone still looking here i can give more details. (In reply to Dmitri Seletski from comment #48) > (In reply to Mike Lothian from comment #47) > > It's selected automatically if you set DRM_FBDEV_EMULATION - which is > > "Enable legacy fbdev support for your modesetting driver" and unset above > > > > That should get your console working > > Mike, just to clarify, console is working until AMDGPU driver is loaded. The console is running on efifb or vga mode until the driver loads. If you don't have DRM_FBDEV_EMULATION enabled, there is nothing for the console to bind to once the driver loads. (In reply to Alex Deucher from comment #54) > (In reply to Dmitri Seletski from comment #48) > > (In reply to Mike Lothian from comment #47) > > > It's selected automatically if you set DRM_FBDEV_EMULATION - which is > > > "Enable legacy fbdev support for your modesetting driver" and unset above > > > > > > That should get your console working > > > > Mike, just to clarify, console is working until AMDGPU driver is loaded. > > The console is running on efifb or vga mode until the driver loads. If you > don't have DRM_FBDEV_EMULATION enabled, there is nothing for the console to > bind to once the driver loads. Hello Alex. Does not appear to be the case: grep -R DRM_FBDEV_EMULATION ./*/.config ./git_clone/.config:CONFIG_DRM_FBDEV_EMULATION=y ./linux-4.14.83-gentoo/.config:CONFIG_DRM_FBDEV_EMULATION=y ./linux-5.1.14-gentoo/.config:CONFIG_DRM_FBDEV_EMULATION=y ./linux-5.2.10/.config:CONFIG_DRM_FBDEV_EMULATION=y ./linux-5.3.6.custom/.config:CONFIG_DRM_FBDEV_EMULATION=y ./linux-5.3-rc6/.config:CONFIG_DRM_FBDEV_EMULATION=y ./linux-5.3-rc8/.config:CONFIG_DRM_FBDEV_EMULATION=y ./linux-5.4-rc1/.config:CONFIG_DRM_FBDEV_EMULATION=y ./linux/.config:CONFIG_DRM_FBDEV_EMULATION=y ./linux-next-next-20190920/.config:CONFIG_DRM_FBDEV_EMULATION=y Any other ideas? Would be appreciated! Regards Dmitri earliest kernel I could find(i am kinda new to git bisections) be8454afc50f43016ca8b git rev-parse --verify HEAD be8454afc50f43016ca8b6130d9673bdd0bd56ec I did not find bisection myself, i just looked out on first patch/release of AMDGPU with support of Navi. and issue was already there. So problem was there since start basically. also, weston seems to work and support xwayland. And somehow issue is to some degree resolved. Enabled Fremabuffer device in graphical drivers.(not sure why i disabled it in the first place, i used to be Nvidia user and did not experience issues like this before, or simply i tried everything else before...) And now once driver loads, it changes screen resolution to ultra widescreen and i can see console if i hit ctrl + alt + f2/etc. |
Created attachment 284671 [details] black screen kernel 5.30 Hello, Hardware: Linux (none)dimko's Desktop 5.2.10 #1 SMP PREEMPT Tue Aug 27 22:48:11 IST 2019 x86_64 AMD Ryzen 5 1600 Six-Core Processor AuthenticAMD GNU/Linux 32 gigs of ram, nvme sdd. OS: Gentoo AMD 64 bit Soft: sys-devel/llvm Latest version available: 10.0.0.9999 media-libs/mesa Latest version available: 9999 * x11-base/xorg-server Latest version available: 1.20.5 x11-drivers/xf86-input-evdev-2.10.6 x11-drivers/xf86-input-libinput-0.28.2 x11-drivers/xf86-video-amdgpu-19.0.1 x11-drivers/xf86-video-vesa-2.4.0 all drivers are compiled/installed after mesa/xorg installation, so no linkage problem can occur. problem: Under linux-5.3-rc6 I get completely black screen. output of 'startx -- :0' is not indicative of problem. As far as I am concerned, silent failure with complete failure of output system, hence high priority. See dmesg please for more info. md5sum /lib/firmware/amdgpu/navi10_* d80e7585b046f9da0edfdf5c4840030c /lib/firmware/amdgpu/navi10_asd.bin 3f52075a7db731365236d3050aa23d9e /lib/firmware/amdgpu/navi10_ce.bin d99c5124e5560153768a71cec8a4726e /lib/firmware/amdgpu/navi10_gpu_info.bin 98ddcd564bddf7ed6045afff4abf6704 /lib/firmware/amdgpu/navi10_me.bin c9cd7f8cdd97c18f3068887f1877e2a6 /lib/firmware/amdgpu/navi10_mec2.bin c9cd7f8cdd97c18f3068887f1877e2a6 /lib/firmware/amdgpu/navi10_mec.bin 2dd1563ba76158c98d9409eb94daab2e /lib/firmware/amdgpu/navi10_pfp.bin 39a53ba9e86b52fa6be045932bb0b12f /lib/firmware/amdgpu/navi10_rlc.bin a4b33f7ad896e7b876dcb224f02faf4c /lib/firmware/amdgpu/navi10_sdma1.bin a4b33f7ad896e7b876dcb224f02faf4c /lib/firmware/amdgpu/navi10_sdma.bin 26f69a4d53d4511c4587ce3713a70d99 /lib/firmware/amdgpu/navi10_smc.bin 0273f9cd89f85d58942e1a57be143077 /lib/firmware/amdgpu/navi10_sos.bin b0f5b346a394d9ec4027ef01ba3853c7 /lib/firmware/amdgpu/navi10_vcn.bin firmware is loaded into kernel at time of compilation. usual compilation set done: make -j12 make modules (this one seems redundant) make modules_install make install grub-mkconfig -o /boot/grub/grub.cfg after that /usr/src/linux is checked for link to current version of kernel. additional notes. machine IS responsive after start, just not the screen. Brand new video card. works in kernel 5.2.10 in VESA mode power cable checked motherboard bios updated literally today till latest version as far as I know no proprietary drivers loaded. Module Size Used by bridge 147456 0 stp 16384 1 bridge llc 16384 2 bridge,stp tun 53248 4 uvcvideo 106496 0 videobuf2_vmalloc 16384 1 uvcvideo kvm_amd 90112 4 videobuf2_memops 16384 1 videobuf2_vmalloc videobuf2_v4l2 24576 1 uvcvideo joydev 24576 0 mousedev 24576 0 kvm 651264 1 kvm_amd videodev 184320 2 videobuf2_v4l2,uvcvideo snd_virtuoso 49152 2 irqbypass 16384 5 kvm snd_usb_audio 208896 0 videobuf2_common 49152 2 videobuf2_v4l2,uvcvideo snd_oxygen_lib 49152 1 snd_virtuoso snd_hwdep 16384 1 snd_usb_audio snd_usbmidi_lib 28672 1 snd_usb_audio snd_mpu401_uart 16384 1 snd_oxygen_lib snd_rawmidi 32768 2 snd_usbmidi_lib,snd_mpu401_uart i2c_piix4 24576 0 sr_mod 28672 0 cdrom 36864 1 sr_mod acpi_cpufreq 20480 0 k10temp 16384 0 Possibly some proprietary firmware is loaded in. At least firmware from above, for AMDGPU itself.