Bug 165673 - pseudo-3d slide transitions in impress don't work in linux
Summary: pseudo-3d slide transitions in impress don't work in linux
Status: RESOLVED DUPLICATE of bug 149461
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Impress (show other bugs)
Version:
(earliest affected)
24.2.7.2 release
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords: bibisected
Depends on:
Blocks: KDE, KF5
  Show dependency treegraph
 
Reported: 2025-03-10 15:38 UTC by Martin Tlustos
Modified: 2025-03-26 14:20 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments
Sample doc using Ripple slide transition (14.72 KB, application/vnd.oasis.opendocument.presentation)
2025-03-13 14:50 UTC, Michael Weghorn
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Tlustos 2025-03-10 15:38:49 UTC
Description:
Newsflash, ripple, vortex, and other pseudo-3d transitions don't work in linux. Well, they do work in the flatpak version, but never ever have in the normal .deb version on my Ubuntu based system (KDE Neon now) since I switched to Linux in 2006. 

I did not reset my user profile for this bug report, as it has been persisting over several clean installs in the last 10+ years.

Steps to Reproduce:
1. Create a presentation with several slides
2. apply any pseudo-3d slide transition, click "apply to all slides"
3. F5 to start the presentation

Actual Results:
No slide transition is displayed at all, just a normal switch to the next slide.

Expected Results:
3d transitions should work flawlessly.


Reproducible: Always


User Profile Reset: No

Additional Info:
Version: 24.2.7.2 (X86_64) / LibreOffice Community
Build ID: 420(Build:2)
CPU threads: 6; OS: Linux 6.11; UI render: default; VCL: kf5 (cairo+wayland)
Locale: en-US (en_US.UTF-8); UI: en-US
Ubuntu package version: 4:24.2.7-0ubuntu0.24.04.2
Calc: threaded

The version it works with (but this one has other problems, like not opening menus)
Version: 25.2.1.2 (X86_64) / LibreOffice Community
Build ID: d3abf4aee5fd705e4a92bba33a32f40bc4e56f49
CPU threads: 6; OS: Linux 6.11; UI render: default; VCL: gtk3
Locale: en-US (en_US.UTF-8); UI: en-US
Flatpak
Calc: threaded
Comment 1 Olivier Hallot 2025-03-11 13:56:40 UTC
confirmed

Version: 25.2.1.2 (X86_64) / LibreOffice Community
Build ID: d3abf4aee5fd705e4a92bba33a32f40bc4e56f49
CPU threads: 16; OS: Linux 6.11; UI render: default; VCL: kf5 (cairo+wayland)
Locale: en-US (pt_BR.UTF-8); UI: en-US
Calc: threaded

Works on Windows though.
Comment 2 Olivier Hallot 2025-03-11 21:20:11 UTC
 e6348b16e13c98eb7ed87c4a8ec287e8e9d5ed05 is the first bad commit
commit e6348b16e13c98eb7ed87c4a8ec287e8e9d5ed05 (HEAD)
Author: Jenkins Build User <tdf@pollux.tdf>
Date:   Thu Jun 22 22:26:28 2023 +0200

    source 8b0e1f2a914d672182d585d8cb2d4a815e88977e
    
    source 8b0e1f2a914d672182d585d8cb2d4a815e88977e

 instdir/program/libdesktop_detectorlo.so | Bin 19648 -> 19968 bytes
 instdir/program/libvcllo.so              | Bin 20141824 -> 20141824 bytes
 instdir/program/libvclplug_kf5lo.so      | Bin 1589768 -> 1589824 bytes
 instdir/program/setuprc                  |   2 +-
 instdir/program/versionrc                |   2 +-
 5 files changed, 2 insertions(+), 2 deletions(-)
Comment 3 Michael Weghorn 2025-03-13 14:50:47 UTC
Created attachment 199797 [details]
Sample doc using Ripple slide transition
Comment 4 Michael Weghorn 2025-03-13 15:03:46 UTC
(In reply to Olivier Hallot from comment #2)
>  e6348b16e13c98eb7ed87c4a8ec287e8e9d5ed05 is the first bad commit
> commit e6348b16e13c98eb7ed87c4a8ec287e8e9d5ed05 (HEAD)
> Author: Jenkins Build User <tdf@pollux.tdf>
> Date:   Thu Jun 22 22:26:28 2023 +0200
> 
>     source 8b0e1f2a914d672182d585d8cb2d4a815e88977e
>     
>     source 8b0e1f2a914d672182d585d8cb2d4a815e88977e

That commit is 

    commit 8b0e1f2a914d672182d585d8cb2d4a815e88977e
    Author: Michael Weghorn
    Date:   Thu Jun 22 08:40:56 2023 +0200

        Detect Plasma 6 desktop

, so this is not a regression, but the difference between this commit and the previous one is that your Plasma 6 session is detected and therefore the kf5 VCL plugin is selected by default, while gtk3 would be used previously.

If you explicitly select gtk3 via SAL_USE_VCLPLUGIN=gtk3, it works with for me with that commit in the bibisect repo as well.

From what I can see, this is only a problem with kf5 on Wayland. I can reproduce with kf5 on Wayland with the attached sample document:

Version: 25.8.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 477138a0570589e8dcecdbfe104a055f432638ce
CPU threads: 32; OS: Linux 6.12; UI render: default; VCL: kf5 (cairo+wayland)
Locale: en-GB (en_GB.UTF-8); UI: en-US
Calc: threaded


But I cannot reproduce when forcing to run on XWayland using QT_QPA_PLATFORM=xcb.

Version: 25.8.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 477138a0570589e8dcecdbfe104a055f432638ce
CPU threads: 32; OS: Linux 6.12; UI render: default; VCL: kf5 (cairo+xcb)
Locale: en-GB (en_GB.UTF-8); UI: en-US
Calc: threaded


And I cannot reproduce with qt6 on Wayland either. When I open attachment 199797 [details], start the presentation and move to the next slide, there is a transition, as it is there with gtk3.

Version: 25.8.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 477138a0570589e8dcecdbfe104a055f432638ce
CPU threads: 32; OS: Linux 6.12; UI render: default; VCL: qt6 (cairo+wayland)
Locale: en-GB (en_GB.UTF-8); UI: en-US
Calc: threaded

So this is probably an upstream Qt Wayland issue.

3 ways to avoid the problem:

* Use the qt6/kf6 VCL plugin (which unfortunately isn't contained in the TDF builds yet due to those builds happening on distros that don't package Qt 6 yet)
* run LO on X11/XWayland by setting environment variable QT_QPA_PLATFORM=xcb before running LO.
* use the gtk3 VCL plugin by setting environment variable SAL_USE_VCLPLUGIN=gtk3 before running LO

See also tdf#149461.

*** This bug has been marked as a duplicate of bug 149461 ***
Comment 5 Martin Tlustos 2025-03-14 08:47:22 UTC
Funny. I use KDE Neon, and libreoffice-qt6 is present, but no kf6. If I deinstall libreoffice-kf5, it falls back to xcf (which looks ugly).
Comment 6 Michael Weghorn 2025-03-14 13:01:21 UTC
(In reply to Martin Tlustos from comment #5)
> Funny. I use KDE Neon, and libreoffice-qt6 is present, but no kf6. If I
> deinstall libreoffice-kf5, it falls back to xcf (which looks ugly).

Does setting environment variable SAL_USE_VCLPLUGIN=qt6 before starting LO help to get the qt6 VCL plugin, and does it work there?
Comment 7 Martin Tlustos 2025-03-19 07:08:41 UTC
No, it doesn't, it always starts with kf5, and transitions don't work. But starting with SAL_USE_VCLPLUGIN=gtk3 doesn't do anything either, libreoffice still starts with kf5.
Comment 8 Michael Weghorn 2025-03-20 15:44:37 UTC
(In reply to Martin Tlustos from comment #7)
> No, it doesn't, it always starts with kf5, and transitions don't work. But
> starting with SAL_USE_VCLPLUGIN=gtk3 doesn't do anything either, libreoffice
> still starts with kf5.

To be sure: Are packages libreoffice-qt6 and libreoffice-gtk3 installed?

If so, I would expect that opening a terminal and running

    export SAL_USE_VCLPLUGIN=gtk3
    libreoffice --writer

would start LibreOffice with the gtk3 VCL plugin.

If that doesn't work, can you please try with the TDF_provided LibreOffice build instead of the one packaged in KDE Neon. (The TDF build doesn't have qt6, but it has gtk3.)
Comment 9 Martin Tlustos 2025-03-20 17:31:43 UTC
Now it worked (I had missed the "export" part) starting with qt6. But it still doesn't display the transitions. gtk3 works, gtk4 crashes libreoffice.
Comment 10 Martin Tlustos 2025-03-20 17:32:19 UTC
TDF provided libreoffice? You mean a repo, or a .deb I can download?
Comment 11 Michael Weghorn 2025-03-22 22:07:35 UTC
(In reply to Martin Tlustos from comment #9)
> Now it worked (I had missed the "export" part) starting with qt6. But it
> still doesn't display the transitions.

That's odd. Can you please copy the exact version information from "Help" -> "About LibreOffice" for the qt6 case?

(In reply to Martin Tlustos from comment #10)
> TDF provided libreoffice? You mean a repo, or a .deb I can download?

The .deb files available at https://www.libreoffice.org/download/download-libreoffice/ . It's also possible to extract them to any location instead of installing using the package manager, see https://wiki.documentfoundation.org/Installing_in_parallel/Linux
Comment 12 Martin Tlustos 2025-03-25 08:38:16 UTC
(In reply to Michael Weghorn from comment #11)
> (In reply to Martin Tlustos from comment #9)
> > Now it worked (I had missed the "export" part) starting with qt6. But it
> > still doesn't display the transitions.
> 
> That's odd. Can you please copy the exact version information from "Help" ->
> "About LibreOffice" for the qt6 case?
>
Here the info about libreoffice with qt6:

Version: 24.2.7.2 (X86_64) / LibreOffice Community
Build ID: 420(Build:2)
CPU threads: 6; OS: Linux 6.11; UI render: default; VCL: qt6 (cairo+wayland)
Locale: en-US (en_US.UTF-8); UI: en-US
Ubuntu package version: 4:24.2.7-0ubuntu0.24.04.3
Calc: threaded

And here the infos about the graphics test (under Options - View):
Graphics Backend used: qt5svp
Passed Tests: 1
Quirky Tests: 0
Failed Tests: 0
Skipped Tests: 104

---Name of the tests that failed---
No test has been failed.

---Name of the tests that were Quirky---
No test was Quirky.

---Name of the tests that were Skipped---
testDrawRectWithRectangle
testDrawRectWithPixel
testDrawRectWithLine
testDrawRectWithPolygon
testDrawRectWithPolyLine
testDrawRectWithPolyLineB2D
testDrawRectWithPolyPolygon
testDrawRectWithPolyPolygonB2D
testDrawRectAAWithRectangle
testDrawRectAAWithPixel
testDrawRectAAWithLine
testDrawRectAAWithPolygon
testDrawRectAAWithPolyLine
testDrawRectAAWithPolyLineB2D
testDrawRectAAWithPolyPolygon
testDrawRectAAWithPolyPolygonB2D
testDrawFilledRectWithRectangle
testDrawFilledRectWithPolygon
testDrawFilledRectWithPolyPolygon
testDrawFilledRectWithPolyPolygon2D
testDrawDiamondWithPolygon
testDrawDiamondWithLine
testDrawDiamondWithPolyline
testDrawDiamondWithPolylineB2D
testDrawInvertWithRectangle
testDrawInvertN50WithRectangle
testDrawInvertTrackFrameWithRectangle
testDrawBezierWithPolylineB2D
testDrawBezierAAWithPolylineB2D
testDrawBitmap24bpp
testDrawTransformedBitmap24bpp
testComplexDrawTransformedBitmap24bpp
testDrawBitmapExWithAlpha24bpp
testDrawMask24bpp
testDrawBlend24bpp
testDrawXor
testClipRectangle
testClipPolygon
testClipPolyPolygon
testClipB2DPolyPolygon
testDrawOutDev
testDrawOutDevScaledClipped
testDrawOutDevSelf
testDashedLine
testLinearGradient
testLinearGradientAngled
testLinearGradientBorder
testLinearGradientIntensity
testLinearGradientSteps
testAxialGradient
testRadialGradient
testRadialGradientOfs
testLineJoinBevel
testLineJoinRound
testLineJoinMiter
testLineJoinNone
testLineCapRound
testLineCapSquare
testLineCapButt
testDrawDropShapeWithPolyline
testDrawDropShapeAAWithPolyline
testDrawDropShapeWithPolygon
testDrawDropShapeAAWithPolygon
testHalfEllipseWithPolyLine
testHalfEllipseAAWithPolyLine
testHalfEllipseWithPolyLineB2D
testHalfEllipseAAWithPolyLineB2D
testHalfEllipseWithPolygon
testHalfEllipseAAWithPolygon
testClosedBezierWithPolyline
testClosedBezierWithPolygon
testTextDrawing
testEvenOddRuleInIntersectingRectsWithPolyPolygon
testEvenOddRuleInIntersectingRectsWithPolyPolygonB2D
testDrawBitmap8bppGreyScale
testDrawTransformedBitmap8bppGreyScale
testDrawBitmap32bpp
testDrawTransformedBitmap32bpp
testDrawBitmapExWithAlpha32bpp
testDrawMask32bpp
testDrawBlend32bpp
testDrawRectangleOnSize1028WithRect
testDrawRectangleOnSize4096WithRect
testDrawRectangleOnSize1028WithPixel
testDrawRectangleOnSize4096WithPixel
testDrawRectangleOnSize1028WithLine
testDrawRectangleOnSize4096WithLine
testDrawRectangleOnSize1028WithPolyLine
testDrawRectangleOnSize4096WithPolyLine
testDrawRectangleOnSize1028WithPolygon
testDrawRectangleOnSize4096WithPolygon
testDrawRectangleOnSize1028WithPolyLineB2D
testDrawRectangleOnSize4096WithPolyLineB2D
testDrawRectangleOnSize1028WithPolyPolygon
testDrawRectangleOnSize4096WithPolyPolygon
testDrawRectangleOnSize1028WithPolyPolygonB2D
testDrawRectangleOnSize4096WithPolygonPolygonB2D
testDrawOpenPolygonWithPolyLine
testDrawOpenPolygonWithPolyLineB2D
testDrawOpenPolygonWithPolygon
testDrawOpenPolygonWithPolyPolygon
testDrawOpenPolygonWithPolyPolygonB2D
testDrawOpenBezierWithPolyLine
testDrawOpenBezierWithPolyLineB2D
 
> (In reply to Martin Tlustos from comment #10)
> > TDF provided libreoffice? You mean a repo, or a .deb I can download?
> 
> The .deb files available at
> https://www.libreoffice.org/download/download-libreoffice/ . It's also
> possible to extract them to any location instead of installing using the
> package manager, see
> https://wiki.documentfoundation.org/Installing_in_parallel/Linux

I found them, but that wouldn't make any difference, as they use the gtk3 backend, which works with the version I have anyway.
Comment 13 Michael Weghorn 2025-03-26 01:22:17 UTC
(In reply to Martin Tlustos from comment #12)
> Here the info about libreoffice with qt6:
> 
> Version: 24.2.7.2 (X86_64) / LibreOffice Community
> Build ID: 420(Build:2)
> CPU threads: 6; OS: Linux 6.11; UI render: default; VCL: qt6 (cairo+wayland)
> Locale: en-US (en_US.UTF-8); UI: en-US
> Ubuntu package version: 4:24.2.7-0ubuntu0.24.04.3
> Calc: threaded

That version is too old to contain the changes for tdf#149461 (at least 24.8 required).
Comment 14 Martin Tlustos 2025-03-26 11:58:03 UTC
(In reply to Michael Weghorn from comment #13)
> (In reply to Martin Tlustos from comment #12)
> > Here the info about libreoffice with qt6:
> > 
> > Version: 24.2.7.2 (X86_64) / LibreOffice Community
> > Build ID: 420(Build:2)
> > CPU threads: 6; OS: Linux 6.11; UI render: default; VCL: qt6 (cairo+wayland)
> > Locale: en-US (en_US.UTF-8); UI: en-US
> > Ubuntu package version: 4:24.2.7-0ubuntu0.24.04.3
> > Calc: threaded
> 
> That version is too old to contain the changes for tdf#149461 (at least 24.8
> required).

Ok, I installed this version from the (as far as I know official) libreoffice ubuntu repository:

Version: 24.8.5.2 (X86_64) / LibreOffice Community
Build ID: 480(Build:2)
CPU threads: 6; OS: Linux 6.11; UI render: default; VCL: kf5 (cairo+wayland)
Locale: en-US (en_US.UTF-8); UI: en-US
Ubuntu package version: 4:24.8.5~rc2-0ubuntu0.24.04.1~lo1
Calc: threaded

But there is no libreoffice-qt6 in the repository. Starting with kf5 still doesn't work.
Comment 15 Martin Tlustos 2025-03-26 12:14:15 UTC
Just found out that the libreoffice repository for ubuntu 22.04 (which kde neon is based upon) has kf6/qt6 disabled. The repository for 24.10 has it enabled.
Comment 16 Michael Weghorn 2025-03-26 14:20:26 UTC
(In reply to Martin Tlustos from comment #14)
> Ok, I installed this version from the (as far as I know official)
> libreoffice ubuntu repository:
> 
> Version: 24.8.5.2 (X86_64) / LibreOffice Community
> Build ID: 480(Build:2)
> CPU threads: 6; OS: Linux 6.11; UI render: default; VCL: kf5 (cairo+wayland)
> Locale: en-US (en_US.UTF-8); UI: en-US
> Ubuntu package version: 4:24.8.5~rc2-0ubuntu0.24.04.1~lo1
> Calc: threaded
> 
> But there is no libreoffice-qt6 in the repository. Starting with kf5 still
> doesn't work.

See comment 4. (Works with kf5 on X11/XWayland, but not native Wayland.)