Bug 149461 - OpenGL slide transitions not working properly with kf5 VCL plugin
Summary: OpenGL slide transitions not working properly with kf5 VCL plugin
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Impress (show other bugs)
Version:
(earliest affected)
7.4.0.0 alpha0+
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Michael Weghorn
URL:
Whiteboard: target:25.2.0 target:24.8.0.0.beta2
Keywords: bibisected, bisected, regression
: 157900 159986 (view as bug list)
Depends on:
Blocks: KDE, KF5
  Show dependency treegraph
 
Reported: 2022-06-05 06:23 UTC by Bob Wong
Modified: 2024-06-22 04:56 UTC (History)
7 users (show)

See Also:
Crash report or crash signature:


Attachments
Sample presentation with transition and animation (13.29 KB, application/vnd.oasis.opendocument.presentation)
2022-10-29 08:50 UTC, Michael Weghorn
Details
Screencast with sample doc on Debian testing (Plasma Wayland) (6.14 MB, video/x-matroska)
2022-10-29 08:51 UTC, Michael Weghorn
Details
Sample presentation using "Tiles" transition (13.39 KB, application/vnd.oasis.opendocument.presentation)
2022-12-03 09:40 UTC, Michael Weghorn
Details
Screencast (presentation screen only) with qt6 on Wayland with pending fixes (4.86 MB, video/x-matroska)
2024-06-21 19:07 UTC, Michael Weghorn
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Bob Wong 2022-06-05 06:23:10 UTC
Description:
   I'm using libreoffice under KDE wayland with libreoffice-kf5. However, when I try to apply the slide transition, I can't preview them correctly. Also, the animation will only work on the first slide. After I switch to another, the animation won't work. Having tried both with OpenGL enabled and disabled, nothing changed. And form terminal the error message is 
QOpenGLFramebufferObject: Framebuffer incomplete attachment.
QOpenGLFramebufferObject: Framebuffer incomplete, missing attachment. And they are repeating. By the way, the version selection don't have 7.3.4.1.


Steps to Reproduce:
1. Create a new slide
2. Apply slide transition
3. Preview it

Actual Results:
Just a black screen.

Expected Results:
Preview the animation correctly.


Reproducible: Always


User Profile Reset: No


OpenGL enabled: Yes

Additional Info:
Version: 7.3.4.1 / LibreOffice Community
Build ID: 30(Build:1)
CPU threads: 16; OS: Linux 5.17; UI render: default; VCL: kf5 (cairo+wayland)
Locale: zh-CN (zh_CN.UTF-8); UI: zh-CN
Debian package version: 1:7.3.4~rc1-1
Calc: threaded
Comment 1 Michael Weghorn 2022-10-29 08:50:13 UTC
Created attachment 183323 [details]
Sample presentation with transition and animation
Comment 2 Michael Weghorn 2022-10-29 08:51:58 UTC
Created attachment 183324 [details]
Screencast with sample doc on Debian testing (Plasma Wayland)
Comment 3 Michael Weghorn 2022-10-29 08:56:06 UTC
I cannot reproduce on Plasma Wayland on Debian testing.

(In reply to Bob Wong from comment #0)
> Steps to Reproduce:
> 1. Create a new slide
> 2. Apply slide transition
> 3. Preview it

What do you mean by "Preview it"? What shows up automatically when you change the transition or any specific mode or menu item etc. that you select explicitly?
The former (what shows up automatically) works just fine for me.

> Description:
> However,
> when I try to apply the slide transition, I can't preview them correctly.
> Also, the animation will only work on the first slide. After I switch to
> another, the animation won't work.

That also works just fine for me so far. With the attached sample presentation attachment 183323 [details], both, slide transition ("Fade") and animation ("Entrance: Appear" for the text) work fine for me in presentation mode, s. attached screencast attachment 183324 [details].

Can you reproduce the issue when taking the same steps with the sample doc as in the screencast or does this only happen with specific files or transitions/animations?


This issue might also be related to hardware or the KDE Plasma/Qt version.


Version: 7.5.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 097a2de6428f834d28fa78af203d3c0b6577656e
CPU threads: 4; OS: Linux 6.0; UI render: default; VCL: kf5 (cairo+wayland)
Locale: en-GB (en_GB.UTF-8); UI: en-US
Calc: threaded

KDE system info:

Operating System: Debian GNU/Linux
KDE Plasma Version: 5.26.0
KDE Frameworks Version: 5.98.0
Qt Version: 5.15.6
Kernel Version: 6.0.0-2-amd64 (64-bit)
Graphics Platform: Wayland
Processors: 4 × Intel® Core™ i5-5300U CPU @ 2.30GHz
Memory: 15.3 GiB of RAM
Graphics Processor: Mesa Intel® HD Graphics 5500
Manufacturer: LENOVO
Product Name: 20CJS11C00
System Version: ThinkPad T550
Comment 4 Michael Weghorn 2022-10-29 08:57:41 UTC
Also works for me with the Debian-packaged

Version: 7.4.1.2 / LibreOffice Community
Build ID: 40(Build:2)
CPU threads: 4; OS: Linux 6.0; UI render: default; VCL: kf5 (cairo+wayland)
Locale: en-GB (en_GB.UTF-8); UI: en-GB
Debian package version: 1:7.4.1-2
Calc: threaded
Comment 5 Bob Wong 2022-10-30 02:30:08 UTC
> That also works just fine for me so far. With the attached sample
> presentation attachment 183323 [details], both, slide transition ("Fade")
> and animation ("Entrance: Appear" for the text) work fine for me in
> presentation mode, s. attached screencast attachment 183324 [details].
> 
> Can you reproduce the issue when taking the same steps with the sample doc
> as in the screencast or does this only happen with specific files or
> transitions/animations?
Yes. The following slide transition won't work even with new file: Tiles, Cube, Circles, Helix, Fall, Turn around, Iris, Turn down, Rochade, 3D Venetian, Static, Fine Dissolve, Vortex, Ripple, Glitter, Honeycamb, News flash. And the animation work just fine with the newest Debian-packaged LibreOffice and KDE components under the testing branch.
Comment 6 Michael Weghorn 2022-12-03 09:40:51 UTC
Created attachment 183972 [details]
Sample presentation using "Tiles" transition

I can reproduce that e.g. "Tiles" slide transition does not work with kf5, same in an X11 session, so not specific to Wayland.

Version: 7.5.0.0.alpha1+ (X86_64) / LibreOffice Community
Build ID: a611f2fc149153aabea8948f74ee004944acf681
CPU threads: 4; OS: Linux 6.0; UI render: default; VCL: kf5 (cairo+xcb)
Locale: en-GB (en_GB.UTF-8); UI: en-US
Calc: threaded

It works when using the gtk3 VCL plugin instead:

Version: 7.5.0.0.alpha1+ (X86_64) / LibreOffice Community
Build ID: a611f2fc149153aabea8948f74ee004944acf681
CPU threads: 4; OS: Linux 6.0; UI render: default; VCL: gtk3
Locale: en-GB (en_GB.UTF-8); UI: en-US
Calc: threaded

Updated sample doc attached, which uses the "Tiles" slide transition for slides 3 and 4.
Comment 7 Buovjaga 2023-03-20 10:36:42 UTC
(In reply to Michael Weghorn from comment #6)
> Created attachment 183972 [details]
> Sample presentation using "Tiles" transition
> 
> I can reproduce that e.g. "Tiles" slide transition does not work with kf5,
> same in an X11 session, so not specific to Wayland.

So this is actually due to 4366e0605214260e55a937173b0c2e02225dc843
tdf#148864 Qt switch QtObjectWindow to QWidget

...which is not yet in the version Bob used when reporting this, 7.3.4. But I guess we could hijack this report to be about it.

With some testing, it seems the only non-working transition before that commit was Fall.
Comment 8 Buovjaga 2023-11-03 15:02:31 UTC
*** Bug 157900 has been marked as a duplicate of this bug. ***
Comment 9 pieter kristensen 2023-12-19 08:17:42 UTC
On my system - Neon Unstable - the 3d slide-transitions suddenly started working after a ogltrans-update (jammy-security,jammy-updates,now 7.3.7-0ubuntu0.22.04.4 all [geïnstalleerd] transitional package for libreoffice-ogltrans) about a week ago.
And not only they started to work but they do so perfectly!
No glitch etc. Just perfect 3d slide-transitions.
I haven't seen that for a loooong time!
Beautiful!
Comment 10 Michael Weghorn 2024-03-14 07:51:34 UTC
*** Bug 159986 has been marked as a duplicate of this bug. ***
Comment 11 Michael Weghorn 2024-06-21 19:07:02 UTC
Created attachment 194899 [details]
Screencast (presentation screen only) with qt6 on Wayland with pending fixes
Comment 12 Michael Weghorn 2024-06-21 19:12:43 UTC
Pending Gerrit changes:

https://gerrit.libreoffice.org/c/core/+/169346
https://gerrit.libreoffice.org/c/core/+/169347
https://gerrit.libreoffice.org/c/core/+/169348

With these in place, the OpenGL slide transitions from attachment 183972 [details] work fine for me with both, the qt5/kf5 and qt6/kf6 VCL plugins on X11.

For qt6 on Wayland, I still see an issue: The slide text from attachment 18972
sometimes incorrectly showed up for a fraction of a second after
the slide transition finished, then disappeared again until
it was triggered to show as it should (e.g. by pressing the right
arrow key), s. screencast attachment 194899 [details].
A multitude of warnings like the following are shown on stderr
in that case, which don't show up for xcb:

    warn:vcl.opengl:47352:47352:vcl/source/opengl/OpenGLHelper.cxx:709: GL Error 0506 (invalid framebuffer operation) in file /home/michi/development/git/libreoffice/slideshow/source/engine/opengl/TransitionImpl.cxx at line 398

That's a separate issue, though, and might even be a problem elsewhere, e.g. in Qt.
Comment 13 Commit Notification 2024-06-21 21:18:58 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/22270a54a2d73f96109ca851b1e1627910213645

tdf#149461 qt: Move setting layout to QtObject ctor

It will be available in 25.2.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 14 Commit Notification 2024-06-21 21:20:01 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/b296b33cfbde5113f27ddef71a48380cb6ce5e06

tdf#149461 qt6: Provide a QWindow for OpenGL rendering

It will be available in 25.2.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 15 Commit Notification 2024-06-21 21:20:03 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/89372e62454a72c6c400f00bfe3221bc0fe6d23e

tdf#149461 qt5: Provide a QWindow for OpenGL rendering on X11

It will be available in 25.2.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 16 Guido Iodice 2024-06-21 21:27:29 UTC
Any chance of seeing the patch already in version 24.08?
Comment 17 Michael Weghorn 2024-06-21 21:44:36 UTC
(In reply to Guido Iodice from comment #16)
> Any chance of seeing the patch already in version 24.08?

Yes, backports pending in Gerrit now:
https://gerrit.libreoffice.org/c/core/+/169367 (and the 2 other changes in the relation chain)
Comment 18 Guido Iodice 2024-06-21 22:31:39 UTC
(In reply to Michael Weghorn from comment #17)
> (In reply to Guido Iodice from comment #16)
> > Any chance of seeing the patch already in version 24.08?
> 
> Yes, backports pending in Gerrit now:
> https://gerrit.libreoffice.org/c/core/+/169367 (and the 2 other changes in
> the relation chain)

Thank you!
Comment 19 Commit Notification 2024-06-22 04:56:50 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "libreoffice-24-8":

https://git.libreoffice.org/core/commit/57c82fcfca30da72d80edb9519a00217fea3d700

tdf#149461 qt: Move setting layout to QtObject ctor

It will be available in 24.8.0.0.beta2.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 20 Commit Notification 2024-06-22 04:56:53 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "libreoffice-24-8":

https://git.libreoffice.org/core/commit/734a74dec8f20d46d6a236071d4601aa763763e7

tdf#149461 qt6: Provide a QWindow for OpenGL rendering

It will be available in 24.8.0.0.beta2.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 21 Commit Notification 2024-06-22 04:56:55 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "libreoffice-24-8":

https://git.libreoffice.org/core/commit/359cdd6b3b401519621dd10fc072305d627dccc0

tdf#149461 qt5: Provide a QWindow for OpenGL rendering on X11

It will be available in 24.8.0.0.beta2.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.