Results 1 to 8 of 8

Thread: blit_setup(): Screen depth 15 not supported!

  1. #1
    Join Date
    Aug 2013
    Posts
    4
    Qt products
    Qt4 Qt/Embedded
    Platforms
    Windows

    Question blit_setup(): Screen depth 15 not supported!

    when I opened framebuffer with ARGB8888,then run the sample ./simpledecoration -wqs,the program run well.
    but when I opened framebuffer with ARGB1555,run the sample ./simpledecoration -wqs again,
    got the following error:
    blit_setup(): Screen depth 15 not supported!
    Aborted

    I changed the -depths to -depths all,and configured again, the same error.
    I even changed the qscreenlinuxfb_qws.cpp. change QScreen::setPixelFormat(format) to
    QScreen::setPixelFormat(QImage::Format_RGB16),stil l got the same error.
    the Qt version is 4.8.2

    why? Thanks a lot.
    Forest
    Last edited by Forest; 23rd August 2013 at 07:53.

  2. #2
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,359
    Thanks
    3
    Thanked 5,015 Times in 4,792 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: blit_setup(): Screen depth 15 not supported!

    Most likely the framebuffer doesn't support 15 bit displays.
    Your biological and technological distinctiveness will be added to our own. Resistance is futile.

    Please ask Qt related questions on the forum and not using private messages or visitor messages.


  3. #3
    Join Date
    Aug 2013
    Posts
    4
    Qt products
    Qt4 Qt/Embedded
    Platforms
    Windows

    Default Re: blit_setup(): Screen depth 15 not supported!

    I cat the fb info.
    cat /proc/graphics/hifb1
    layer name :layer_1
    Open count :2
    Show state :ON
    Start position (0, 0)
    xres, yres (1280, 720)
    xres_virtual, yres_virtual (1280, 1440)
    xoffset, yoffset (0, 0)
    fix.line_length :2560
    Mem size: :8100 KB
    Layer Scale (hw): :NO
    ColorFormat: :ARGB1555
    Alpha Enable :ON
    AlphaChannel Enable :OFF
    Alpha0, Alpha1 :255, 255
    Alpha Global :128
    Colorkey Enable :OFF
    Colorkey value :0x0
    Deflicker Mode: :NONE
    Deflicker Level: :AUTO
    Display Buffer mode :unkown
    Displaying addr (register) :0x9092f000
    display buffer[0] addr :0x9092f000
    display buffer[1] addr :0x90af1000
    displayrect (1280, 720)
    screenrect (1280, 720)
    device max resolution :1280, 720
    IsNeedFlip(2buf) :NO
    BufferIndexDisplaying(2buf) :0
    refresh request num(2buf) :0
    switch buf num(2buf) :0
    union rect (2buf) (0,0,0,0)
    canavas updated addr :0x9092f000
    canavas updated (w, h) :1280,720
    canvas width :1280
    canvas height :720
    canvas pitch :2560
    canvas format :ARGB1555
    IsCompress :NO


    Added after 38 minutes:


    Quote Originally Posted by wysota View Post
    Most likely the framebuffer doesn't support 15 bit displays.
    Thanks,how to see whether the framebuffer support 15bit displays?
    actually,I want to use ARGB1555,which is 16 bit.
    Last edited by Forest; 23rd August 2013 at 08:37.

  4. #4
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,359
    Thanks
    3
    Thanked 5,015 Times in 4,792 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: blit_setup(): Screen depth 15 not supported!

    Quote Originally Posted by Forest View Post
    actually,I want to use ARGB1555,which is 16 bit.
    Apparently the frame buffer thinks differently. Consult your framebuffer manual.
    Your biological and technological distinctiveness will be added to our own. Resistance is futile.

    Please ask Qt related questions on the forum and not using private messages or visitor messages.


  5. #5
    Join Date
    Aug 2013
    Posts
    4
    Qt products
    Qt4 Qt/Embedded
    Platforms
    Windows

    Default Re: blit_setup(): Screen depth 15 not supported!

    Quote Originally Posted by wysota View Post
    Apparently the frame buffer thinks differently. Consult your framebuffer manual.
    The framebuffer only support ARGB8888 and ARGB1555,I tried setting QT to RGB565(force d=16 in qscreenlinuxfb_qws.cpp),the error disappeared,but the output color was strange.
    How to set QT use ARGB1555?

  6. #6
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,359
    Thanks
    3
    Thanked 5,015 Times in 4,792 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: blit_setup(): Screen depth 15 not supported!

    Hmm... how exactly did you try setting the framebuffer into ARGB1555 in Qt? As far as I can see such format is not supported by Qt.
    Your biological and technological distinctiveness will be added to our own. Resistance is futile.

    Please ask Qt related questions on the forum and not using private messages or visitor messages.


  7. #7
    Join Date
    Aug 2013
    Posts
    4
    Qt products
    Qt4 Qt/Embedded
    Platforms
    Windows

    Default Re: blit_setup(): Screen depth 15 not supported!

    Quote Originally Posted by wysota View Post
    Hmm... how exactly did you try setting the framebuffer into ARGB1555 in Qt? As far as I can see such format is not supported by Qt.
    hi,wysota,thanks for your help.I can not set the framebuffer into ARGB1555 in Qt.Such format is not supported by Qt,really?
    but I find the format in qscreenlinuxfb_qws.cpp.
    void QLinuxFbScreen::setPixelFormat(struct fb_var_screeninfo info)
    {
    const fb_bitfield rgba[4] = { info.red, info.green,
    info.blue, info.transp };

    QImage::Format format = QImage::Format_Invalid;

    switch (d) {
    case 15: {
    const fb_bitfield rgb1555[4] = {{10, 5, 0}, {5, 5, 0},
    {0, 5, 0}, {15, 1, 0}};
    const fb_bitfield bgr1555[4] = {{0, 5, 0}, {5, 5, 0},
    {10, 5, 0}, {15, 1, 0}};
    if (memcmp(rgba, rgb1555, 3 * sizeof(fb_bitfield)) == 0) {
    format = QImage::Format_RGB555;
    } else if (memcmp(rgba, bgr1555, 3 * sizeof(fb_bitfield)) == 0) {
    format = QImage::Format_RGB555;
    pixeltype = QScreen::BGRPixel;
    }
    break;
    }
    QScreen::setPixelFormat(format);
    }

    we can see,Qt treats ARGB1555 as Format_RGB555.

  8. #8
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,359
    Thanks
    3
    Thanked 5,015 Times in 4,792 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: blit_setup(): Screen depth 15 not supported!

    And apparently it tries to set that as the framebuffer format, giving you 15 bits which is not supported by your hardware. It looks like either a bug in Qt, your code or in the driver.
    Your biological and technological distinctiveness will be added to our own. Resistance is futile.

    Please ask Qt related questions on the forum and not using private messages or visitor messages.


Similar Threads

  1. Rendering depth map
    By gkntonfo in forum Qt Programming
    Replies: 2
    Last Post: 21st August 2012, 15:07
  2. Qwidget Depth
    By augusbas in forum Qt Programming
    Replies: 7
    Last Post: 1st July 2011, 07:01
  3. Qpixmap of 32 bit Depth
    By augusbas in forum Qt Programming
    Replies: 4
    Last Post: 19th May 2011, 12:03
  4. Image 32 bit depth to 8 bit depth
    By ^NyAw^ in forum Qt Programming
    Replies: 2
    Last Post: 2nd September 2008, 09:35
  5. depth of QTreeWidgetItem
    By stefan in forum Newbie
    Replies: 3
    Last Post: 29th June 2008, 11:58

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Digia, Qt and their respective logos are trademarks of Digia Plc in Finland and/or other countries worldwide.