Bug 1390607
Summary: | LibreOffice Impress (and stripped down native gtk demo) doesn't run presentation correctly on Wayland | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Jiri Eischmann <jeischma> | ||||||||
Component: | mutter | Assignee: | Florian Müllner <fmuellner> | ||||||||
Status: | CLOSED EOL | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||||
Severity: | high | Docs Contact: | |||||||||
Priority: | unspecified | ||||||||||
Version: | 25 | CC: | anass.1430, awilliam, bugzilla, caolanm, chmelarz, cosimo.cecchi, djuran, dtardon, erack, fmuellner, gmarr, kparal, mcatanzaro+wrong-account-do-not-cc, mclasen, mstahl, otaylor, rmatos, robatino, sbergman, sgallagh, walters | ||||||||
Target Milestone: | --- | Keywords: | Reopened | ||||||||
Target Release: | --- | ||||||||||
Hardware: | x86_64 | ||||||||||
OS: | Linux | ||||||||||
Whiteboard: | AcceptedBlocker | ||||||||||
Fixed In Version: | mutter-3.22.1-8.fc25 | Doc Type: | If docs needed, set a value | ||||||||
Doc Text: | Story Points: | --- | |||||||||
Clone Of: | Environment: | ||||||||||
Last Closed: | 2017-12-12 10:43:03 UTC | Type: | Bug | ||||||||
Regression: | --- | Mount Type: | --- | ||||||||
Documentation: | --- | CRM: | |||||||||
Verified Versions: | Category: | --- | |||||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||||
Embargoed: | |||||||||||
Bug Depends On: | |||||||||||
Bug Blocks: | 1277289 | ||||||||||
Attachments: |
|
Reproduced. gnome-session-wayland-session-3.22.1-2.fc25.x86_64 gnome-shell-3.22.1-2.fc25.x86_64 gtk3-3.22.2-1.fc25.x86_64 libreoffice-impress-5.2.3.2-1.fc25.x86_64 libwayland-client-1.12.0-1.fc25.x86_64 libwayland-cursor-1.12.0-1.fc25.x86_64 libwayland-server-1.12.0-1.fc25.x86_64 mesa-libwayland-egl-12.0.3-3.fc25.x86_64 mutter-3.22.1-6.fc25.x86_64 xorg-x11-server-Xwayland-1.19.0-0.3.20161026.fc25.x86_64 Proposing as a blocker: "All applications that can be launched using the standard graphical mechanism of a release-blocking desktop after a default installation of that desktop must start successfully and withstand a basic functionality test. " https://fedoraproject.org/wiki/Fedora_25_Final_Release_Criteria#Default_application_functionality Giving a presentation is a pretty basic functionality of Impress. Created attachment 1216493 [details]
standalone native gtk demo
source for simple gtk standalone demo
Created attachment 1216494 [details]
prebuilt x86_64 demo
under wayland with two monitors, running.... GDK_BACKEND=x11 ./fullscreen-on-all-monitors results in a full-screen window on each monitor which is the desired outcome, but... ./fullscreen-on-all-monitors results in two windows on top of each other in native wayland The gtk+ side of this works fine but it wasn't hooked on the mutter side. I just attached a simple patch to the gnome bug that tracks this and it seems to work fine, but you need to change your gtk+ code. On the sample code you'd do this isntead to fullscreen windows: for (i = 0; i < max; ++i) { window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_widget_show(window); pScreen = gtk_widget_get_screen(window); gtk_window_fullscreen_on_monitor(GTK_WINDOW(window), pScreen, i); } (In reply to Rui Matos from comment #5) > gtk_window_fullscreen_on_monitor(GTK_WINDOW(window), pScreen, i); Note that this API doesn't currently work with the X11 gdk backend so you'd have to keep a different path for each gdk backend. I filed a patch to add support for this[1] so that in the future you can just use this simpler API. [1] https://bugzilla.gnome.org/show_bug.cgi?id=773857 libreoffice-5.2.3.3-4.fc25 has been submitted as an update to Fedora 25. https://bodhi.fedoraproject.org/updates/FEDORA-2016-35a1a1bdcf +1 blocker libreoffice-5.2.3.3-4.fc25 has been pushed to the Fedora 25 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-35a1a1bdcf set to new, cause the libreoffice change won't do anything in isolation, just bundling in use of gtk_window_fullscreen_on_monitor along with the other blocker fix so that another libreoffice update will hopefully not be necessary if the other side of this gets resolved Do I understand correctly that this needs libreoffice-5.2.3.3-4.fc25 and also a new mutter update (not yet in testing)? Because when I tried just libreoffice-5.2.3.3-4.fc25, it's not fixed yet (however, after starting the presentation, gnome-shell overview mode can be used to place the presentation on the right display, which seems a decent enough workaround, albeit not fully obvious to everyone). That's how I'd read #c10, yes. mutter-3.22.1-7.fc25 has been submitted as an update to Fedora 25. https://bodhi.fedoraproject.org/updates/FEDORA-2016-a69fb9a474 Discussed during the 2016-11-07 blocker review meeting: [1] The decision to classify this bug as an AcceptedBlocker was made as this was voted to be a "Basic Functionality" case and as such violates the following criteria: "All applications that can be launched using the standard graphical mechanism of a release-blocking desktop after a default installation of that desktop must start successfully and withstand a basic functionality test." [1] https://meetbot.fedoraproject.org/fedora-blocker-review/2016-11-07/f25-blocker-review.2016-11-07-17.01.txt libreoffice-5.2.3.3-4.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report. The combination of libreoffice-5.2.3.3-4.fc25 and mutter-3.22.1-7.fc25 makes this fixed. mutter-3.22.1-8.fc25 gtk3-3.22.2-2.fc25 has been submitted as an update to Fedora 25. https://bodhi.fedoraproject.org/updates/FEDORA-2016-f3f32649f5 Confirmed still OK with the new update. gtk3-3.22.2-2.fc25, mutter-3.22.1-8.fc25 has been pushed to the Fedora 25 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-f3f32649f5 back to verified. damnit, bodhi, stop this. Based on Bodhi discussion (https://bodhi.fedoraproject.org/updates/FEDORA-2016-f3f32649f5), here is my output: [zdenek@infinity ~]$ rpm -q mutter libreoffice-core gtk3 mutter-3.22.1-8.fc25.x86_64 libreoffice-core-5.2.3.3-4.fc25.x86_64 gtk3-3.22.2-2.fc25.x86_64 Even if I installed all those packages above, I still face issues with presentation reported in this bug. Test case: Laptop with F25 (up-to-date) connected via VGA cable to external monitor. Fedora recognizes this monitor (at least based on info in Displays in Settings) Laptop was restarted as well. Test result: Presentation still fails to run on the second monitor, it is still behind the Guide. (it works under X) Further info (to ensure, the issue is not caused with incorrectly detected monitor): 1) Journal logs report the following when external display is connected: Nov 10 12:47:47 infinity gnome-shell[1291]: Failed to apply DRM plane transform 0: Permission denied Nov 10 12:47:48 infinity gnome-settings-[1373]: failed to delete device: failed to obtain org.freedesktop.color-manager.delete-device auth Nov 10 12:47:50 infinity gnome-shell[1554]: JS LOG: The property brightness doesn't seem to be a normal object property of [0x56061be92da0 StWidget] or a registered special property Nov 10 12:47:50 infinity gnome-shell[1554]: JS LOG: The property vignette_sharpness doesn't seem to be a normal object property of [0x56061be92da0 StWidget] or a registered special property Nov 10 12:48:10 infinity org.gnome.Shell.desktop[1291]: Window manager warning: Failed to read EDID of output VGA-1: No such file or directory Nov 10 12:48:10 infinity org.gnome.Shell.desktop[1291]: Window manager warning: Failed to read EDID of output VGA-1: No such file or directory Nov 10 12:48:10 infinity org.gnome.Shell.desktop[1291]: Window manager warning: Failed to read EDID of output VGA-1: No such file or directory Nov 10 12:48:10 infinity org.gnome.Shell.desktop[1291]: Window manager warning: Failed to read EDID of output VGA-1: No such file or directory Nov 10 12:48:10 infinity org.gnome.Shell.desktop[1291]: Window manager warning: Failed to read EDID of output VGA-1: No such file or directory Nov 10 12:48:10 infinity gnome-shell[1291]: Failed to apply DRM plane transform 0: Permission denied Nov 10 12:48:10 infinity gnome-shell[1291]: Failed to apply DRM plane transform 0: Permission denied Nov 10 12:48:10 infinity gnome-settings-[1373]: failed to get edid: unable to get EDID for output Nov 10 12:48:10 infinity org.gnome.Shell.desktop[1291]: Window manager warning: Failed to read EDID of output VGA-1: No such file or directory Nov 10 12:48:10 infinity gnome-settings-[1373]: failed to create device: failed to obtain org.freedesktop.color-manager.create-device auth Nov 10 12:48:10 infinity gnome-settings-[1373]: could not find device: property match 'XRANDR_name'='VGA-1' does not exist Nov 10 12:48:11 infinity gnome-settings-[1373]: no xrandr-Goldstar Company Ltd-M227WD-179602 device found: Failed to find output xrandr-Goldstar Company Ltd-M227WD-179602 2) logs from journal when I run the presentation: Nov 10 12:51:20 infinity gnome-shell[1554]: value "nan" of type 'gdouble' is invalid or out of range for property 'scale-x' of type 'gdouble' Nov 10 12:51:20 infinity gnome-shell[1554]: value "nan" of type 'gdouble' is invalid or out of range for property 'scale-y' of type 'gdouble' Nov 10 12:51:20 infinity gnome-shell[1554]: value "-nan" of type 'gdouble' is invalid or out of range for property 'scale-x' of type 'gdouble' Nov 10 12:51:20 infinity gnome-shell[1554]: value "-nan" of type 'gdouble' is invalid or out of range for property 'scale-y' of type 'gdouble' Nov 10 12:51:20 infinity gnome-shell[1554]: value "-nan" of type 'gdouble' is invalid or out of range for property 'scale-x' of type 'gdouble' Nov 10 12:51:20 infinity gnome-shell[1554]: value "-nan" of type 'gdouble' is invalid or out of range for property 'scale-y' of type 'gdouble' Nov 10 12:51:20 infinity gnome-shell[1554]: value "nan" of type 'gdouble' is invalid or out of range for property 'scale-x' of type 'gdouble' Nov 10 12:51:20 infinity gnome-shell[1554]: value "nan" of type 'gdouble' is invalid or out of range for property 'scale-y' of type 'gdouble' Nov 10 12:51:20 infinity gnome-shell[1554]: value "-nan" of type 'gdouble' is invalid or out of range for property 'scale-x' of type 'gdouble' Nov 10 12:51:20 infinity gnome-shell[1554]: value "-nan" of type 'gdouble' is invalid or out of range for property 'scale-y' of type 'gdouble' Nov 10 12:51:20 infinity gnome-shell[1554]: value "-nan" of type 'gdouble' is invalid or out of range for property 'scale-x' of type 'gdouble' Nov 10 12:51:20 infinity gnome-shell[1554]: value "-nan" of type 'gdouble' is invalid or out of range for property 'scale-y' of type 'gdouble' Nov 10 12:51:20 infinity gnome-shell[1554]: value "-nan" of type 'gdouble' is invalid or out of range for property 'scale-x' of type 'gdouble' Nov 10 12:51:20 infinity gnome-shell[1554]: value "-nan" of type 'gdouble' is invalid or out of range for property 'scale-y' of type 'gdouble' Nov 10 12:51:20 infinity gnome-shell[1554]: value "-nan" of type 'gdouble' is invalid or out of range for property 'scale-x' of type 'gdouble' Nov 10 12:51:20 infinity gnome-shell[1554]: value "-nan" of type 'gdouble' is invalid or out of range for property 'scale-y' of type 'gdouble' Nov 10 12:51:20 infinity gnome-shell[1554]: value "-nan" of type 'gdouble' is invalid or out of range for property 'scale-x' of type 'gdouble' Nov 10 12:51:20 infinity gnome-shell[1554]: value "-nan" of type 'gdouble' is invalid or out of range for property 'scale-y' of type 'gdouble' Nov 10 12:51:20 infinity gnome-shell[1554]: value "-nan" of type 'gdouble' is invalid or out of range for property 'scale-x' of type 'gdouble' Nov 10 12:51:20 infinity gnome-shell[1554]: value "-nan" of type 'gdouble' is invalid or out of range for property 'scale-y' of type 'gdouble' Nov 10 12:51:20 infinity gnome-shell[1554]: value "-nan" of type 'gdouble' is invalid or out of range for property 'scale-x' of type 'gdouble' Nov 10 12:51:20 infinity gnome-shell[1554]: value "-nan" of type 'gdouble' is invalid or out of range for property 'scale-y' of type 'gdouble' Nov 10 12:51:20 infinity gnome-shell[1554]: value "-nan" of type 'gdouble' is invalid or out of range for property 'scale-x' of type 'gdouble' Nov 10 12:51:20 infinity gnome-shell[1554]: value "-nan" of type 'gdouble' is invalid or out of range for property 'scale-y' of type 'gdouble' Nov 10 12:51:20 infinity gnome-shell[1554]: value "nan" of type 'gdouble' is invalid or out of range for property 'scale-x' of type 'gdouble' Nov 10 12:51:20 infinity gnome-shell[1554]: value "nan" of type 'gdouble' is invalid or out of range for property 'scale-y' of type 'gdouble' Just to compare (if useful): Journal logs for the same events but under X this time: 1) connecting monitor Nov 10 12:57:33 infinity gnome-shell[1291]: Failed to apply DRM plane transform 0: Permission denied Nov 10 12:57:33 infinity /usr/libexec/gdm-x-session[3960]: (II) intel(0): resizing framebuffer to 1600x900 Nov 10 12:57:33 infinity gnome-settings-[1373]: failed to find device: property match 'XRANDR_name'='VGA-1' does not exist Nov 10 12:58:04 infinity org.gnome.Shell.desktop[1291]: Window manager warning: Failed to read EDID of output VGA-1: No such file or directory Nov 10 12:58:04 infinity gnome-shell[1291]: Failed to apply DRM plane transform 0: Permission denied Nov 10 12:58:04 infinity gnome-shell[1291]: Failed to apply DRM plane transform 0: Permission denied Nov 10 12:58:04 infinity /usr/libexec/gdm-x-session[3960]: (II) intel(0): resizing framebuffer to 3520x1080 Nov 10 12:58:04 infinity org.gnome.Shell.desktop[1291]: Window manager warning: Failed to read EDID of output VGA-1: No such file or directory Nov 10 12:58:04 infinity /usr/libexec/gdm-x-session[3960]: (II) intel(0): switch to mode 1920x1080 on VGA1 using pipe 1, position (1600, 0), rotation normal, reflection none Nov 10 12:58:04 infinity org.gnome.Shell.desktop[1291]: Window manager warning: Failed to read EDID of output VGA-1: No such file or directory Nov 10 12:58:04 infinity org.gnome.Shell.desktop[1291]: Window manager warning: Failed to read EDID of output VGA-1: No such file or directory Nov 10 12:58:04 infinity org.gnome.Shell.desktop[1291]: Window manager warning: Failed to read EDID of output VGA-1: No such file or directory Nov 10 12:58:04 infinity gnome-settings-[1373]: failed to get edid: unable to get EDID for output Nov 10 12:58:04 infinity org.gnome.Shell.desktop[1291]: Window manager warning: Failed to read EDID of output VGA-1: No such file or directory Nov 10 12:58:04 infinity gnome-settings-[1373]: failed to create device: failed to obtain org.freedesktop.color-manager.create-device auth Nov 10 12:58:04 infinity gnome-settings-[1373]: could not find device: property match 'XRANDR_name'='VGA-1' does not exist Nov 10 12:58:04 infinity gnome-settings-[1373]: no xrandr-Goldstar Company Ltd-M227WD-179602 device found: Failed to find output xrandr-Goldstar Company Ltd-M227WD-179602 Nov 10 12:59:08 infinity gnome-shell[4054]: JS LOG: The property brightness doesn't seem to be a normal object property of [0x5604d7a48950 StWidget] or a registered special property Nov 10 12:59:08 infinity gnome-shell[4054]: JS LOG: The property vignette_sharpness doesn't seem to be a normal object property of [0x5604d7a48950 StWidget] or a registered special property Nov 10 12:59:08 infinity gnome-shell[4054]: JS LOG: The property brightness doesn't seem to be a normal object property of [0x5604d7a53220 StWidget] or a registered special property Nov 10 12:59:08 infinity gnome-shell[4054]: JS LOG: The property vignette_sharpness doesn't seem to be a normal object property of [0x5604d7a53220 StWidget] or a registered special property 2) Running presentation Nov 10 13:04:08 infinity org.gnome.Shell.desktop[4054]: Window manager warning: Buggy client sent a _NET_ACTIVE_WINDOW message with a timestamp of 0 for 0x2000436 (LibreOffic) Well there is big difference between logs when running presentation under X and under wayland gtk3-3.22.2-2.fc25, mutter-3.22.1-8.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report. Rui, could you please look at comment 21 and 22, whether you see something interesting? There are some weird errors in there. Maybe in some cases this is still not properly fixed? Thanks a lot. (In reply to Zdenek Chmelar from comment #21) > Laptop with F25 (up-to-date) connected via VGA cable to external monitor. > Fedora recognizes this monitor (at least based on info in Displays in > Settings) > Laptop was restarted as well. > > Test result: > Presentation still fails to run on the second monitor, it is still behind > the Guide. (it works under X) How exactly are you monitors setup relative to each other? On which one are you running the main LO impress window? > Journal logs report the following when external display is connected: These messages are unfortunate but expected. Nothing should stop working because of them. > logs from journal when I run the presentation: > > Nov 10 12:51:20 infinity gnome-shell[1554]: value "nan" of type 'gdouble' is > invalid or out of range for property 'scale-x' of type 'gdouble' I have a fix for this in a pending gnome-shell patch upstream but it also shouldn't prevent windows going fullscreen, just the animation won't be displayed. Laptop screen is the primary one, external display is secondary one. Their layout is side-by-side (primary left, secondary right). LO is started on primary (laptop) screen, live presentation is expected to be displayed on secondary screen while the primary hosts presentation guide. At least, this is how it works under X session. Moreover, if I click on "Exchange" button of the presentation guide, both screens swap the presentation content (only under X). If I run this on Wayland, having connected external display with the same setup like above, full screen (live) presentation starts behind the guide each time. Exchange button does nothing, secondary screen is empty. If I unplug the external monitor, presentation appears on the top of primary screen as expected. Zdenek, please provide xrandr output here. I want to see what your display resolutions are and how they are placed. I tried your use case with two 1920x1080 monitors and it works well for me. [zdenek@infinity ~]$ xrandr Screen 0: minimum 320 x 200, current 3520 x 1080, maximum 8192 x 8192 XWAYLAND0 connected 1600x900+0+0 310mm x 170mm 1600x900 59.95*+ XWAYLAND1 connected 1920x1080+1600+0 480mm x 270mm 1920x1080 59.88*+ Laptop screen has 1600x900 only, second one 1920x1080. Tried the setup, still works well for me. I was able to reproduce this but am still pondering the best way to fix it. It's a mutter issue related to the way wayland windows are resized, I'll update this when I have figured out all the details. Is the remaining issue here still bad enough to be a blocker, Rui? Do you have any idea how many people are still likely to run into problems? Like kparal, I tested (using my old laptop and a cheap monitor that's usually plugged into my bare metal test box) and it worked fine. (In reply to Adam Williamson from comment #31) > Is the remaining issue here still bad enough to be a blocker, Rui? Do you > have any idea how many people are still likely to run into problems? > > Like kparal, I tested (using my old laptop and a cheap monitor that's > usually plugged into my bare metal test box) and it worked fine. It depends on the output geometry. If you have two outputs setup in such a way that the global 0,0 coordinate isn't covered by any of them mutter could place these windows on the wrong output. See the patches I attached to https://bugzilla.gnome.org/show_bug.cgi?id=772525 . Not sure if this is enough to still be a blocker but definitely a bug. (In reply to Rui Matos from comment #32) > Not sure if this is enough to still be a blocker Well if it's not downgraded tomorrow and we don't have a fixed Fedora build today, then we are sure to slip again, so it would be really good to get a new build out ASAP. My inclination is to go -1 for the remaining element of this, with Rui's explanation. Not having a display covering 0,0 seems *relatively* likely to be uncommon to me, unless you guys think otherwise. What confuses me is that according to comment 28 Zdenek seems to *have* a screen starting at 0,0. Either way, I think majority of use cases were resolved with the latest patch, so I have no problem going with -1 blocker as well. Have you tested the presentation with the secondary screen at the right hand of the primary one? I've just tested now and the same issue persists (both presentation and controller on the same screen on top of each other). Mutter (or whatever the thing tries to put windows in which screen) looks confusing when launching new apps/windows with the primary screen on the right hand of the secondary screen. It launches some apps for a split of a second in the secondary screen then position it in the primary screen but if the app has a splash window (LibreOffice) or takes some time to launch (Firefox), it goes to the secondary screen! Correction: in the second paragraph, I said "the right hand" instead of "the left hand of the secondary screen". Just in case I miss go/no-go... -1 to block solely on this bug, but I think we should be strongly pursuing 0-day update for it. This message is a reminder that Fedora 25 is nearing its end of life. Approximately 4 (four) weeks from now Fedora will stop maintaining and issuing updates for Fedora 25. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as EOL if it remains open with a Fedora 'version' of '25'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version. Thank you for reporting this issue and we are sorry that we were not able to fix it before Fedora 25 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged change the 'version' to a later Fedora version prior this bug is closed as described in the policy above. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete. Fedora 25 changed to end-of-life (EOL) status on 2017-12-12. Fedora 25 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora please feel free to reopen this bug against that version. If you are unable to reopen this bug, please file a new report against the current release. If you experience problems, please add a comment to this bug. Thank you for reporting this bug and we are sorry it could not be fixed. |
Created attachment 1216121 [details] Impress on Wayland When you switch to the presentation mode, Impress doesn't place slides and presentation console correctly on different monitors. They're placed on the top of each other on one screen completely ignoring the other. See the screencast to get the idea how it behaves. It doesn't work even if you set up that the presentation should show up on the external monitor without relying on automatic recognition. Because of this, you can't do a presentation with Impress on Wayland unless you set up mirroring.