Re: [PATCH 0/8] drm: fb-helper/ssd130x: Add support for DRM_FORMAT_R1

From: Geert Uytterhoeven
Date: Mon Jul 17 2023 - 05:20:01 EST


Hi Javier,

On Mon, Jul 17, 2023 at 11:13 AM Javier Martinez Canillas
<javierm@xxxxxxxxxx> wrote:
> Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> writes:
> > On Sun, Jul 16, 2023 at 3:30 PM Javier Martinez Canillas
> > <javierm@xxxxxxxxxx> wrote:
> >> Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> writes:
> >> > The native display format of ssd1306 OLED displays is monochrome
> >> > light-on-dark (R1). This patch series adds support for the R1 buffer
> >> > format to both the ssd130x DRM driver and the FB helpers, so monochrome
> >> > applications (including fbdev emulation and the text console) can avoid
> >> > the overhead of back-and-forth conversions between R1 and XR24.
> >>
> >> I've tested your series on a ssd1306 I2C OLED panel and fbcon did work for
> >> me, but had some issues when trying to run your fbtest suite. Because the
> >
> > Thanks, due to the limited userspace environment on my RV32 test system,
> > I didn't run fbtest myself.
> >
>
> You are welcome.
>
> >> test005 gets killed with a SIGSEGV.
> >>
> >> $ ./fbtest -d
> >> fb_init()
> >> fb_open()
> >> fb_get_var()
> >> fb_get_fix()
> >> fb_map()
> >> fb_start = 0, fb_offset = 0, fb_len = 1000
> >
> > [...]
> >
> >> Running test test005
> >> Caught signal 11. Exiting
> >
> > Strange.
> >
> >> Maybe more tests are missing the minimum num_colors requirement? Also, the
> >
> > On monochrome, test005 should make the left half of the screen black,
> > and the right half white. It works on ARAnyM, and there don't seem
> > to be off-by-one errors in the call to fill_rect().
> > Can you please run this under gdb or valgrind?
> >
>
> Sure. I only spent my free time on these panels though so likely will do
> during the week or more likely the weekend. I believe the bug is somewhere
> in the test though and not in your kernel patches.

OK.

> >> penguin in test004 is not displayed correctly. I was expecting that to be
> >> working correctly since you mentioned to be using the Linux logo on boot.
> >
> > Linux has logos for displays using 2, 16, and 256 colors. Note that the
> > default logos are 80x80, which is larger than your display, so no logo
> > is drawn.
> > Fbtest has only the full color logo, so it will look bad on a monochrome
> > display.
>
> I see. Should the test check for minimum num_colors and skip that test then?

The test still works (you did see an ugly black-and-white penguin), doesn't it?

> When you post v2, feel free to add:
>
> Tested-by: Javier Martinez Canillas <javierm@xxxxxxxxxx>

Thanks!

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

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