[PATCH v9 0/6] drm/log: Introduce a new boot logger to draw the kmsg on the screen

Geert Uytterhoeven geert at linux-m68k.org
Tue Dec 17 14:54:31 UTC 2024


Hi Jocelyn.

On Tue, Dec 17, 2024 at 3:46 PM Jocelyn Falempe <jfalempe at redhat.com> wrote:
> On 17/12/2024 15:19, Geert Uytterhoeven wrote:
> > On Wed, Dec 4, 2024 at 6:41 PM Jocelyn Falempe <jfalempe at redhat.com> wrote:
> >> drm_log is a simple logger that uses the drm_client API to print the kmsg boot log on the screen.
> >> This is not a full replacement to fbcon, as it will only print the kmsg.
> >> It will never handle user input, or a terminal because this is better done in userspace.
> >>
> >> If you're curious on how it looks like, I've put a small demo here:
> >> https://people.redhat.com/jfalempe/drm_log/drm_log_draft_boot_v2.mp4
> >>
> >> Design decisions:
> >>    * It uses the drm_client API, so it should work on all drm drivers from the start.
> >>    * It doesn't scroll the message, that way it doesn't need to redraw the whole screen for each new message.
> >>      It also means it doesn't have to keep drawn messages in memory, to redraw them when scrolling.
> >>    * It uses the new non-blocking console API, so it should work well with PREEMPT_RT
> >
> > I gave this a try on Koelsch (R-Car M2-W), using rcar-du.
> > Unfortunately I don't see any kernel messages, and my monitor complains
> > about no signal. Does this require special support from the driver?
>
> It doesn't require a special support from the driver. But as it is the
> first drm client other than fbdev emulation, I'm not surprised it's
> broken on some driver.
> I know it works on virtio-gpu, nouveau, amdgpu, and even on a OnePlus 6
> (Qualcomm SDM845/freedreno), without requiring driver changes.
>
> Do you have a serial console on this device, to check if there is
> something in kmsg?

Nothing interesting to see. Compared to the fbdev client:

     rcar-du feb00000.display: [drm] Registered 2 planes with drm panic
     [drm] Initialized rcar-du 1.0.0 for feb00000.display on minor 0
     rcar-du feb00000.display: [drm] Device feb00000.display probed
    -Console: switching to colour frame buffer device 240x67
    -rcar-du feb00000.display: [drm] fb0: rcar-dudrmfb frame buffer device

I did verify (by adding my own debug prints) that the code does
get to the success case in drm_log_register().
Thanks!

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds


More information about the dri-devel mailing list