Qt6 migration
https://www.qt.io/blog/qt6-development-hosts-and-targets
https://doc.qt.io/qt-6/modulechanges.html
Current blockers
-
Startup freeze on Mac (was caused by the App Bundle not signed. CD now signs master and stable branch) -
Dragging a clip from bin to timeline recreates the item on each mouse move -
Distorted text in qml monitor overlay - this is a QQC2 Desktop style issue. Setting QT_QUICK_CONTROLS_STYLE=Universal
makes the problem go away
General issues
-
Audio recording on audio track not working (TODO - not yet reimplemented - it never worked on Mac though).
AppImage
-
In Dark Mode -> Icons are dark (i.e. Icons on track header) -
Python venv not working - the install script fails at the pip stage. Extracting the Appimage using --appimage-extract and running the AppRun inside squashfs-root works, but not when started directly from the AppImage... Fixed by disabling the checkrt AppImage plugin. However this means the AppImage now doesn't run on older distros
File \"/tmp/tmpfqn9ricl/pip-23.2-py3-none-any.whl/pip/_vendor/distro/distro.py\", line 1198, in _uname_info
stdout = subprocess.check_output(cmd, stderr=subprocess.DEVNULL)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File \"/usr/lib/python3.11/subprocess.py\", line 466, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File \"/usr/lib/python3.11/subprocess.py\", line 571, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '('uname', '-rs')' died with <Signals.SIGSEGV: 11>.
Windows specific issues
-
Switching the Color Scheme takes very, very long. -
Standalone: Color Scheme are not available -
Monitors: F11 and double click leads to a white screen see bug 480891 -
No files are displayed in File dialog when there are more than 100 "supported files" in the folder. See KF6 bug 481311 and KIO merge request here. Details see here, also reported freeze here -
Online resources -> no service available -
Dark mode: Download new effects / new title template -> Background color not aligned with breeze settings (dark mode). Text is white. Fixed: 0791d446 -
When starting Kdenlive fresh, the cursor sand clock
appear even after creating a new project. Start Kdenlive -> click onAdd clip or Folder
-> change the folder -> click oncancel
-> the cursor is back to normal. After a project is loaded the cursorarrow
appear and cursor behavior is normal even after creating a new project. This is related to the mediabrowser widget issue and KIO merge request here. -
Effect view. All categories are missing and the icon color looks bad. -
Languages are missing -
Language switch is always reset after Kdenlive is started new. Fixed: 7c6a7361
MacOS specific issues
-
Crash when clicking in Subtitle Manager on close. Here the crashlog Mac_Crash-click-on-OK-in-subtitle-manager.txt -
Monitors: F11 and double click leads to a white screen see bug 480891 -
Dark mode: Download new effects / new title template -> Background color not aligned with breeze settings (dark mode). Text is white. -
Crash on parsing devices using Solid. Might be because we need to explicitly request permission in Info.plist file ? Fixed by disabling the check for removable drives in e7804ec0 -
Color themes not found. The themes are installed in the same location as Qt5 (in Resources/color-schemes), but not found. Looking at KColorScheme frameworks, it looks for them in QStandardPaths::GenericDataLocation, which on Mac is ~/Library/Application Support. Moving the color-schemes folder here solves the problem. So some packaging trick is probably necessary to make the App find it in Resources folder. Not sure if something changed in Mac Packaging.... Fixed packaging/craft-blueprints-kde@b86fe254 -
Languages are missing. Same issue as Color Themes (copying in ~/Library/Application Support makes them available. Language switch fixed: 7c6a7361
Tasks collector when switching to Qt6
-
switch to function onFrameFormatChanged() {}
fe2fc194 -
KF6 migration #1111 (closed) -
minimum CMake 3.16 -
change some CMake code (replace "Qt5" with "Qt") -
Porting all QT function to Qt5.15 before update to Qt6 (https://www.youtube.com/watch?v=gbZZEIAXt3c) -
Solve all depreciation warnings in Qt5.15. -
Windows compiler: MSVC 2019, MinGW 11.2, packaging/craft@70f18e31 -
Windows Graphics: Direct 3D 11.1, Vulkan 1.0, or OpenGL 2.1 (ANGLE is no longer shipped with Qt in Qt 6). PortFixed via bfb1ef4cQAudioRecorder
(removed in Qt6) toQMediaCaptureSession
(added in Qt 6.2) -
Port away from QtQuickControls 1 (QQC1)
- For information: minimum requirements C++17
- (port source code to C++17? Use clang-tidy
modernize-use-override
) - (gcc >= 11.2, clang >= LLVM 8.0, or MSVC >= 2019)
- (port source code to C++17? Use clang-tidy
- For information: Shotcut QT6 integration https://github.com/mltframework/shotcut/pull/1398
- For information: Porting from Qt 5 to Qt 6 using Clazy checks. The checks have to be run against Qt 5, and the fixed code will only compile with Qt 6.
Task that can be already done while still using Qt5
-
Replace QRegExp
byQRegularExpression
(since Qt 5.0) -
ReplaceWe don't have this in the code. Some are here: 147abbfbQStringRef
byQStringView
(since Qt 5.10, feature complete since 5.15) -
First steps to preparing the code if we building against QT6 5cfe5ef0...82b50b0a
Host operating systems in Qt 6.0:
-
Support only Windows 10 (1809 or later) (64bit Intel; msvc2019 or mingw11.2/gcc11.2)
(Dec-23: 3.35% Win7 user https://gs.statcounter.com, 2.1% Win7 user on Kdenlive homepage) - macOS only in Version 11, 12, 13 (64bit Intel; XCode 11), 64bit.
Linux (https://doc.qt.io/qt-6/linux.html)
- Ubuntu 22.04 (64bit Intel; gcc 11x)
- CentOS 8.6 (64bit Intel; gcc 10)
- SLES 15 SPS (SUSE Linux Enterprise Server, 64bit Intel; gcc10)
- Open SUSE 15.5 (64bit; gcc 9)
Links to Qt6 porting documentation: