[Bug 204725] black screen

bugzilla-daemon at bugzilla.kernel.org bugzilla-daemon at bugzilla.kernel.org
Sat Aug 31 19:52:26 UTC 2019


--- Comment #10 from Dmitri Seletski (drjoms at gmail.com) ---
(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
- I get this error when compile kernel:

  CALL    scripts/checksyscalls.sh
  CALL    scripts/atomic/check-atomics.sh
  DESCEND  objtool
  CHK     include/generated/compile.h
ambiguous redirect
/bin/sh: line 0: [: too many arguments
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:
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'

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

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 
# 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"

(none)dimko's Desktop /usr/src/linux # cat  /etc/X11/xorg.conf.d/20opengl.conf 
Section "Files"

ls /usr/local/share/X11/xorg.conf.d/
ls: cannot access '/usr/local/share/X11/xorg.conf.d/': No such file or

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

find / -iname 'nvidia*.*' |grep -v mnt |grep -v /home |grep 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

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.

You are receiving this mail because:
You are watching the assignee of the bug.

More information about the dri-devel mailing list