Bug 472148 - Version flag should display version even without display
Summary: Version flag should display version even without display
Status: RESOLVED FIXED
Alias: None
Product: kdenlive
Classification: Applications
Component: Setup & Installation (show other bugs)
Version: git-master
Platform: Other Linux
: LO normal
Target Milestone: ---
Assignee: Jean-Baptiste Mardelle
URL:
Keywords: triaged
Depends on:
Blocks:
 
Reported: 2023-07-11 07:54 UTC by mashkal2000@gmail.com
Modified: 2025-04-13 10:43 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description mashkal2000@gmail.com 2023-07-11 07:54:29 UTC
SUMMARY
Version flag should display version even without display.

STEPS TO REPRODUCE
1. Build kdenlive in docker container
2. run `kdenlive --version` in container

OBSERVED RESULT
qt.qpa.xcb: could not connect to display 
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, xcb.

Aborted


EXPECTED RESULT
kdenlive 23.07.70 (rev. bfb2c2498)

SOFTWARE/OS VERSIONS
commit bfb2c2498786704d5e6ec8d66bf1b2ad6c0dc12d

ADDITIONAL INFORMATION
Dockerfile:
FROM ubuntu:22.04

RUN apt update
RUN apt install -y software-properties-common
RUN add-apt-repository ppa:kdenlive/kdenlive-master
RUN apt update

RUN apt install -y build-essential git cmake extra-cmake-modules libsm-dev
# KDE Frameworks 5, based on Qt5
RUN DEBIAN_FRONTEND=noninteractive apt install -y libkf5archive-dev libkf5bookmarks-dev libkf5coreaddons-dev libkf5config-dev \
libkf5configwidgets-dev libkf5dbusaddons-dev libkf5kio-dev libkf5widgetsaddons-dev \
libkf5notifyconfig-dev libkf5newstuff-dev libkf5xmlgui-dev libkf5declarative-dev \
libkf5notifications-dev libkf5guiaddons-dev libkf5textwidgets-dev libkf5purpose-dev \
libkf5iconthemes-dev libkf5crash-dev libkf5filemetadata-dev libkf5codecs-dev kio \
kinit qtdeclarative5-dev libqt5svg5-dev qml-module-qtquick-controls libqt5networkauth5-dev \
qtmultimedia5-dev qtquickcontrols2-5-dev qttools5-dev breeze-icon-theme breeze

# Multimedia stack
RUN apt install -y frei0r-plugins ffmpeg

# MLT, except if you want to build it manually 
RUN apt install -y libmlt++-dev libmlt-dev melt

RUN git clone https://invent.kde.org/multimedia/kdenlive.git
RUN mkdir -p /kdenlive/build
WORKDIR /kdenlive/build
RUN cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX="" -DKDE_INSTALL_USE_QT_SYS_PATHS=ON -DRELEASE_BUILD=OFF
RUN make -j20
RUN make install
Comment 1 emohr 2025-01-02 17:57:56 UTC
How do you have managed to build Kdenlive in docker?
Do you have a step-by-step guide?
Comment 2 mashkal2000@gmail.com 2025-01-02 20:08:11 UTC
(In reply to emohr from comment #1)
> How do you have managed to build Kdenlive in docker?
> Do you have a step-by-step guide?

I don't have a guide and I haven't built it in a while, but there are details here https://bugs.kde.org/show_bug.cgi?id=471281 and here: https://github.com/89luca89/distrobox/issues/867
Comment 3 Julius Künzel 2025-03-29 20:06:10 UTC
Without having test this in particular I strongly believe this is fixed. A while back we added support for headless rendering from the cmd by https://invent.kde.org/multimedia/kdenlive/-/merge_requests/414

```
$ kdenlive --help
Usage: kdenlive [options] file rendering
An open source video editor.

Options:
  -h, --help                      Displays help on commandline options.
  --help-all                      Displays help, including generic Qt options.
  -v, --version                   Displays version information.
  --author                        Show author information.
  --license                       Show license information.
  --desktopfile <file name>       The base file name of the desktop entry for
                                  this application.
  --config <config file>          Set a custom config file name.
  --mlt-path <mlt-path>           Set the path for MLT environment.
  --mlt-log <verbose/debug>       Set the MLT log level. Leave this unset for
                                  level "warning".
  -i <clips>                      Comma separated list of files to add as clips
                                  to the bin.
  --render                        Directly render the project and exit.
  --render-preset <renderPreset>  Kdenlive render preset name (MP4-H264/AAC
                                  will be used if none given).
  --render-async                  Exit after (detached) render process started,
                                  without this flag it exists only after it
                                  finished.

Arguments:
  file                            Kdenlive document to open.
  rendering                       Output file for rendered video.
```

It is used here https://invent.kde.org/multimedia/kdenlive-test-suite (inside a podman container).

Please check again.
Comment 4 Bug Janitor Service 2025-04-13 03:46:56 UTC
🐛🧹 ⚠️ This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information, then set the bug status to REPORTED. If there is no change for at least 30 days, it will be automatically closed as RESOLVED WORKSFORME.

For more information about our bug triaging procedures, please read https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging.

Thank you for helping us make KDE software even better for everyone!
Comment 5 mashkal2000@gmail.com 2025-04-13 06:10:16 UTC
(In reply to Julius Künzel from comment #3)
> Without having test this in particular I strongly believe this is fixed. A
> while back we added support for headless rendering from the cmd by
> https://invent.kde.org/multimedia/kdenlive/-/merge_requests/414
> 
> ```
> $ kdenlive --help
> Usage: kdenlive [options] file rendering
> An open source video editor.
> 
> Options:
>   -h, --help                      Displays help on commandline options.
>   --help-all                      Displays help, including generic Qt
> options.
>   -v, --version                   Displays version information.
>   --author                        Show author information.
>   --license                       Show license information.
>   --desktopfile <file name>       The base file name of the desktop entry for
>                                   this application.
>   --config <config file>          Set a custom config file name.
>   --mlt-path <mlt-path>           Set the path for MLT environment.
>   --mlt-log <verbose/debug>       Set the MLT log level. Leave this unset for
>                                   level "warning".
>   -i <clips>                      Comma separated list of files to add as
> clips
>                                   to the bin.
>   --render                        Directly render the project and exit.
>   --render-preset <renderPreset>  Kdenlive render preset name (MP4-H264/AAC
>                                   will be used if none given).
>   --render-async                  Exit after (detached) render process
> started,
>                                   without this flag it exists only after it
>                                   finished.
> 
> Arguments:
>   file                            Kdenlive document to open.
>   rendering                       Output file for rendered video.
> ```
> 
> It is used here https://invent.kde.org/multimedia/kdenlive-test-suite
> (inside a podman container).
> 
> Please check again.

Seems to work with the flatpak now.
```
> flatpak run org.kde.kdenlive --version
Qt: Session management error: Could not open network socket
kdenlive 24.12.3
QThreadStorage: entry 9 destroyed before end of thread 0x63432099b310
QThreadStorage: entry 4 destroyed before end of thread 0x63432099b310
QThreadStorage: entry 3 destroyed before end of thread 0x63432099b310
```
Great to hear that kdenlive now has headless rendering! That's exactly my use case.