linux-sunxi / sunxi-mali

Sunxi Mali-400 support libraries.
56 stars 71 forks source link

Support for OpenVG? #3

Closed ajstarks closed 11 years ago

ajstarks commented 11 years ago

I've successfully built and run the triangle test on the PCDuino (version =r3p0, armhf, EGL_type=framebuffer): (Here is the 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 "

But I'd like to use OpenVG. I noticed that the OpenVG headers/libraries are missing from this repo.

The packages mail400 and mali400-dev contain the OpenVG headers/libraries, and I was able to build my OpenVG app, but it failed on initiation. (I removed them before re-building this repo as there seems to be some duplication)

When I use the OpenVG headers from mali400, I can build my OpenVG app, but it fails on link

What is the best course of action to support for OpenVG?

libv commented 11 years ago

Maybe we do not have the headers for a reason. Maybe it fails to link for a reason.

I do not know what mali400 and mali400-dev packages you are talking about, but you just filed a bug with sunxi-mali, and sunxi-mali has absolutely no trace of openVG.

ajstarks commented 11 years ago

Thanks for your reply, FYI.

$ apt-cache show mali400 Package: mali400 Priority: extra Section: libs Installed-Size: 1050 Maintainer: Kalle Vahlman kalle.vahlman@movial.com Architecture: armhf Version: 2.1-12 Replaces: libegl1-x11, libgles1, libgles2 Provides: libegl1-x11, libgles1, libgles2 Depends: libc6 (>= 2.15-0ubuntu8), libdrm2 (>= 2.3.1), libgcc1 (>= 1:4.4.0), libx11-6 (>= 2:1.4.99.1), libxext6, libxfixes3 Conflicts: libegl1-x11, libgles1, libgles2 Pre-Depends: debconf (>= 0.5) | debconf-2.0 Filename: pool/main/m/mali400/mali400_2.1-12_armhf.deb Size: 588854 MD5sum: b8413f7c1e68147d22269a0a11485b14 SHA1: 9baafe4d20e4665090ee6c7c4f17dec7c65861ae SHA256: 068128211cc348ac5291261a29b8a97abef6b3e262b4ccca156e5f02a7717c5a Description: Mali implementation of OpenGL ES, OpenVG and EGL for Snowball boards Mali implementation of OpenGL ES, OpenVG and EGL for Snowball boards Build-Info: yes

$ apt-cache show mali400-dev Package: mali400-dev Source: mali400 Priority: extra Section: libdevel Installed-Size: 306 Maintainer: Kalle Vahlman kalle.vahlman@movial.com Architecture: armhf Version: 2.1-12 Replaces: libegl1-x11-dev, libgles1-dev, libgles2-dev Provides: libegl1-x11-dev, libgles1-dev, libgles2-dev Depends: mali400 (= 2.1-12) Conflicts: libegl1-x11-dev, libgles1-dev, libgles2-dev Pre-Depends: debconf (>= 0.5) | debconf-2.0 Filename: pool/main/m/mali400/mali400-dev_2.1-12_armhf.deb Size: 49226 MD5sum: 83ff4cfd136fcc23b9ed13b4f80146df SHA1: 1fa04370acfa3f48fee9e757e6c13b33dcbacc9e SHA256: 35c2b9cc6ad26feb97ab1fc89cd4cdff0f58c9d47ed94149bc8432e8676e7783 Description: Khronos APIs for graphics Khronos APIs for EGL 1.4, OpenVG 2.1 and OpenGL ES v2 and v1 Build-Info: yes

On Oct 15, 2013, at 7:21 AM, libv notifications@github.com wrote:

Maybe we do not have the headers for a reason. Maybe it fails to link for a reason.

I do not know what mali400 and mali400-dev packages you are talking about, but you just filed a bug with sunxi-mali, and sunxi-mali has absolutely no trace of openVG.

— Reply to this email directly or view it on GitHub.

libv commented 11 years ago

On Tue, Oct 15, 2013 at 05:08:58AM -0700, Anthony Starks wrote:

Thanks for your reply, FYI.

$ apt-cache show mali400 Package: mali400 Priority: extra Section: libs Installed-Size: 1050 Maintainer: Kalle Vahlman kalle.vahlman@movial.com Architecture: armhf Version: 2.1-12 Replaces: libegl1-x11, libgles1, libgles2 Provides: libegl1-x11, libgles1, libgles2 Depends: libc6 (>= 2.15-0ubuntu8), libdrm2 (>= 2.3.1), libgcc1 (>= 1:4.4.0), libx11-6 (>= 2:1.4.99.1), libxext6, libxfixes3 Conflicts: libegl1-x11, libgles1, libgles2 Pre-Depends: debconf (>= 0.5) | debconf-2.0 Filename: pool/main/m/mali400/mali400_2.1-12_armhf.deb Size: 588854 MD5sum: b8413f7c1e68147d22269a0a11485b14 SHA1: 9baafe4d20e4665090ee6c7c4f17dec7c65861ae SHA256: 068128211cc348ac5291261a29b8a97abef6b3e262b4ccca156e5f02a7717c5a Description: Mali implementation of OpenGL ES, OpenVG and EGL for Snowball boards Mali implementation of OpenGL ES, OpenVG and EGL for Snowball boards Build-Info: yes

$ apt-cache show mali400-dev Package: mali400-dev Source: mali400 Priority: extra Section: libdevel Installed-Size: 306 Maintainer: Kalle Vahlman kalle.vahlman@movial.com Architecture: armhf Version: 2.1-12 Replaces: libegl1-x11-dev, libgles1-dev, libgles2-dev Provides: libegl1-x11-dev, libgles1-dev, libgles2-dev Depends: mali400 (= 2.1-12) Conflicts: libegl1-x11-dev, libgles1-dev, libgles2-dev Pre-Depends: debconf (>= 0.5) | debconf-2.0 Filename: pool/main/m/mali400/mali400-dev_2.1-12_armhf.deb Size: 49226 MD5sum: 83ff4cfd136fcc23b9ed13b4f80146df SHA1: 1fa04370acfa3f48fee9e757e6c13b33dcbacc9e SHA256: 35c2b9cc6ad26feb97ab1fc89cd4cdff0f58c9d47ed94149bc8432e8676e7783 Description: Khronos APIs for graphics Khronos APIs for EGL 1.4, OpenVG 2.1 and OpenGL ES v2 and v1 Build-Info: yes

While that does contain openVG symbols, it is version r2p2-03rel0 which is definitely not something that we support kernel side. Let alone the big mass of issues there will be on the userspace side...

Such is the fun with binary drivers.

Luc Verhaegen.

ajstarks commented 11 years ago

Thanks again for your insights, I've contacted the mali400 package maintainer.
It's sad that the device is advertised as supporting OpenVG, but the reality is a challenge as you point out.

While that does contain openVG symbols, it is version r2p2-03rel0 which is definitely not something that we support kernel side. Let alone the big mass of issues there will be on the userspace side...

Such is the fun with binary drivers.

Luc Verhaegen. — Reply to this email directly or view it on GitHub.

libv commented 11 years ago

On Tue, Oct 15, 2013 at 05:48:03AM -0700, Anthony Starks wrote:

Thanks again for your insights, I've contacted the mali400 package maintainer.

It's sad that the device is advertised as supporting OpenVG, but the reality is a challenge as you point out.

The hardware supports it. Go write a really angry email to ARM Ltd for not supporting their mali with proper software.

Luc Verhaegen.

Stane1983 commented 10 years ago

Sorry to interfere in conversation that is not my platform, but few words about ARM and pretty much same Mali afaik...

I'm Amlogic's partner and asked them for framebuffer and X11 userspace libs for api 19 or api 20 fb and x11 userspace libs (armhf). Got an reply that I should contact ARM regarding this, so I did.

After 3 months and one case reopening I got reply from ARM that they are not allowed to provide me such thing because I'm not direct ARM Licensee, that it should go via Amlogic. Still waiting for Amlogic, waiting them to come back from Chinese new year vacation to push things up...

osnwt commented 9 years ago

Sorry for popping old thread. I was going to build Qt5 for pcduino3 to use for OpenGL ES2 apps but have not succeed to run any OpenGL apps using it. I went back to OpenGL SDK from http://malideveloper.arm.com/ and tried to build it. All was built but still can't create EGL surface. I use stock pcduino3 kernel/rootfs (ubuntu 12.07, not latest) and the same mali400* repositiories as you quoted above. glmark2-es works as it should.

Could you push me to the right direction how to build the triangle demo from SDK? Then I can do the same with Qt5 for the pcduino3.

But if someone has provided Qt5 with OpenGL for it already, I also would be glad to use it instead.