<HTML>
<HEAD>
<META content="text/html; charset=utf-8" http-equiv=Content-Type>
<META content="OPENWEBMAIL" name=GENERATOR>
</HEAD>
<BODY bgColor=#ffffff>

<div>Hello,</div>

<div>
<br /></div>

<div>To be honest, I am not picking parts of Weston from different sources. I have used Weston 2.0.0 official release from [LINK] <b><a href="https://wayland.freedesktop.org/releases.html">https://wayland.freedesktop.org/releases.html</a>
<br /></b></div>

<div>And regarding the missing case of <b>xwayland.so </b>from /usr/lib/libweston-2/ path, even I was surprised that how vendor has patched Weston and customized it with --enable-xwayland=no</div>

<div>
<br /></div>

<div>I have tried contacting to vendor several times regarding xwayland/X11 support, but they don't entertain such requests/questions by claiming that they don't support X11 in their current Linux</div>

<div>SDK version. But I was optimistic that Weston could be run with xwayland on this EVM. And after adding some final dependencies, I think it's good now. I have attached copied logs at the end of this email.</div>

<div>
<br /></div>

<div>However, I wanted to ask if there are some sample X-clients/applications which I could run to check if <b>weston+xwayland</b> is really working or not. I tried to cross-compile <b>xeyes</b> for <b>armhf</b> and tried to run it, 
<br /></div>

<div>but it showed following error:</div>

<div>
<br /></div>

<div>root@am57xx-evm:/mnt# ./xeyes 
<br />Error: Can't open display: 
<br />
<br /></div>

<div>Am I missing something else here, that is required to run X-apps? Any Environment Variable or so?</div>

<div>Appreciate your help.</div>

<div>
<br /></div>

<div>Thanks,</div>

<div>Devashish</div>

<div>
<br /></div>

<div>--------------------------------WESTON LOGS START--------------------------------------------------------------------------------</div>

<div>Date: 2019-04-06 UTC
<br />[02:43:02.518] weston 2.0.0
<br />               http://wayland.freedesktop.org
<br />               Bug reports to: https://bugs.freedesktop.org/enter_bug.cgi?product=Wayland&component=weston&version=2.0.0
<br />               Build: 1.99.94-2-g4c4f13d configure.ac: bump to version 2.0.0 for the official release (2017-02-24 16:19:03 -0800)
<br />[02:43:02.518] Command line: weston --idle-time=0
<br />[02:43:02.518] OS: Linux, 4.14.79-ge669d52447, #1 SMP PREEMPT Sat Apr 6 02:23:36 UTC 2019, armv7l
<br />[02:43:02.518] Using config file '/etc//weston.ini'
<br />[02:43:02.519] Output repaint window is 7 ms maximum.
<br />[02:43:02.519] Loading module '/usr/lib/libweston-2/drm-backend.so'
<br />[02:43:02.520] initializing drm backend
<br />[02:43:02.521] using /dev/dri/card0
<br />[02:43:02.521] Loading module '/usr/lib/libweston-2/gl-renderer.so'
<br />failed to load module: /usr/lib/gbm/gbm_dri.so: cannot open shared object file: No such file or directory
<br />failed to load module: /usr/lib/gbm/gbm_gallium_drm.so: cannot open shared object file: No such file or directory
<br />loaded module : gbm_pvr.so
<br />found valid GBM backend : gbm_pvr.so
<br />[02:43:02.526] warning: either no EGL_EXT_platform_base support or specific platform support; falling back to eglGetDisplay.
<br />[02:43:02.531] warning: EGL_EXT_buffer_age not supported. Performance could be affected.
<br />[02:43:02.531] warning: neither EGL_EXT_swap_buffers_with_damage or EGL_KHR_swap_buffers_with_damage is supported. Performance could be affected.
<br />[02:43:02.531] Retrieving EGL client extension string failed.
<br />[02:43:02.531] EGL_KHR_surfaceless_context available
<br />[02:43:02.535] EGL version: 1.4 build 1.14@3699939 (MAIN)
<br />[02:43:02.535] EGL vendor: Imagination Technologies
<br />[02:43:02.535] EGL client APIs: OpenGL_ES 
<br />[02:43:02.535] EGL extensions: EGL_IMG_client_api_ogl EGL_KHR_image
<br />               EGL_KHR_image_base EGL_KHR_gl_texture_2D_image
<br />               EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image
<br />               EGL_KHR_vg_parent_image EGL_IMG_cl_image EGL_KHR_fence_sync
<br />               EGL_IMG_context_priority EGL_IMG_hibernate_process
<br />               EGL_IMG_image_plane_attribs EGL_KHR_surfaceless_context
<br />               EGL_KHR_wait_sync EGL_KHR_create_context
<br />               EGL_WL_bind_wayland_display EGL_EXT_image_dma_buf_import
<br />[02:43:02.535] GL version: OpenGL ES 2.0 build 1.14@3699939 (MAIN)
<br />[02:43:02.535] GLSL version: OpenGL ES GLSL ES 1.00 build 1.14@3699939 (MAIN)
<br />[02:43:02.535] GL vendor: Imagination Technologies
<br />[02:43:02.535] GL renderer: PowerVR SGX 544MP
<br />[02:43:02.535] GL extensions: GL_OES_rgb8_rgba8 GL_OES_depth24
<br />               GL_OES_vertex_half_float GL_OES_texture_float
<br />               GL_OES_texture_half_float GL_OES_element_index_uint
<br />               GL_OES_mapbuffer GL_OES_fragment_precision_high
<br />               GL_OES_compressed_ETC1_RGB8_texture GL_OES_EGL_image
<br />               GL_OES_EGL_image_external GL_OES_required_internalformat
<br />               GL_OES_depth_texture GL_OES_get_program_binary
<br />               GL_OES_packed_depth_stencil GL_OES_standard_derivatives
<br />               GL_OES_vertex_array_object GL_OES_egl_sync GL_OES_texture_npot
<br />               GL_OES_surfaceless_context GL_EXT_discard_framebuffer
<br />               GL_EXT_blend_minmax GL_EXT_multi_draw_arrays
<br />               GL_EXT_multisampled_render_to_texture GL_EXT_shader_texture_lod
<br />               GL_EXT_texture_format_BGRA8888 GL_EXT_occlusion_query_boolean
<br />               GL_EXT_texture_rg GL_EXT_draw_buffers
<br />               GL_EXT_shader_framebuffer_fetch GL_IMG_shader_binary
<br />               GL_IMG_texture_compression_pvrtc
<br />               GL_IMG_texture_compression_pvrtc2 GL_IMG_texture_npot
<br />               GL_IMG_texture_format_BGRA8888 GL_IMG_read_format
<br />               GL_IMG_program_binary GL_IMG_uniform_buffer_object
<br />               GL_IMG_multisampled_render_to_texture GL_KHR_debug
<br />[02:43:02.535] GL ES 2 renderer features:
<br />               read-back format: RGBA
<br />               wl_shm sub-image to texture: no
<br />               EGL Wayland extension: yes
<br />[02:43:02.545] event1  - [02:43:02.545] pixcir_tangoc: [02:43:02.545] is tagged by udev as: Touchscreen
<br />[02:43:02.545] event1  - [02:43:02.546] pixcir_tangoc: [02:43:02.546] device is a touch device
<br />[02:43:02.547] event2  - [02:43:02.547] UVC Camera (046d:081b): [02:43:02.547] is tagged by udev as: Keyboard
<br />[02:43:02.547] event2  - [02:43:02.547] UVC Camera (046d:081b): [02:43:02.547] device is a keyboard
<br />[02:43:02.548] event0  - [02:43:02.548] gpio_keys: [02:43:02.548] is tagged by udev as: Keyboard
<br />[02:43:02.548] event0  - [02:43:02.548] gpio_keys: [02:43:02.548] device is a keyboard
<br />[02:43:02.563] Registered plugin API 'weston_drm_output_api_v1' of size 12
<br />[02:43:02.563] Chosen EGL config details:
<br />               RGBA bits: 8 8 8 8
<br />               swap interval range: 1 - 1
<br />[02:43:02.569] cursor buffers unavailable, using gl cursors
<br />[02:43:02.569] Failed to initialize backlight
<br />[02:43:02.569] Output UNNAMED-1, (connector 35, crtc 39)
<br />               mode 800x480@59.5, preferred, current
<br />[02:43:02.570] Applying calibration: 240.000000 -9.638554 -187104.578125 48.000000 -1.445783 -37293.683594 (normalized -233.880722 -77.695175)
<br />[02:43:02.570] Compositor capabilities:
<br />               arbitrary surface rotation: yes
<br />               screen capture uses y-flip: yes
<br />               presentation clock: CLOCK_MONOTONIC, id 1
<br />               presentation clock resolution: 0.000000001 s
<br />[02:43:02.570] Loading module '/usr/lib/weston/desktop-shell.so'
<br />[02:43:02.571] launching '/usr/libexec/weston-keyboard'
<br />[02:43:02.573] Loading module '/usr/lib/libweston-2/xwayland.so'
<br />[02:43:02.587] Registered plugin API 'weston_xwayland_v1' of size 16
<br />[02:43:02.587] Registered plugin API 'weston_xwayland_surface_v1' of size 8
<br />[02:43:02.587] xserver listening on display :0
<br />[02:43:02.587] launching '/usr/libexec/weston-desktop-shell'
<br />could not load cursor 'dnd-move'
<br />could not load cursor 'dnd-copy'
<br />could not load cursor 'dnd-none'
<br />could not load cursor 'dnd-move'
<br />could not load cursor 'dnd-copy'
<br />could not load cursor 'dnd-none'
<br />xkbcommon: ERROR: couldn't find a Compose file for locale "C"</div>

<div>
<br /></div>

<div>------------------------------------WESTON LOG END----------------------------------------------------------------
<br /></div>

<div>
<br /></div>

<div>
<br /></div>

<div>
<br /></div>

<div>
<br /></div>

<div><font size="2"><b>On Fri, 29 Nov 2019 14:09:23 +0200, Pekka Paalanen wrote</b></font></div>
<font size="2">On Fri, 29 
Nov 2019 16:25:34 +0530 
<br /> 

"Devashish Tiwari" <devashish@cdot.in> wrote: 
<br /> 
<br /> 

> Hello, 
<br /> 

>  
<br /> 

> Thanks for the lead regarding LD_LIBRARY_PATH. It seemed like EGL 
<br /> 

> libraries were missing when I did /etc/init.d/weston restart. 
<br /> 

>  
<br /> 

> I modified the LD_LIBRARY_PATH in /etc/environment file and EGL 
<br /> 

> errors were gone. 
<br /> 

>  
<br /> 

> Next there was an error regarding /usr/lib/libweston-2/xwayland.so 
<br /> 

> was missing. The weston provided in my linux-SDK by the vendor was 
<br /> 

> not compiled with --enable-xwayland and therefore this library was 
<br /> 

> missing. 
<br /> 

>  
<br /> 

> I had to download weston-2.0.0 and recompile it with 
<br /> 

> --enable-xwayland flag just to get xwayland.so, and copied it 
<br /> 

> to /usr/lib/libweston-2/ path. 
<br /> 
<br /> 

Hi, 
<br /> 
<br /> 

please do not pick parts of Weston from here and there, there is no 
<br /> 

stable ABI for in-tree plugins. Make sure to use *all* components of 
<br /> 

Weston from the same build. Even differing build options might cause 
<br /> 

things to not work, since we don't deliberately ensure it works. 
<br /> 
<br /> 

We have no idea of knowing how much some vendor has been patching 
<br /> 

Weston for their own needs. 
<br /> 
<br /> 

Use either the vendor sources, or upstream sources, but don't mix. 
<br /> 
<br /> 

>  
<br /> 

> I also copied some X11 based dependencies (libXau, libxcb-composite, 
<br /> 

> libxcb-X11 etc.) required by xwayland.so to /usr/lib/ path. 
<br /> 

>  
<br /> 

> After doing all this, when I do /etc/init.d/weston restart, I am 
<br /> 

> getting error regarding some cairo-xcb function, which I think is 
<br /> 

> present in libcairo.so file. I tried to cross-compile libcairo.so for 
<br /> 

> armhf architecture but there were some errors. 
<br /> 

>  
<br /> 

> All these compilation processes takes a lot of time, so I just want 
<br /> 

> to know if I'm on the right path to get the weston working 
<br /> 

> successfully with xwayland. 
<br /> 

>  
<br /> 
<br /> 

I suppose you are, but I don't know how you are doing your 
<br /> 

cross-building, so a lot could go wrong. It is also something I cannot 
<br /> 

help with. Just make sure you build everything you need in the correct 
<br /> 

order and do not mix-and-match host and target libraries, software 
<br /> 

versions between cross-build and installed ones, or anything. And don't 
<br /> 

leave stale binaries laying around in the installed system, you might 
<br /> 

accidentally load one of them. 
<br /> 
<br /> 

If the vendor is using Yocto or something like that, then I suggest you 
<br /> 

do too and reconfigure the build or modify the recipes as you need. 
<br /> 
<br /> 

I would also recommend using a more recent Weston if possible. 
<br /> 
<br /> 

Thanks, 
<br /> 

pq 
<br />
<br />
<br />--  

<br />
 
<br />
Thanks & Regards, 

<br />
 
<br />
Devashish Tiwari 

<br />
Fault Tolerance 

<br />
#8587 

<br />

<br />
</font>

</BODY>
</HTML>