Page 1 of 4 123 ... LastLast
Results 1 to 10 of 38

Thread: Fixed framebuffer driver

777
  1. [translate]    #1
    Moderator
    Join Date
    Jun 2010
    Location
    Warsaw, Poland
    Posts
    2,828

    Default Fixed framebuffer driver

    --- This shouldn't be specially dangerous, but as usual: ---
    WARNING: THIS METHOD CAN BE DANGEROUS. DON’T DO ANYTHING IF YOU DO NOT KNOW WHAT YOU DO.
    I AM NOT RESPONSIBLE IF YOU TRANSFORM YOUR SPICA INTO A BRICK
    EDIT:
    Samsung drivers are incompatible with fifth version, because of broken video mode detection. Please stay with fourth version until I work this around.
    ---

    EDIT:
    Fifth version (...) of the patch with framebuffer console fixes in 24bpp mode (may also fix screenshot applications) and an option to keep the display powered on system shutdown or driver error. Hopefully this is the final one.
    ---

    EDIT:
    Added fourth version of the patch with code cleanup and white space changes ignored (should be more compatible with other kernels). + correct recovery patch (thanks Criminal)
    ---

    EDIT:
    Added third version of the patch with double buffering fix. (Complete patch + incremental from v2)
    ---

    EDIT:
    Uploaded patch for recovery to take advantages of the fixed driver.
    ---

    EDIT:

    Uploaded v2 of the patch with fixed memory allocation to allow dynamic mode switching from 16BPP to 24BPP (which needs 2 times more memory). Sorry for releasing the unfinished one.
    ---

    I have finally found some time to fix the buggy framebuffer driver in our kernel and I can now announce that the task is accomplished!

    What's fixed:

    • Black screen issue on video mode change. (Now recovery can use 16bpp mode and Android can explicitly request 24bpp mode in gralloc.) - The bug was really idiotic, they took screen width (physical, in millimeters instead of the resolution) and multiplied it by bytes_per_pixel to (what they thought) calculate line length in bytes.
    • Driver unloading - no more doubled memory freeing.
    • Added an option to Kconfig to disable the boot logo.
    • Removed 32bpp mode from Kconfig since it's unsupported by hardware.
    • Implemented proper way of disabling the screen (according to the manual).
    • Added dithering to 24bpp mode.
    • Moved progress bar into Framebuffer #1 - Number of Framebuffers can be now set to 2 to decrease memory usage.
    • Boot logo display in 24bpp mode is now ok.
    • Framebuffer console works.


    The patch (based on LeshaK's kernel, but should apply fine in most cases) is attached to the post.

    Recommended kernel settings:


    • Advanced options for S3C Framebuffer [y]
    • Select BPP(Bits Per Pixel) [16] or [24]
    • Number of Framebuffers [2]
    • Enable Virtual Screen [n]
    • Enable Double Buffering [y]
    • Show full screen logo with progress bar [y] or [n]
    • Don't disable LCD screen on system shutdown [n]

    This is mainly dedicated to our kernel makers, ie. LeshaK, ch33kybutt, Lukiqq, so please wait for them to include the patch.

    Full patch (apply to kernel sources without my patch already applied)
    :
    framebuffer_v5.patch.gz

    Full patch v4 (for compatibility with Samsung 3D drivers):
    framebuffer_v4.patch.gz

    Incremental patches (apply to kernel sources with previous version of my patch incrementally to update to latest version):
    framebuffer_v4_to_v5.patch.gz
    framebuffer_v3_to_v4.patch.gz
    framebuffer_v2_to_v3.patch.gz

    Recovery patch to fix 4 screen issue:
    recovery.patch.gz
    Last edited by tom3q; 02-12-2011 at 08:22 PM. Reason: Patch v5

  2. [translate]    #2
    Moderator nebkat's Avatar
    Join Date
    Oct 2010
    Location
    Dublin, Ireland
    Posts
    989

    Default

    Can you try allocate more memory to the chunk allocator? It seems to cause white texture problems in games.
    Code:
    for (n00b n : mSamdroid) {
        if (!n.findAnswer()) {
            n.useSearch();
        }
    }

  3. [translate]    #3
    Moderator
    Join Date
    Jun 2010
    Location
    Warsaw, Poland
    Posts
    2,828

    Default

    This is a bit unrelated to the framebuffer driver. Anyway, it's not the amount of memory, it's the chunk allocator which is broken in itself and texture handling code in Samsung drivers. They will be eventually replaced with my drivers, so I don't see a point to waste time on them.

  4. [translate]    #4
    Moderator nebkat's Avatar
    Join Date
    Oct 2010
    Location
    Dublin, Ireland
    Posts
    989

    Default

    Oh, thanks anyway
    Code:
    for (n00b n : mSamdroid) {
        if (!n.findAnswer()) {
            n.useSearch();
        }
    }

  5. [translate]    #5
    Senior Member
    Join Date
    Aug 2010
    Location
    Poland
    Posts
    2,826

    Default

    Will reserving more memory for fb&log (in reserved_mem.h) have any impact on performance?

    i5700 had spoken
    Code:
    setprop persist.world.domination 1

  6. [translate]    #6
    Moderator
    Join Date
    Jun 2010
    Location
    Warsaw, Poland
    Posts
    2,828

    Default

    Nope. This will only change (decrease) the amount of memory available to Android.

  7. [translate]    #7
    Senior Member
    Join Date
    Jul 2010
    Location
    Poland
    Posts
    574

    Default

    Quote Originally Posted by darth_llamah View Post
    Will reserving more memory for fb&log (in reserved_mem.h) have any impact on performance?

    i5700 had spoken
    No

    Forgot to refresh before post, sorry

    BTW. Thanks Tom3q for your driver!

  8. [translate]    #8
    Senior Member
    Join Date
    Jun 2010
    Location
    Bucsu, Hungary
    Posts
    230

    Default

    tom3q,

    Is it possible to disable bootlogo with this driver? To see the boot process(With enabling in "make menuconfig" the framebuffer console support and bootup logo)?

  9. [translate]    #9
    Moderator
    Join Date
    Jun 2010
    Location
    Warsaw, Poland
    Posts
    2,828

    Default

    Quoting myself:
    Quote Originally Posted by tom3q View Post
    • Added an option to Kconfig to disable the boot logo.
    • [...]
    • Framebuffer console works.

  10. [translate]    #10
    Senior Member
    Join Date
    Jun 2010
    Location
    Bucsu, Hungary
    Posts
    230

    Default

    Quote Originally Posted by tom3q View Post
    Quoting myself:
    Sorry, my bad I'll read more attentively
    Thanks, and keep up your great work

Page 1 of 4 123 ... LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

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
  •