Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> writes: Hello Geert, > Hi all, > > 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 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 fb_save() fb_clear() Using drawops planar (monochrome and (interleaved) bitplanes) Available visuals: Monochrome Grayscale 2 Using visops monochrome Running all tests Running test test001 test001: PASSED Running test test002 test002: PASSED Running test test003 Requirement num_colors >= 16 not met Running test test004 test004: PASSED Running test test005 Caught signal 11. Exiting fb_cleanup() fb_restore() fb_unmap() fb_set_var() fb_get_var() fb_get_fix() fb_close() Maybe more tests are missing the minimum num_colors requirement? Also, the 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. Another question, do you know if is possible to change the default format? I believe that fbset won't work because the DRM fbdev emulation layer does not implement mode settings but I thought that changing the mode using the atomic KMS API would work. $ modetest -M ssd130x -P 31@33:128x64@XR24 -a $ echo $? 0 but after that I still get: $ fbset -i mode "128x64" geometry 128 64 128 64 1 timings 0 0 0 0 0 0 0 rgba 1/0,1/0,1/0,0/0 endmode Frame buffer device information: Name : ssd130xdrmfb Address : (nil) Size : 4096 Type : PACKED PIXELS Visual : MONO10 XPanStep : 1 YPanStep : 1 YWrapStep : 0 LineLength : 16 Accelerator : No Maybe I'm doing something wrong or misunderstading about how should work? -- Best regards, Javier Martinez Canillas Core Platforms Red Hat