Hello,

I've observed a weird/possible bug behavior on 16bpp display.

I'm trying to modify flaxpdf (FLTK based) PDF viewer to work on 16bpp. It uses xrender for bitmap resizing, which works only for 24+bpp color modes. However the X screen on 16bpp machine seems to support some virtual visual with 32 depth.

Problem is when I try to set 32bpp in the fltk by calling:

Fl::visual(FL_RGB8);

the application starts, but all widgets are black and white.

Debugging this I wrote my own simple X window application, which uses 32bpp visual and it behaves in a same way as FLTK. This means a definition of blue pixels with min to max intensity makes an incomplete green gradient on LCD, definition of green min to max makes green striped with red gradients and definition of blue min to max makes constant full white (there is no way to make blue color in depth == 32).

The relevant visual definition from xdpyinfo:
  default visual id:  0x21
  visual:
    visual id:    0x21
    class:    TrueColor
    depth:    16 planes
    available colormap entries:    64 per subfield
    red, green, blue masks:    0xf800, 0x7e0, 0x1f
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x41
    class:    TrueColor
    depth:    32 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits

Maybe I'm making some mistakes in the colormap allocation? But the same code (along with flaxpdf) works without a problem on my Radeon RX460 GPU (non default visual):
  visual:
    visual id:    0x62
    class:    TrueColor
    depth:    32 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits

The 16bpp device is just dumb fbdev, so any 32bpp to 16bpp transformations must be done somewhere in the X server. Do you have some hints where to begin? (i'm using X.Org X Server 1.19.5 from development tree of buildroot)

best regards,
Petr

_______________________________________________
xorg@lists.x.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: https://lists.x.org/mailman/listinfo/xorg
Your subscription address: %(user_address)s

Reply via email to