Xwayland

Pekka Paalanen ppaalanen at gmail.com
Thu Sep 5 07:55:10 UTC 2019


On Tue, 3 Sep 2019 18:00:02 +0000 (UTC)
Jd Lyons <lyons_dj at yahoo.com> wrote:

> I'm trying to run Xwayland within weston without Xorg running, I just
> want to be able to run Weston/Wayland and be able to run X11 apps
> within. The trouble I am having is Xwayland won't run any X11 apps
> outside of just running Weston within X11. I'm a little confused
> about how to go about this and if I should be using /usr/bin/Xwayland
> or the xwayland.so?

Hi,

you need both. xwayland.so is the Weston plugin that will automatically
execute /usr/bin/Xwayland when the first X11 app attempts to connect.

> Here is what happens when I use weston-launch from VT2 without /usr/bin/Xwayland:

As above, it cannot work without Xwayland.


> And when I install Xwayland and stop Xorg from running I get:

> Date: 2019-09-03 EDT
> [13:36:03.974] weston 6.0.1
>                https://wayland.freedesktop.org
>                Bug reports to: https://gitlab.freedesktop.org/wayland/weston/issues/
>                Build: 6.0.1
> [13:36:03.975] Command line: /usr/bin/weston --log=wl2.log --xwayland
> [13:36:03.975] OS: Linux, 4.16.0-1-powerpc64, #1 SMP Debian 4.16.5-1 (2018-04-29), ppc64
> [13:36:03.994] Starting with no config file.
> [13:36:04.003] Output repaint window is 7 ms maximum.
> [13:36:04.046] Loading module '/usr/lib/powerpc64-linux-gnu/libweston-6/drm-backend.so'

PPC64, is this a little-endian or a big-endian architecture?

> [13:36:04.137] initializing drm backend
> [13:36:04.142] logind: session control granted
> [13:36:04.145] using /dev/dri/card0
> [13:36:04.146] DRM: supports universal planes
> [13:36:04.146] DRM: does not support atomic modesetting
> [13:36:04.146] DRM: does not support picture aspect ratio
> [13:36:04.162] Loading module '/usr/lib/powerpc64-linux-gnu/libweston-6/gl-renderer.so'
> [13:36:06.983] EGL client extensions: EGL_EXT_device_base
>                EGL_EXT_device_enumeration EGL_EXT_device_query
>                EGL_EXT_platform_base EGL_KHR_client_get_all_proc_addresses
>                EGL_EXT_client_extensions EGL_KHR_debug
>                EGL_EXT_platform_wayland EGL_EXT_platform_x11
>                EGL_MESA_platform_gbm EGL_MESA_platform_surfaceless
> [13:36:06.984] EGL version: 1.4
> [13:36:06.984] EGL vendor: Mesa Project
> [13:36:06.984] EGL client APIs: OpenGL OpenGL_ES 
> [13:36:06.984] EGL extensions: EGL_EXT_buffer_age EGL_EXT_image_dma_buf_import
>                EGL_KHR_cl_event2 EGL_KHR_config_attribs EGL_KHR_create_context
>                EGL_KHR_create_context_no_error EGL_KHR_fence_sync
>                EGL_KHR_get_all_proc_addresses EGL_KHR_gl_renderbuffer_image
>                EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image
>                EGL_KHR_gl_texture_cubemap_image EGL_KHR_image
>                EGL_KHR_image_base EGL_KHR_image_pixmap
>                EGL_KHR_no_config_context EGL_KHR_reusable_sync
>                EGL_KHR_surfaceless_context EGL_EXT_pixel_format_float
>                EGL_KHR_wait_sync EGL_MESA_configless_context
>                EGL_MESA_drm_image EGL_MESA_image_dma_buf_export
>                EGL_WL_bind_wayland_display
> [13:36:06.985] warning: Disabling render GPU timeline and explicit synchronization due to missing EGL_ANDROID_native_fence_sync extension
> [13:36:06.985] EGL_KHR_surfaceless_context available
> [13:36:07.292] GL version: OpenGL ES 2.0 Mesa 19.1.4
> [13:36:07.292] GLSL version: OpenGL ES GLSL ES 1.0.16
> [13:36:07.292] GL vendor: nouveau
> [13:36:07.292] GL renderer: NV43

Nouveau, ok.

> [13:36:07.292] GL extensions: GL_EXT_blend_minmax GL_EXT_multi_draw_arrays
>                GL_EXT_texture_filter_anisotropic
>                GL_EXT_texture_compression_s3tc GL_EXT_texture_compression_dxt1
>                GL_EXT_texture_format_BGRA8888 GL_OES_depth24
>                GL_OES_element_index_uint GL_OES_fbo_render_mipmap
>                GL_OES_mapbuffer GL_OES_rgb8_rgba8 GL_OES_stencil8
>                GL_OES_texture_3D GL_OES_texture_npot GL_OES_vertex_half_float
>                GL_OES_EGL_image GL_OES_depth_texture
>                GL_OES_packed_depth_stencil GL_NV_conditional_render
>                GL_OES_get_program_binary GL_APPLE_texture_max_level
>                GL_EXT_discard_framebuffer GL_EXT_read_format_bgra
>                GL_EXT_frag_depth GL_NV_fbo_color_attachments
>                GL_OES_EGL_image_external GL_OES_EGL_sync
>                GL_OES_vertex_array_object GL_ANGLE_texture_compression_dxt3
>                GL_ANGLE_texture_compression_dxt5
>                GL_EXT_occlusion_query_boolean GL_EXT_unpack_subimage
>                GL_NV_draw_buffers GL_NV_read_buffer GL_NV_read_depth
>                GL_NV_read_depth_stencil GL_NV_read_stencil GL_EXT_draw_buffers
>                GL_EXT_map_buffer_range GL_KHR_debug
>                GL_OES_required_internalformat GL_OES_surfaceless_context
>                GL_EXT_separate_shader_objects GL_EXT_draw_elements_base_vertex
>                GL_EXT_texture_border_clamp GL_KHR_context_flush_control
>                GL_OES_draw_elements_base_vertex GL_OES_texture_border_clamp
>                GL_KHR_no_error GL_EXT_disjoint_timer_query
>                GL_EXT_texture_compression_s3tc_srgb
>                GL_KHR_parallel_shader_compile GL_EXT_depth_clamp
> [13:36:07.292] GL ES 2 renderer features:
>                read-back format: BGRA
>                wl_shm sub-image to texture: yes
>                EGL Wayland extension: yes
> [13:36:07.344] event0  - Microsoft Microsoft® 2.4GHz Transceiver v7.0: is tagged by udev as: Keyboard
> [13:36:07.344] event0  - Microsoft Microsoft® 2.4GHz Transceiver v7.0: device is a keyboard
> [13:36:07.351] event1  - Microsoft Microsoft® 2.4GHz Transceiver v7.0: is tagged by udev as: Keyboard Mouse
> [13:36:07.352] event1  - Microsoft Microsoft® 2.4GHz Transceiver v7.0: device is a pointer
> [13:36:07.352] event1  - Microsoft Microsoft® 2.4GHz Transceiver v7.0: device is a keyboard
> [13:36:07.358] event2  - Microsoft Microsoft® 2.4GHz Transceiver v7.0: is tagged by udev as: Keyboard
> [13:36:07.359] event2  - Microsoft Microsoft® 2.4GHz Transceiver v7.0: device is a keyboard
> [13:36:07.365] event3  - HID 05ac:1000: is tagged by udev as: Keyboard
> [13:36:07.366] event3  - HID 05ac:1000: device is a keyboard
> [13:36:07.429] event4  - HID 05ac:1000: is tagged by udev as: Mouse
> [13:36:07.430] event4  - HID 05ac:1000: device is a pointer
> [13:36:07.588] libinput: configuring device "Microsoft Microsoft® 2.4GHz Transceiver v7.0".
> [13:36:07.588] libinput: configuring device "Microsoft Microsoft® 2.4GHz Transceiver v7.0".
> [13:36:07.588] libinput: configuring device "Microsoft Microsoft® 2.4GHz Transceiver v7.0".
> [13:36:07.588] libinput: configuring device "HID 05ac:1000".
> [13:36:07.588] libinput: configuring device "HID 05ac:1000".
> [13:36:07.621] DRM: head 'DVI-I-1' found, connector 38 is connected, EDID make 'DEL', model 'DELL 1704FPT', serial 'Y42994B1AAHK'
> [13:36:07.661] DRM: head 'DVI-I-2' found, connector 41 is disconnected.
> [13:36:07.662] Registered plugin API 'weston_drm_output_api_v1' of size 24
> [13:36:07.662] Registered plugin API 'weston_drm_virtual_output_api_v1' of size 48
> [13:36:07.662] Chosen EGL config details:
>                RGBA bits: 8 8 8 0
>                swap interval range: 1 - 1
> [13:36:07.662] Output DVI-I-1 (crtc 35) video modes:
>                1280x1024 at 60.0, preferred, current, 108.0 MHz
>                1280x1024 at 75.0, 135.0 MHz
>                1152x864 at 75.0, 108.0 MHz
>                1024x768 at 75.0, 78.8 MHz
>                1024x768 at 60.0, 65.0 MHz
>                800x600 at 75.0, 49.5 MHz
>                800x600 at 60.3, 40.0 MHz
>                640x480 at 75.0, 31.5 MHz
>                640x480 at 59.9, 25.2 MHz
>                720x400 at 70.1, 28.3 MHz
> [13:36:07.662] associating input device event0 with output DVI-I-1 (none by udev)
> [13:36:07.662] associating input device event1 with output DVI-I-1 (none by udev)
> [13:36:07.662] associating input device event2 with output DVI-I-1 (none by udev)
> [13:36:07.662] associating input device event3 with output DVI-I-1 (none by udev)
> [13:36:07.662] associating input device event4 with output DVI-I-1 (none by udev)
> [13:36:07.662] Output 'DVI-I-1' enabled with head(s) DVI-I-1
> [13:36:07.662] Compositor capabilities:
>                arbitrary surface rotation: yes
>                screen capture uses y-flip: yes
>                presentation clock: CLOCK_MONOTONIC, id 1
>                presentation clock resolution: 0.000000001 s
> [13:36:07.711] Loading module '/usr/lib/powerpc64-linux-gnu/weston/desktop-shell.so'
> [13:36:07.771] launching '/usr/lib/powerpc64-linux-gnu/weston-keyboard'
> [13:36:07.828] Loading module '/usr/lib/powerpc64-linux-gnu/libweston-6/xwayland.so'
> [13:36:08.092] Registered plugin API 'weston_xwayland_v1' of size 32
> [13:36:08.092] Registered plugin API 'weston_xwayland_surface_v1' of size 16
> [13:36:08.093] xserver listening on display :0
> [13:36:08.093] launching '/usr/lib/powerpc64-linux-gnu/weston-desktop-shell'
> [13:36:19.992] Spawned Xwayland server, pid 620
> [13:36:20.722] xserver crashing too fast: 4
> 
> Anyone know how I can get this working, why I'm getting the Xserver crashing too fast error?

You seem to be doing it right here, it just doesn't work.

If you redirect weston's both stdout and stderr to a file, you might
catch more messages from Xwayland which would hopefully shed more light
to why it seems to crash.

I have to say that PPC64 + Nouveau is probably a very little tested
combination. If your system happens to be also big-endian, I would
actually be expecting it to fail somehow since I don't think any
developer has such a setup to care of and BE is known to be potentially
troubled.

Does Xorg work by any chance?


Thanks,
pq
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/wayland-devel/attachments/20190905/df00a6ee/attachment.sig>


More information about the wayland-devel mailing list