Kodi Krypton on Wandboard

XBMC subforum

Kodi Krypton on Wandboard

Postby trunkz » Tue Apr 03, 2018 5:30 pm

I'm trying to build kodi on the wandboard quad imx6 board

I get error:

/usr/include/EGL/eglvivante.h

unrecognized platform

I have been hacking this file ever since with no luck. Is there a way to tell kodi to use the opengl to compile and not egl

im trying to build krypton with cmake. Everything else compiles right this is the only error which shows up as a very ugly linker error at the end.


Thanks for trying to help
trunkz
 
Posts: 14
Joined: Mon Mar 19, 2018 12:07 am

Re: Kodi Krypton on Wandboard

Postby ClayMontgomery » Wed Apr 04, 2018 8:22 pm

It's not unusual for it to be necessary to hack eglvivante.h. I had to do it too.

The EGL driver is required to use any OpenGL ES implementation. So, you actually need both an EGL and OpenGL ES driver, plus some other objects provided by Vivante, such as their galcore module.
There are actually several OpenGL ES drivers provided for various versions of the standard, including 1.1 and 2.0 (which now includes 3.0), and at least 3 versions of the EGL, includiong one for X11 and one for fb.
The EGL provides the interface for OpenGL ES to use a windowing system and even if you don't have a windowing system you still must use the fb version of the EGL.

Regards, Clay
ClayMontgomery
 
Posts: 87
Joined: Tue Nov 19, 2013 9:14 pm

Re: Kodi Krypton on Wandboard

Postby trunkz » Sun Apr 08, 2018 3:47 am

Thanks for your help!

Below is the latest output:

[100%] Built target libkodi
[100%] Built target kodi-libraries
[100%] Linking CXX executable kodi-x11
CMakeFiles/kodi.dir/build.make:524: recipe for target 'kodi-x11' failed
CMakeFiles/Makefile2:739: recipe for target 'CMakeFiles/kodi.dir/all' failed
Makefile:138: recipe for target 'all' failed


build/utils/utils.a(GLUtils.cpp.o):GLUtils.cpp:function LogGraphicsInfo(): error: undefined reference to 'glGetStringi'
build/rendering/gl/rendering_gl.a(RenderSystemGL.cpp.o):RenderSystemGL.cpp:function CRenderSystemGL::DestroyRenderSystem(): error: undefined reference to 'glDeleteVertexArrays'
build/rendering/gl/rendering_gl.a(RenderSystemGL.cpp.o):RenderSystemGL.cpp:function CRenderSystemGL::ApplyStateBlock(): error: undefined reference to 'glBindVertexArray'
build/rendering/gl/rendering_gl.a(RenderSystemGL.cpp.o):RenderSystemGL.cpp:function CRenderSystemGL::InitRenderSystem(): error: undefined reference to 'glGetStringi'
build/rendering/gl/rendering_gl.a(RenderSystemGL.cpp.o):RenderSystemGL.cpp:function CRenderSystemGL::InitRenderSystem(): error: undefined reference to 'glGenVertexArrays'
build/rendering/gl/rendering_gl.a(RenderSystemGL.cpp.o):RenderSystemGL.cpp:function CRenderSystemGL::InitRenderSystem(): error: undefined reference to 'glBindVertexArray'
build/rendering/gl/rendering_gl.a(RenderSystemGL.cpp.o):RenderSystemGL.cpp:function CRenderSystemGL::ResetRenderSystem(int, int): error: undefined reference to 'glBindVertexArray'
build/rendering/gl/rendering_gl.a(RenderSystemGL.cpp.o):RenderSystemGL.cpp:function CRenderSystemGL::ResetRenderSystem(int, int): error: undefined reference to 'glDeleteVertexArrays'
build/rendering/gl/rendering_gl.a(RenderSystemGL.cpp.o):RenderSystemGL.cpp:function CRenderSystemGL::ResetRenderSystem(int, int): error: undefined reference to 'glGenVertexArrays'
build/rendering/gl/rendering_gl.a(RenderSystemGL.cpp.o):RenderSystemGL.cpp:function CRenderSystemGL::ResetRenderSystem(int, int): error: undefined reference to 'glBindVertexArray'
build/cores/VideoPlayer/videorenderers/videorenderers.a(RenderCapture.cpp.o):RenderCapture.cpp:function CRenderCaptureGL::~CRenderCaptureGL(): error: undefined reference to 'glDeleteQueriesARB'
build/cores/VideoPlayer/videorenderers/videorenderers.a(RenderCapture.cpp.o):RenderCapture.cpp:function CRenderCaptureGL::~CRenderCaptureGL(): error: undefined reference to 'glBindBufferARB'
build/cores/VideoPlayer/videorenderers/videorenderers.a(RenderCapture.cpp.o):RenderCapture.cpp:function CRenderCaptureGL::~CRenderCaptureGL(): error: undefined reference to 'glUnmapBufferARB'
build/cores/VideoPlayer/videorenderers/videorenderers.a(RenderCapture.cpp.o):RenderCapture.cpp:function CRenderCaptureGL::~CRenderCaptureGL(): error: undefined reference to 'glBindBufferARB'
build/cores/VideoPlayer/videorenderers/videorenderers.a(RenderCapture.cpp.o):RenderCapture.cpp:function CRenderCaptureGL::~CRenderCaptureGL(): error: undefined reference to 'glDeleteBuffersARB'
build/cores/VideoPlayer/videorenderers/videorenderers.a(RenderCapture.cpp.o):RenderCapture.cpp:function CRenderCaptureGL::BeginRender(): error: undefined reference to 'glBindBufferARB'
build/cores/VideoPlayer/videorenderers/videorenderers.a(RenderCapture.cpp.o):RenderCapture.cpp:function CRenderCaptureGL::BeginRender(): error: undefined reference to 'glBufferDataARB'
build/cores/VideoPlayer/videorenderers/videorenderers.a(RenderCapture.cpp.o):RenderCapture.cpp:function CRenderCaptureGL::BeginRender(): error: undefined reference to 'glDeleteQueriesARB'
build/cores/VideoPlayer/videorenderers/videorenderers.a(RenderCapture.cpp.o):RenderCapture.cpp:function CRenderCaptureGL::BeginRender(): error: undefined reference to 'glGenBuffersARB'
build/cores/VideoPlayer/videorenderers/videorenderers.a(RenderCapture.cpp.o):RenderCapture.cpp:function CRenderCaptureGL::BeginRender(): error: undefined reference to 'glBeginQueryARB'
build/cores/VideoPlayer/videorenderers/videorenderers.a(RenderCapture.cpp.o):RenderCapture.cpp:function CRenderCaptureGL::BeginRender(): error: undefined reference to 'glGenQueriesARB'
build/cores/VideoPlayer/videorenderers/videorenderers.a(RenderCapture.cpp.o):RenderCapture.cpp:function CRenderCaptureGL::ReadOut(): error: undefined reference to 'glBindBufferARB'
build/cores/VideoPlayer/videorenderers/videorenderers.a(RenderCapture.cpp.o):RenderCapture.cpp:function CRenderCaptureGL::ReadOut(): error: undefined reference to 'glMapBufferARB'
build/cores/VideoPlayer/videorenderers/videorenderers.a(RenderCapture.cpp.o):RenderCapture.cpp:function CRenderCaptureGL::ReadOut(): error: undefined reference to 'glUnmapBufferARB'
build/cores/VideoPlayer/videorenderers/videorenderers.a(RenderCapture.cpp.o):RenderCapture.cpp:function CRenderCaptureGL::ReadOut(): error: undefined reference to 'glGetQueryObjectuivARB'
build/cores/VideoPlayer/videorenderers/videorenderers.a(RenderCapture.cpp.o):RenderCapture.cpp:function CRenderCaptureGL::PboToBuffer(): error: undefined reference to 'glMapBufferARB'
build/cores/VideoPlayer/videorenderers/videorenderers.a(RenderCapture.cpp.o):RenderCapture.cpp:function CRenderCaptureGL::PboToBuffer(): error: undefined reference to 'glUnmapBufferARB'
build/cores/VideoPlayer/videorenderers/videorenderers.a(RenderCapture.cpp.o):RenderCapture.cpp:function CRenderCaptureGL::EndRender(): error: undefined reference to 'glEndQueryARB'
build/cores/VideoPlayer/videorenderers/videorenderers.a(LinuxRendererGL.cpp.o):LinuxRendererGL.cpp:function CLinuxRendererGL::DeleteYV12Texture(int): error: undefined reference to 'glUnmapBufferARB'
build/cores/VideoPlayer/videorenderers/videorenderers.a(LinuxRendererGL.cpp.o):LinuxRendererGL.cpp:function CLinuxRendererGL::DeleteYV12Texture(int): error: undefined reference to 'glDeleteBuffersARB'
build/cores/VideoPlayer/videorenderers/videorenderers.a(LinuxRendererGL.cpp.o):LinuxRendererGL.cpp:function CLinuxRendererGL::CreateYV12Texture(int): error: undefined reference to 'glGenBuffersARB'
build/cores/VideoPlayer/videorenderers/videorenderers.a(LinuxRendererGL.cpp.o):LinuxRendererGL.cpp:function CLinuxRendererGL::CreateYV12Texture(int): error: undefined reference to 'glBufferDataARB'
build/cores/VideoPlayer/videorenderers/videorenderers.a(LinuxRendererGL.cpp.o):LinuxRendererGL.cpp:function CLinuxRendererGL::CreateYV12Texture(int): error: undefined reference to 'glMapBufferARB'
build/cores/VideoPlayer/videorenderers/videorenderers.a(LinuxRendererGL.cpp.o):LinuxRendererGL.cpp:function CLinuxRendererGL::CreateYV12Texture(int): error: undefined reference to 'glDeleteBuffersARB'
build/cores/VideoPlayer/videorenderers/videorenderers.a(LinuxRendererGL.cpp.o):LinuxRendererGL.cpp:function CLinuxRendererGL::DeleteNV12Texture(int): error: undefined reference to 'glDeleteBuffersARB'
build/cores/VideoPlayer/videorenderers/videorenderers.a(LinuxRendererGL.cpp.o):LinuxRendererGL.cpp:function CLinuxRendererGL::CreateNV12Texture(int): error: undefined reference to 'glGenBuffersARB'
build/cores/VideoPlayer/videorenderers/videorenderers.a(LinuxRendererGL.cpp.o):LinuxRendererGL.cpp:function CLinuxRendererGL::CreateNV12Texture(int): error: undefined reference to 'glBufferDataARB'
build/cores/VideoPlayer/videorenderers/videorenderers.a(LinuxRendererGL.cpp.o):LinuxRendererGL.cpp:function CLinuxRendererGL::CreateNV12Texture(int): error: undefined reference to 'glMapBufferARB'
build/cores/VideoPlayer/videorenderers/videorenderers.a(LinuxRendererGL.cpp.o):LinuxRendererGL.cpp:function CLinuxRendererGL::CreateYUV422PackedTexture(int): error: undefined reference to 'glGenBuffersARB'
build/cores/VideoPlayer/videorenderers/videorenderers.a(LinuxRendererGL.cpp.o):LinuxRendererGL.cpp:function CLinuxRendererGL::CreateYUV422PackedTexture(int): error: undefined reference to 'glBufferDataARB'
collect2: error: ld returned 1 exit status
CMakeFiles/kodi.dir/build.make:524: recipe for target 'kodi-x11' failed
make[2]: *** [kodi-x11] Error 1
CMakeFiles/Makefile2:739: recipe for target 'CMakeFiles/kodi.dir/all' failed
make[1]: *** [CMakeFiles/kodi.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2

Again thank you for trying to help me.
trunkz
 
Posts: 14
Joined: Mon Mar 19, 2018 12:07 am

Re: Kodi Krypton on Wandboard

Postby trunkz » Sun Apr 08, 2018 3:48 am

output of glxinfo:

name of display: :0.0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
GLX_ARB_create_context, GLX_ARB_create_context_profile,
GLX_ARB_fbconfig_float, GLX_ARB_framebuffer_sRGB, GLX_ARB_multisample,
GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile,
GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB,
GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info,
GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer, GLX_OML_swap_method,
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGIX_visual_select_group, GLX_SGI_make_current_read
client glx vendor string: Vivante Corp
client glx version string: 1.4
client glx extensions:
GLX_ARB_get_proc_address, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGI_make_current_read
GLX version: 1.4
GLX extensions:
GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGI_make_current_read
OpenGL vendor string: Vivante Corporation
OpenGL renderer string: Vivante GC2000
OpenGL version string: 2.1 2.0.1
OpenGL shading language version string: 1.20
OpenGL extensions:
GL_ARB_depth_texture, GL_ARB_fragment_program_shadow,
GL_ARB_fragment_shader, GL_ARB_imaging, GL_ARB_multisample,
GL_ARB_multitexture, GL_ARB_pixel_buffer_object, GL_ARB_shader_objects,
GL_ARB_texture_compression, GL_ARB_texture_env_add,
GL_ARB_texture_env_combine, GL_ARB_texture_non_power_of_two,
GL_ARB_texture_rectangle, GL_ARB_vertex_buffer_object,
GL_ARB_vertex_shader, GL_ARB_window_pos, GL_ATI_draw_buffers,
GL_ATI_element_array, GL_ATI_separate_stencil,
GL_ATI_texture_env_combine3, GL_ATI_vertex_array_object, GL_EXT_abgr,
GL_EXT_bgra, GL_EXT_blend_color, GL_EXT_blend_equation_separate,
GL_EXT_blend_func_separate, GL_EXT_color_table, GL_EXT_convolution,
GL_EXT_draw_buffers2, GL_EXT_draw_instanced, GL_EXT_draw_range_elements,
GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample,
GL_EXT_framebuffer_object, GL_EXT_histogram, GL_EXT_packed_depth_stencil,
GL_EXT_pixel_buffer_object, GL_EXT_polygon_offset, GL_EXT_rescale_normal,
GL_EXT_secondary_color, GL_EXT_separate_specular_color,
GL_EXT_stencil_two_side, GL_EXT_subtexture, GL_EXT_texture,
GL_EXT_texture3D, GL_EXT_texture_array, GL_EXT_texture_buffer_object,
GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map,
GL_EXT_texture_env_add, GL_EXT_texture_env_combine,
GL_EXT_texture_filter_anisotropic, GL_EXT_texture_lod_bias,
GL_EXT_texture_object, GL_EXT_texture_rectangle, GL_EXT_timer_query,
GL_EXT_vertex_array, GL_NV_texture_rectangle, GL_SGIS_generate_mipmap,
GL_SGIS_texture_lod, GL_SGI_color_matrix, WGL_ARB_extensions_string,
WGL_EXT_extensions_string, WGL_EXT_swap_control
trunkz
 
Posts: 14
Joined: Mon Mar 19, 2018 12:07 am

Re: Kodi Krypton on Wandboard

Postby ClayMontgomery » Sun Apr 08, 2018 5:27 pm

What is unique about those Vertex Array functions is that they are new in OpenGL ES 3.0 and don't exist in 2.0. So, I think the version of Kodi you are building requires OpenGL ES 3.0, but you are linking to an older 2.0 driver module that does not have those functions. Vivante updated their OpenGL ES driver from 2.0 only to 2.0/3.0 about 2 years ago. I think this happened with the Fido release of Yocto (1.8).

There is an archive of Vivante packages here:
http://downloads.yoctoproject.org/mirro ... ta-hfp.bin
http://downloads.yoctoproject.org/mirro ... .3-hfp.bin

When you get Kodi Krypton running on the Wandboard, I would like to help you test it!

Regards, Clay
ClayMontgomery
 
Posts: 87
Joined: Tue Nov 19, 2013 9:14 pm

Re: Kodi Krypton on Wandboard

Postby trunkz » Sun Apr 08, 2018 7:51 pm

Awesome thank you Clay!

ok so i got the bin files, but am not sure how to install them. Of course I was able to extract everything in both bin files

do i simply toss it all in /usr/local/ and create some links ln -s to where all my older drivers were?

Again, thank you!
trunkz
 
Posts: 14
Joined: Mon Mar 19, 2018 12:07 am


Return to Software - XBMC

Who is online

Users browsing this forum: No registered users and 6 guests

cron