Black screen when weston is launched

Hi,

I installed weston from X11:Wayland repository with this packages:

  • weston 1.1.1-1.1

  • libwayland-server0 1.1.0-23.

  • libwayland-egl1 1.0.0-248.1

  • libwayland-cursor0 1.1.0-23.1

  • libwayland-client0 1.1.0-23.1

  • Mesa 9.0.2-34.16.1

  • libcairo2 1.12.8-2.4.1

    But I get a black screen when I start weston from Terminal or start weston-launch from tty1.
    Looking for an error in the logs, I found that i965_dri.so missed in /usr/lib64/dri/updates. Unfortunately, it didn’t change anything to copy i965_dri.so from /usr/lib64/dri/.
    That’s what I get:


[09:53:40.944] weston 1.1.1
               http://wayland.freedesktop.org/
               Bug reports to: https://bugs.freedesktop.org/enter_bug.cgi?product=Wayland&component=weston&version=1.1.1
               Build:  
[09:53:40.944] OS: Linux, 3.7.10-1.16-desktop, #1 SMP PREEMPT Fri May 31 20:21:23 UTC 2013 (97c14ba), x86_64
[09:53:40.971] Loading module '/usr/lib64/weston/x11-backend.so'
[09:53:40.989] initializing x11 backend
[09:53:40.997] Using gl renderer
[09:53:40.997] launching '/usr/lib/weston-keyboard'
[09:53:41.001] XCB-XKB not available during build
[09:53:41.026] Chosen EGL config details:
               RGBA bits: 8 8 8 0
               swap interval range: 0 - 1000
[09:53:41.032] EGL version: 1.4 (DRI2)
[09:53:41.032] EGL vendor: Mesa Project
[09:53:41.032] EGL client APIs: OpenGL OpenGL_ES OpenGL_ES2 
[09:53:41.032] EGL extensions: EGL_MESA_drm_image EGL_KHR_image_base
               EGL_KHR_image_pixmap EGL_KHR_image
               EGL_KHR_gl_renderbuffer_image EGL_KHR_surfaceless_context
               EGL_KHR_create_context EGL_NOK_swap_region
               EGL_NOK_texture_from_pixmap EGL_NV_post_sub_buffer
[09:53:41.032] GL version: OpenGL ES 2.0 Mesa 9.0.2
[09:53:41.032] GLSL version: OpenGL ES GLSL ES 1.0.16
[09:53:41.032] GL vendor: Intel Open Source Technology Center
[09:53:41.032] GL renderer: Mesa DRI Intel(R) Ivybridge Mobile 
[09:53:41.032] GL extensions: GL_EXT_blend_minmax GL_EXT_multi_draw_arrays
               GL_EXT_texture_filter_anisotropic
               GL_EXT_texture_format_BGRA8888
               GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth24
               GL_OES_element_index_uint GL_OES_fbo_render_mipmap
               GL_OES_mapbuffer GL_OES_rgb8_rgba8 GL_OES_standard_derivatives
               GL_OES_stencil8 GL_OES_texture_3D GL_OES_texture_npot
               GL_OES_EGL_image GL_OES_depth_texture
               GL_OES_packed_depth_stencil GL_EXT_texture_type_2_10_10_10_REV
               GL_APPLE_texture_max_level GL_EXT_read_format_bgra
               GL_NV_fbo_color_attachments GL_OES_vertex_array_object
               GL_EXT_texture_rg GL_EXT_unpack_subimage GL_NV_draw_buffers
               GL_NV_read_buffer
[09:53:41.032] warning: EGL_EXT_buffer_age not supported. Performance could be affected.
[09:53:41.093] GL ES 2 renderer features:
               read-back format: BGRA
               wl_shm sub-image to texture: yes
               EGL Wayland extension: no
[09:53:41.093] x11 output 1024x640, window id 46137349
[09:53:41.123] Loading module '/usr/lib64/weston/desktop-shell.so'
[09:53:41.124] libwayland: using socket /run/user/1000/wayland-0
[09:53:41.125] launching '/usr/lib/weston-desktop-shell'
[09:53:41.126] libwayland: disconnect from client 0x1edca30
[09:53:41.126] input_method died, respawning...
[09:53:41.126] launching '/usr/lib/weston-keyboard'
[09:53:41.129] libwayland: disconnect from client 0x2074ef0
[09:53:41.129] input_method died, respawning...
[09:53:41.129] launching '/usr/lib/weston-keyboard'
[09:53:41.135] libwayland: disconnect from client 0x2074db0
[09:53:41.135] input_method died, respawning...
[09:53:41.135] launching '/usr/lib/weston-keyboard'
[09:53:41.138] libwayland: disconnect from client 0x2073870
[09:53:41.138] input_method died, respawning...

Now I don’t know how to solve this issue.
Any idea ?

Thanks!

The version of the openSUSE you use is missing.

The Mesa and cairo packages in the X11:Wayland repo have higher versions than you listed, you seem to have the 12.3 versions.
The repo contains:

  • Mesa-9.1.3-248.1
  • libcairo2-1.2.14-78.1

Maybe you should upgrade those to the versions in the repo?
Best would be this I guess:

zypper dup --from X11:Wayland

(replace X11:Wayland with the name of your wayland repo)

But I have no idea if those packages are even in a workable state or how to get weston to run…

An easier way to play around with it might be to try out this Live image distro: RebeccaBlackOS | Free software downloads at SourceForge.net

(I’m pretty sure it uses Weston … I’m not aware of any other compositor being ready yet) … in any regard, its now based upon a pure Wayland experience (i.e. no XWayland running atop)

You’ll also need to set setuid bits to weston-launch, (the similar procedure as for when one want’s to use startx)

That is not relevant, our Mesa package has /updates dir first, then the usual one
(–with-dri-searchpath=/usr/%{_lib}/dri/updates:/usr/%{_lib}/dri )
(try LIBGL_DEBUG=verbose glxinfo if in doubt ;))

@wolfi323:
I made a zypper dup and it tells me that Mesa-libGL1-9.0.2-34.16.1.x86_64 requires Mesa 9.0.2-34.3.1, but my Mesa is 9.0.2-34.16.1. I don’t understand why libGL1-9.0.2-34.16.1 would need an older version of Mesa, but my problem surely comes from that.

@Tyler_K:
I’ll take a look :wink:

@sumski:
Fixing the setuid did not change the situation:


[14:33:14.816] weston 1.1.1
               http://wayland.freedesktop.org/
               Bug reports to: https://bugs.freedesktop.org/enter_bug.cgi?product=Wayland&component=weston&version=1.1.1
               Build:  
[14:33:14.816] OS: Linux, 3.7.10-1.16-desktop, #1 SMP PREEMPT Fri May 31 20:21:23 UTC 2013 (97c14ba), x86_64
[14:33:14.817] Loading module '/usr/lib64/weston/x11-backend.so'
[14:33:14.820] initializing x11 backend
[14:33:14.830] Using gl renderer
[14:33:14.830] launching '/usr/lib/weston-keyboard'
[14:33:14.835] XCB-XKB not available during build
[14:33:14.835] Chosen EGL config details:
               RGBA bits: 8 8 8 0
               swap interval range: 0 - 1000
[14:33:14.847] EGL version: 1.4 (DRI2)
[14:33:14.847] EGL vendor: Mesa Project
[14:33:14.847] EGL client APIs: OpenGL OpenGL_ES OpenGL_ES2
[14:33:14.847] EGL extensions: EGL_MESA_drm_image EGL_KHR_image_base
               EGL_KHR_image_pixmap EGL_KHR_image
               EGL_KHR_gl_renderbuffer_image EGL_KHR_surfaceless_context
               EGL_KHR_create_context EGL_NOK_swap_region
               EGL_NOK_texture_from_pixmap EGL_NV_post_sub_buffer
[14:33:14.847] GL version: OpenGL ES 2.0 Mesa 9.0.2
[14:33:14.847] GLSL version: OpenGL ES GLSL ES 1.0.16
[14:33:14.847] GL vendor: Intel Open Source Technology Center
[14:33:14.847] GL renderer: Mesa DRI Intel(R) Ivybridge Mobile
[14:33:14.847] GL extensions: GL_EXT_blend_minmax GL_EXT_multi_draw_arrays
               GL_EXT_texture_filter_anisotropic
               GL_EXT_texture_format_BGRA8888
               GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth24
               GL_OES_element_index_uint GL_OES_fbo_render_mipmap
               GL_OES_mapbuffer GL_OES_rgb8_rgba8 GL_OES_standard_derivatives
               GL_OES_stencil8 GL_OES_texture_3D GL_OES_texture_npot
               GL_OES_EGL_image GL_OES_depth_texture
               GL_OES_packed_depth_stencil GL_EXT_texture_type_2_10_10_10_REV
               GL_APPLE_texture_max_level GL_EXT_read_format_bgra
               GL_NV_fbo_color_attachments GL_OES_vertex_array_object
               GL_EXT_texture_rg GL_EXT_unpack_subimage GL_NV_draw_buffers
               GL_NV_read_buffer
[14:33:14.847] warning: EGL_EXT_buffer_age not supported. Performance could be affected.
[14:33:14.864] GL ES 2 renderer features:
               read-back format: BGRA
               wl_shm sub-image to texture: yes
               EGL Wayland extension: no
[14:33:14.864] x11 output 1024x640, window id 65011717
[14:33:14.864] Loading module '/usr/lib64/weston/desktop-shell.so'
[14:33:14.864] libwayland: using socket /run/user/0/wayland-0
[14:33:14.869] launching '/usr/lib/weston-desktop-shell'
[14:33:14.870] libwayland: disconnect from client 0xc29ae0
[14:33:14.870] input_method died, respawning...
[14:33:14.870] launching '/usr/lib/weston-keyboard'
[14:33:14.873] libwayland: disconnect from client 0xda0190
[14:33:14.873] weston-desktop-shell died, respawning...
[14:33:14.873] launching '/usr/lib/weston-desktop-shell'
[14:33:14.875] libwayland: disconnect from client 0xd78c60
[14:33:14.875] input_method died, respawning...
[14:33:14.875] launching '/usr/lib/weston-keyboard'
[14:33:14.876] libwayland: disconnect from client 0xdb7d00
[14:33:14.876] weston-desktop-shell died, respawning...
[14:33:14.876] launching '/usr/lib/weston-desktop-shell'
[14:33:14.878] libwayland: disconnect from client 0xda5a00
[14:33:14.879] input_method died, respawning...
[14:33:14.879] launching '/usr/lib/weston-keyboard'
[14:33:14.883] libwayland: disconnect from client 0xdc6e20
[14:33:14.883] libwayland: disconnect from client 0xda5ed0
[14:33:14.883] weston-desktop-shell died, respawning...
[14:33:14.883] launching '/usr/lib/weston-desktop-shell'
[14:33:14.886] libwayland: disconnect from client 0xda56b0
[14:33:14.886] input_method died, respawning...

Hm? Why would the package Mesa-libGL1-9.0.2-34.16.1 require Mesa 9.0.2-34.3.1?
In fact, Mesa-libGL1-9.0.2-34.16.1 just requires Mesa = 9.0.2! And there actually is Mesa-libGL1-9.1.4-251.1 (and Mesa-9.1.4-251.1) in that repo now.

So could you please post the exact dependency error message? And maybe the output of “zypper lr -d”.

As wolfi wrote, make sure you have the right Mesa. 9.0 is a) maybe too old, b) maybe missing egl gallium
Weston definitely works here (though with Factory, and Mesa 9.2.0-devel):

weston
Date: 2013-07-03 CEST
[15:18:38.000] weston 1.1.1
               http://wayland.freedesktop.org/
               Bug reports to: https://bugs.freedesktop.org/enter_bug.cgi?product=Wayland&component=weston&version=1.1.1
               Build:  
[15:18:38.000] OS: Linux, 3.10.0-1.gf080c74-desktop, #1 SMP PREEMPT Mon Jul 1 01:49:16 UTC 2013 (f080c74), x86_64
couldn't open /home/hrvoje/.config/weston.ini
[15:18:38.094] Loading module '/usr/lib64/weston/x11-backend.so'
couldn't open /home/hrvoje/.config/weston.ini
[15:18:38.172] initializing x11 backend
couldn't open /home/hrvoje/.config/weston.ini
couldn't open /home/hrvoje/.config/weston.ini
[15:18:39.302] Using gl renderer
[15:18:39.302] launching '/usr/lib/weston-keyboard'
[15:18:39.648] XCB-XKB not available during build
[15:18:39.659] Chosen EGL config details:
               RGBA bits: 8 8 8 0
               swap interval range: 0 - 0
[15:18:39.820] EGL version: 1.4 (Gallium)
[15:18:39.821] EGL vendor: Mesa Project
[15:18:39.821] EGL client APIs: OpenGL OpenGL_ES OpenGL_ES2 
[15:18:39.821] EGL extensions: EGL_WL_bind_wayland_display EGL_KHR_image_base
               EGL_KHR_image_pixmap EGL_KHR_image EGL_KHR_reusable_sync
               EGL_KHR_fence_sync EGL_KHR_surfaceless_context
               EGL_NOK_swap_region EGL_NV_post_sub_buffer
[15:18:39.821] GL version: OpenGL ES 3.0 Mesa 9.2.0-devel
[15:18:39.821] GLSL version: OpenGL ES GLSL ES 3.0
[15:18:39.821] GL vendor: X.Org
[15:18:39.821] GL renderer: Gallium 0.4 on AMD RV635
[15:18:39.821] GL extensions: GL_EXT_blend_minmax GL_EXT_multi_draw_arrays
               GL_EXT_texture_filter_anisotropic
               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_standard_derivatives
               GL_OES_stencil8 GL_OES_texture_3D GL_OES_texture_npot
               GL_OES_EGL_image GL_OES_depth_texture
               GL_OES_packed_depth_stencil GL_EXT_texture_type_2_10_10_10_REV
               GL_OES_get_program_binary GL_APPLE_texture_max_level
               GL_EXT_discard_framebuffer GL_EXT_read_format_bgra
               GL_NV_fbo_color_attachments GL_OES_EGL_image_external
               GL_OES_vertex_array_object GL_EXT_texture_rg
               GL_EXT_unpack_subimage GL_NV_draw_buffers GL_NV_read_buffer
               GL_EXT_map_buffer_range GL_OES_depth_texture_cube_map
               GL_EXT_color_buffer_float
[15:18:39.821] warning: EGL_EXT_buffer_age not supported. Performance could be affected.
[15:18:39.905] GL ES 2 renderer features:
               read-back format: BGRA
               wl_shm sub-image to texture: yes
               EGL Wayland extension: yes
[15:18:39.906] x11 output 1024x640, window id 52428805
[15:18:39.914] Loading module '/usr/lib64/weston/desktop-shell.so'
couldn't open /home/hrvoje/.config/weston.ini
[15:18:39.916] libwayland: using socket /run/user/1000/wayland-0
[15:18:39.962] launching '/usr/lib/weston-desktop-shell'
proxy already has listener
proxy already has listener
couldn't open /home/hrvoje/.config/weston.ini
couldn't open /home/hrvoje/.config/weston.ini
couldn't open /home/hrvoje/.config/weston.ini
couldn't open /home/hrvoje/.config/weston.ini

Results of zypper dup --from X11:Wayland:


3 Problems:
Problem: glamor-0.5-3.1.3.x86_64 requires Mesa-libGL1 = 9.0.2, but this requirement cannot be provided
Problem: Mesa-libGL1-9.0.2-34.16.1.x86_64 requires Mesa = 9.0.2, but this requirement cannot be provided
Problem: Mesa-libGL1-9.0.2-34.16.1.x86_64 requires Mesa = 9.0.2, but this requirement cannot be provided

Problem: glamor-0.5-3.1.3.x86_64 requires Mesa-libGL1 = 9.0.2, but this requirement cannot be provided
 uninstallable providers: Mesa-libGL1-9.0.2-34.3.1.i586[repo-oss]
                   Mesa-libGL1-9.0.2-34.3.1.x86_64[repo-oss]
Solution 1: deinstallation of glamor-0.5-3.1.3.x86_64
Solution 2: keep obsolete product: Mesa-libGL1-9.0.2-34.16.1.x86_64
Solution 3: keep obsolete product: Mesa-libGL1-9.0.2-34.16.1.x86_64
Solution 4: break glamor-0.5-3.1.3.x86_64 by ignoring some of its dependencies

Choose from above solutions by number or skip, retry or cancel [1/2/3/4/s/r/a] (a): 2

Problem: Mesa-libGL1-9.0.2-34.16.1.x86_64 requires Mesa = 9.0.2, but this requirement cannot be provided
 uninstallable providers: Mesa-9.0.2-34.3.1.i586[repo-oss]
                   Mesa-9.0.2-34.3.1.x86_64[repo-oss]
Solution 1: deinstallation of xf86-video-intel-2.20.19-2.1.1.x86_64
Solution 2: keep obsolete product: Mesa-9.0.2-34.16.1.x86_64
Solution 3: keep obsolete product: Mesa-9.0.2-34.16.1.x86_64
Solution 4: keep obsolete product: Mesa-9.0.2-34.16.1.x86_64
Solution 5: break Mesa-libGL1-9.0.2-34.16.1.x86_64 by ignoring some of its dependencies

Choose from above solutions by number or skip, retry or cancel [1/2/3/4/s/r/a] (a): a

and zypper lr -d:


# | Alias                     | Name                                | Enabled | Refresh | Priority | Type   | URI                                                                  | Service
--+---------------------------+------------------------------------+--------+------------+----------+--------+----------------------------------------------------------------------+--------
1 | X11:Wayland               | X11:Wayland                        | Yes    | Yes        |   99     | rpm-md | http://download.opensuse.org/repositories/X11:Wayland/openSUSE_12.3/ |        
2 | repo-debug                | openSUSE-12.3-Debug                | No    | Yes        |   99     | NONE   | http://download.opensuse.org/debug/distribution/12.3/repo/oss/       |        
3 | repo-debug-update         | openSUSE-12.3-Update-Debug         | No    | Yes        |   99     | NONE   | http://download.opensuse.org/debug/update/12.3/                      |        
4 | repo-debug-update-non-oss | openSUSE-12.3-Update-Debug-Non-Oss | No    | Yes        |   99     | NONE   | http://download.opensuse.org/debug/update/12.3-non-oss/              |        
5 | repo-non-oss              | openSUSE-12.3-Non-Oss              | Yes    | Yes        |   99     | yast2  | http://download.opensuse.org/distribution/12.3/repo/non-oss/         |        
6 | repo-oss                  | openSUSE-12.3-Oss                  | Yes    | Yes        |   99     | yast2  | http://download.opensuse.org/distribution/12.3/repo/oss/             |        
7 | repo-source               | openSUSE-12.3-Source               | No    | Yes        |   99     | NONE   | http://download.opensuse.org/source/distribution/12.3/repo/oss/      |        
8 | repo-update               | openSUSE-12.3-Update               | Yes    | Yes        |   99     | rpm-md | http://download.opensuse.org/update/12.3/                            |        
9 | repo-update-non-oss       | openSUSE-12.3-Update-Non-Oss       | Yes    | Yes        |   99     | rpm-md | http://download.opensuse.org/update/12.3-non-oss/  

I see. Well, obviously is the issue with glamor.
a) you force the dup, which could lead to broken glamor
b) you rebuild it locally, after the dup
I know that with Intel glamor is loaded by default, and can be disabled by removing/commenting out /etc/X11/xorg.conf.d/05-glamor.conf - no idea what consequences would that bring

Well, glamor needs the older Mesa, which is in turn needed by the Xorg intel driver.
So, in order to not destroy your Xorg system, I would suggest you add the X11:XOrg repo as well and upgrade Xorg and the intel driver/glamor to the versions from there (this repo also has Mesa-9.1.4):

sudo zypper ar http://download.opensuse.org/repositories/X11:/XOrg/openSUSE_12.3/ X11:XOrg
sudo zypper dup --from X11:XOrg
sudo zypper dup --from X11:Wayland

There should be no dependency conflicts then I hope.

Thanks a lot, wolfi323, this method works! :wink: