Hello Simon,
Am 13.02.2015 um 18:04 schrieb Simo Xefil:

Hello Siarhei,

First of all thanks for your answer.
Basically, I'm searching a way to let the drivers work properly based on the hardware performances.
framebuffer is much more faster, so, for such devices is the best choise.
I'm not asking the driver to handle multi-tasking. Using the 'test' program from the terminal (not within X11) I got the same results. The monitor is not refreshed after the triangle is drawn even if the program is already exited. Back to desktop env, programs like XBMC (A10 fork) or emulators like retroarch, compiled to use framebuffer, are working very well, expect when you exit the program. At this point, the last printed image remains on screen. The only way I've found until today is to restart lxde or switch between X11 and terminal to force a refresh. With an emulator, where I could need switch between games often, every time I quit the game, the image remains impressed and I cannot change it.

I've no idea how to invent a way to force the refresh. If you have an idea I would try to investigate in that direction. I don't expect a finished solution (even it, in case, would be of course appreciated). I'd try to find/try by myself, but have no idea where to search.

I don't know the reason, but i suppose, that issue is the reason, why Allwinner themselves placed this workaround in their example code:
https://github.com/linux-sunxi/cedarx-libs/blob/master/libcedarv/linux-armhf/sample/render/render.c#L254

A display bug may be a reason for this issue at all.

Regards
Andreas
Any suggestion is really welcome :-)

Many thanks!

Simon




Il giorno giovedì 12 febbraio 2015 16:26:25 UTC+1, Siarhei Siamashka ha scritto:

    On Thu, 12 Feb 2015 06:54:30 -0800 (PST)
    Simo Xefil <xe...@xefil.com <javascript:>> wrote:

    > Il giorno mercoledì 11 febbraio 2015 00:07:58 UTC+1, Simo Xefil
    ha scritto:
    > >
    > > Hello!
    > >
    > > I've installed the sunxi-mail drivers following the guide
    found on
    > > http://linux-sunxi.org/Mali_binary_driver
    <http://linux-sunxi.org/Mali_binary_driver> using
    EGL_TYPE=framebuffer. I'm
    > > using a Banana-Pi board with a MALI-400 gpu.
    > > I need to use it with framebuffer to increase the graph
    performances.
    > > The compilation works well, but I've noticed a strange behaviour.
    > > Running the test utility (make test && test/test) I obtain
    correctly the
    > > colorful triangle, and here the cli output:
    > >
    > > EGL Version: "1.4 Linux-r3p0-04rel0"
    > > EGL Vendor: "ARM"
    > > EGL Extensions: "EGL_KHR_image EGL_KHR image_base
    EGL_KHR_image_pixmap
    > > EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image
    > > EGL_KHR_gl_renderbuffer_image EGL_KHR_reusable_sync
    EGL_KHR_fence_sync
    > > EGL_KHR_lock_surface EGL_KHR_lock_surface2 "
    > > Surface size: 480x480
    > > GL Vendor: "ARM"
    > > GL Renderer: "Mali-400 MP"
    > > GL Version: "OpenGL ES 2.0"
    > > GL Extensions: "GL_OES_texture_npot
    GL_OES_compressed_ETC1_RGB8_texture
    > > GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_depth24
    GL_ARM_rgba8
    > > GL_ARM_mali_shader_binary GL_OES_depth_texture
    GL_OES_packed_depth_stencil
    > > GL_EXT_texture_format_BGRA8888 GL_EXT_blend_minmax
    > > GL_OES_EGL_image_external GL_OES_EGL_sync
    > > GL_EXT_multisampled_render_to_texture GL_EXT_discard_framebuffer
    > > GL_OES_get_program_binary GL_EXT_shader_texture_lod "
    > >
    > >
    > >
    > > The problem is I cannot exit the test, or better, it kills the
    test, but I still
    > > have the triangle on screen. I need to switch between two
    consoles
    > > (i.e. if I'm in console Alt+F1 I need to change Alt+F2 and
    then Alt+F1
    > > back), only so I obtain a refresh of the view.
    > >
    > > What could cause the problem?
    > >
    > > This behaviour happens on any program that uses framebuffer to
    redender the
    > > images. So, in example, if I exit a program that uses FB, I
    need to
    > > switch between views to force a refresh.
    > >
    > >
    > > Is there a way to debug it or, better, a solution?
    >
    > Hello again.
    > Sorry if I top post the thread, but seems strange I'm the only
    having this
    > issue. It happens with different distros as well as on different
    boards.
    > I would exclude OS or hardware problems.
    > If someone suggest me how to debug, would be good.
    > A sort of backgroun screen-refresh would be a workaround as
    well, but don't
    > know how.
    > Right after executing the test, the mouse remains visible. I've
    tested
    > 'xrefresh -black' as well, as found somewhere on the net, but it
    doesn't
    > rebuild the desktop.
    > I've seen the 'test' program is launched and it exits
    immediatly, also It's
    > not a matter of the program itself.
    > Strange is, sometimes the terminal (withing x11) I use to launch
    the test
    > program, comes back visible. In example if I launch 'fbset -xres
    1280 -yres
    > 1024' right after the 'test' (I need to write the command
    without seeing
    > what I'm writing, because all is hidden by the trianble) I get a
    refresh of
    > only the terminal window. Moving then the terminal I can
    "redraw" the rest
    > of the desktop.
    > In fact the problem is unchanged. I'm again thinking that
    resolving this
    > issue could resolve automatically the problems I get with other
    > applications as well.

    Basically, it looks like you want to have your cake and eat it too
    :-)

    The framebuffer mali driver is designed for single-tasking, with just
    one application ever drawing something to the screen.

    The x11 mali driver is designed to work in the multi-tasking x11
    window system environment, where each application has its own window.
    Naturally, doing the synchronization to ensure that all the
    applications play nice together incurs a little bit of overhead.

    So you just need to pick the right driver for your use case.

-- Best regards,
    Siarhei Siamashka

--
You received this message because you are subscribed to the Google Groups "linux-sunxi" group. To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscr...@googlegroups.com <mailto:linux-sunxi+unsubscr...@googlegroups.com>.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups 
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to