Bug 60608 - Weston x11 fullscreen mode doesn't set full resolution
Summary: Weston x11 fullscreen mode doesn't set full resolution
Status: RESOLVED FIXED
Alias: None
Product: Wayland
Classification: Unclassified
Component: weston (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Wayland bug list
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-02-10 20:04 UTC by nerdopolis1
Modified: 2013-02-15 18:02 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
patch adjusting output to x11 window size in fullscreen mode (1.65 KB, patch)
2013-02-12 18:01 UTC, Rafal Mielniczuk
Details | Splinter Review
print some debug stuff (1.58 KB, patch)
2013-02-12 20:23 UTC, Kristian Høgsberg
Details | Splinter Review
wait for first configure_notify after map_notify if we didn't get one (2.05 KB, patch)
2013-02-15 02:12 UTC, Kristian Høgsberg
Details | Splinter Review

Description nerdopolis1 2013-02-10 20:04:59 UTC
When a user specifies the fullscreen option under the compositor-x11 backend, it does not adapt to the full screen resolution, instead the X11 backend creates a black fullscreen rectangle, with the weston window at the default resolution the x11 backend has at the bottom lefthand corner of the screen.
Comment 1 Kristian Høgsberg 2013-02-11 16:56:55 UTC
Is this a 1.0.x problem or in master?  Commit d6f0 in master should fix this, but it's a little too much to pull back to the 1.0 branch.
Comment 2 nerdopolis1 2013-02-11 22:10:43 UTC
Hi. This is on master. I guess I should have specified that...
Comment 3 Rafal Mielniczuk 2013-02-12 18:01:07 UTC
Created attachment 74701 [details] [review]
patch adjusting output to x11 window size in fullscreen mode

I think it's because weston output size doesn't match x11 window size in fullscreen mode. I attached a proposed fix, I sent it also to mailing list.
Comment 4 Kristian Høgsberg 2013-02-12 19:59:18 UTC
(In reply to comment #3)
> Created attachment 74701 [details] [review] [review]
> patch adjusting output to x11 window size in fullscreen mode
> 
> I think it's because weston output size doesn't match x11 window size in
> fullscreen mode. I attached a proposed fix, I sent it also to mailing list.

No, the _NET_WM_STATE_FULLSCREEN protocol is supposed to ask the window manager to configure our window to be the right size.  For some reason that's not working.  I suspect a quirk/bug in how the wm implements that... what wm did you guys reproduce with?
Comment 5 Kristian Høgsberg 2013-02-12 20:23:08 UTC
Created attachment 74709 [details] [review]
print some debug stuff

Can you try patching your weston with this and the running it with --fullscreen?
Comment 6 Rafal Mielniczuk 2013-02-12 20:32:36 UTC
(In reply to comment #5)
> Created attachment 74709 [details] [review] [review]
> print some debug stuff
> 
> Can you try patching your weston with this and the running it with
> --fullscreen?

I use kwin (kde 4.10)
Here is the output with patch applied:

Date: 2013-02-12 CET
[21:31:06.533] weston 1.0.90
               http://wayland.freedesktop.org/
               Bug reports to: https://bugs.freedesktop.org/enter_bug.cgi?product=weston
               Build: 1.0.0-255-g618d1da-dirty compositor-x11: resize output to x11 window size in fullscreen mode (2013-02-12 18:30:01 +0100)
[21:31:06.533] OS: Linux, 3.7.6-1-ARCH, #1 SMP PREEMPT Mon Feb 4 09:15:13 CET 2013, x86_64
[21:31:06.533] Loading module '/home/ck/wayland/lib/weston/x11-backend.so'
[21:31:06.562] initializing x11 backend
[21:31:06.644] Using gl renderer
[21:31:06.644] launching '/home/ck/wayland/libexec/weston-keyboard'
wait_for_map: XCB_MAP_NOTIFY
[21:31:06.957] Chosen EGL config details:
               RGBA bits: 8 8 8 8
               swap interval range: 0 - 0
[21:31:06.960] EGL version: 1.4 (DRI2)
[21:31:06.960] EGL vendor: Mesa Project
[21:31:06.960] EGL client APIs: OpenGL OpenGL_ES OpenGL_ES2 OpenGL_ES3 
[21:31:06.960] EGL extensions: EGL_MESA_drm_image EGL_WL_bind_wayland_display
               EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_image
               EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_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
[21:31:06.960] GL version: OpenGL ES 3.0 Mesa 9.2-devel (git-44a5d73)
[21:31:06.960] GLSL version: OpenGL ES GLSL ES 3.0
[21:31:06.960] GL vendor: Intel Open Source Technology Center
[21:31:06.960] GL renderer: Mesa DRI Intel(R) Ivybridge Mobile 
[21:31:06.960] GL extensions: GL_EXT_blend_minmax GL_EXT_multi_draw_arrays
               GL_EXT_texture_filter_anisotropic
               GL_EXT_texture_compression_dxt1 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_OES_get_program_binary GL_APPLE_texture_max_level
               GL_EXT_read_format_bgra GL_NV_fbo_color_attachments
               GL_OES_vertex_array_object GL_ANGLE_texture_compression_dxt3
               GL_ANGLE_texture_compression_dxt5 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
[21:31:06.976] GL ES 2 renderer features:
               read-back format: BGRA
               wl_shm sub-image to texture: yes
               EGL Wayland extension: yes
[21:31:06.976] x11 output 1024x640, window id 71303173
[21:31:06.976] Loading module '/home/ck/wayland/lib/weston/xwayland.so'
[21:31:06.976] xserver listening on display :1
[21:31:06.977] Loading module '/home/ck/wayland/lib/weston/desktop-shell.so'
[21:31:06.977] libwayland: using socket /run/user/1000/wayland-0
wait_for_map: XCB_CONFIGURE_NOTIFY 1920x1080
wait_for_map: XCB_CONFIGURE_NOTIFY 1920x1080
[21:31:06.979] launching '/home/ck/wayland/libexec/weston-desktop-shell'
Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 9: reading configurations from ~/.fonts.conf is deprecated.
Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 9: reading configurations from ~/.fonts.conf is deprecated.
[21:31:09.844] libwayland: disconnect from client 0x229fa60
[21:31:09.845] libwayland: disconnect from client 0x25b5420
Comment 7 Rafal Mielniczuk 2013-02-12 21:05:06 UTC
But indeed I cannot reproduce that in gnome-shell and the

wait_for_map: XCB_CONFIGURE_NOTIFY 1920x1080
wait_for_map: XCB_CONFIGURE_NOTIFY 1920x1080

logs are before wait_for_map: XCB_MAP_NOTIFY

[21:31:06.644] launching '/home/ck/wayland/libexec/weston-keyboard'
wait_for_map: XCB_CONFIGURE_NOTIFY 1024:640
wait_for_map: XCB_CONFIGURE_NOTIFY 1920x1080
wait_for_map: XCB_MAP_NOTIFY
[21:31:06.957] Chosen EGL config details:
....
Comment 8 Kristian Høgsberg 2013-02-15 02:12:30 UTC
Created attachment 74849 [details] [review]
wait for first configure_notify after map_notify if we didn't get one

Yeah, it's a kwin problem in that it doesn't configure our fullscreen size before mapping the window.  Based on the debug output, I think this patch should work around that by waiting for the first configure after map_notify if we didn't get a configure_notify while waiting for map_notify.
Comment 9 nerdopolis1 2013-02-15 17:05:49 UTC
Hi.

That patch worked under kwin.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.