Hi,
I own an odroid XU3 wich runs currently with the newest mali driver (r6p0) on ubuntu 15.01 without X.
I spend the last days in trying to pass the drm buffer using gbm into the mali gpu, until now with no success.
Problem is, that I'm not able to set up a renderable surface, I tried several extensions (MESA_GBM for example) but they all fail.
Can you pls. provide me with the information if its possible or not?
If it should be possible - are there any resources / samples where to look or the key?
Thanks!
Markus
Apologies if I'm not helping the actual problem, but some friendly advice -- rather than simply hammering the API with attributes it might not support and getting strange results, you could literally check to see if they're supported -- using eglQueryString(EGL_NO_DISPLAY, EGL_EXTENSIONS) or eglQueryString(display, EGL_EXTENSIONS) -- and looking at that returned string for the appropriate extension strings that would describe the features you want.
If the EGL or OpenGLES libraries don't support the extensions you want, you get really unhelpful errors from EGL (EGL_BAD_PARAMETER is one of them, but it never gives a hint as to which parameter if you pass an array!). It is always better to check to see if they exist before using them and wondering why nothing works.
Thanks for the advice, mwsealey.
As far as I understand the output, it should be supported:
EGL_NO_DISPLAY:
Using display 0x2d140 with EGL version 1.4
EGL Version "1.4 Midgard-"r6p0-02rel0""
EGL Vendor "ARM"
EGL Extensions " EGL_EXT_client_extensions EGL_EXT_platform_base EGL_KHR_client_get_all_proc_addresses"
EGL_DISPLAY retrieved form NATIVE_DISPLAY:
EGL Extensions " EGL_KHR_partial_update EGL_KHR_config_attribs EGL_KHR_image EGL_KHR_image_base EGL_KHR_fence_sync EGL_KHR_wait_sync EGL_KHR_gl_colorspace EGL_KHR_get_all_proc_addresses EGL_IMG_context_priority EGL_ARM_pixmap_multisample_discard EGL_KHR_gl_texture_2D_image EGL_KHR_gl_renderbuffer_image EGL_KHR_create_context EGL_KHR_surfaceless_context EGL_KHR_gl_texture_cubemap_image EGL_EXT_create_context_robustness EGL_KHR_cl_event2"
I'm not the EGL professional, my goal is currently simply get some applications running in an x-less environment.
So I'm looking forward for your professional statement about it.
Hi peak3d,
It doesnt look like the extension is supported based on your output.
To use eglCreateImageKHR API call, you need the extension EGL_KHR_image_base, which you have.
To use EGL_LINUX_DMA_BUF_EXT as the target in that API call, you need the extension EGL_EXT_image_dma_buf_import which I do not see in your list of supported extensions.
Values accepted for <target> are listed in Table aaa, below(fn1).(fn1) No values are defined by this extension. All functionality to create EGLImages from other types of resources, such as native pixmaps, GL textures, and VGImages, is layered in other extensions.
I hope that explains better why it is currently failing.
Kind Regards,
Michael McGeagh
oh, i hoped so much that this answer wouldn't arrive during this discussion :-(
To stay constructive: Is this (beside drm / gbm) anything hardkernel can activate / implement in the compile step of the driver?
Or is this (from what I have learned) hidden inside the binary blob and we are dependend on your further work?
best regards,
B.t.w: I think we can close this issue
After discussing with the driver team, this extension is currently not available for non-X11 windowing systems. It has only been tested and available if you are using X11.
So in theory if you switch over to using X instead of fbdev, your code may work. I cannot say for certain at this point however so please let us know the results.
Thanks, Michael,
I tried this already but didn't get it working because of missing experience with DRM Master cloning.
I'll let you know if there is any progress!
Really appreciate the quick responses from your side!