Details
-
User Story
-
Resolution: Done
-
P2: Important
-
5.15, 6.x
Description
Tracking task for work required to make Qt work on Apple Silicon (arm64)
Please file any issues as standalone bugs and link them to this issue.
The work can be roughly grouped into three areas, by increasing priority:
- Making sure x86_64 builds of Qt work when running via Rosetta (
QTBUG-86405) - Making sure single architecture arm64 builds work and run fine
- Enabling universal builds of Qt, building and packaging x86_64 and arm64 together (
QTBUG-85447)
The last step is the one requiring the most work, as neither our qmake or CMake build systems are prepared for multi architecture builds. In the interim the user can build Qt twice, their app twice, and then lipo the application binaries into a universal app.
Note: The work for making Qt run well on macOS 11 (Big Sur) is tracked in QTBUG-85546
Building for Apple Silicon
Building on the DTK should work like a normal Qt for macOS build.
Cross compiling
With qmake
export DEVELOPER_DIR=/path/to/your/Xcode12-universal.app/Contents/Developer ./configure $CONFIGURE_OPTIONS -device-option QMAKE_APPLE_DEVICE_ARCHS=arm64
With CMake (Qt 6.0 only)
Build Qt for macOS natively first, so that you have the host tools buildt in for example /build/qt/6.0/qtbase. Then in /build/qt/6.0-arm/qtbase
export DEVELOPER_DIR=/path/to/your/Xcode12-universal.app/Contents/Developer cmake ~/dev/qt/6.0/qtbase -DQT_HOST_PATH=~/build/qt/6.0/qtbase -DCMAKE_SYSTEM_NAME=Darwin -DCMAKE_OSX_ARCHITECTURES=arm64
Attachments
Issue Links
- depends on
-
PYSIDE-802 Enable PySide/Shiboken cross compilation for different targets.
- Closed
-
PYSIDE-1033 Improve the shiboken build process
- Closed
- relates to
-
QTBUG-85528 QRegularExpression JIT compiler does not execute on Apple Silicon
- Closed
-
QTBUG-86429 macOS: unit 0 GLD_TEXTURE_INDEX_2D is unloadable and bound to sampler type (Float) - using zero texture because texture unloadable
- Closed
-
QTBUG-85281 AVX (and friends) on macOS Rosetta
- Closed
-
QTBUG-85546 Qt on macOS Big Sur (macOS 11 / 10.16)
- Closed
-
QTBUG-85447 Multi architecture (universal) builds
- Closed
-
QTBUG-85537 Enable QtWebEngine on macOS on ARM (moA)
- Closed
-
QTBUG-85600 macchangeqt/macdeployqt not built as host_build
- Reported
- mentioned in
-
Page Loading...
1.
|
Qt issues on Rosetta2 | Closed | Tor Arne Vestbø |
Gerrit Reviews
For Gerrit Dashboard: QTBUG-85279 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
307226,5 | Treat -xplatform or -device-option as being a cross compilation | 5.15 | qt/qtbase | Status: MERGED | +2 | 0 |
307228,3 | Treat -xplatform or -device-option as being a cross compilation | dev | qt/qtbase | Status: MERGED | +2 | 0 |
307233,3 | macOS: Exclude 32-bit builds by checking pointer size | dev | qt/qtbase | Status: MERGED | +2 | 0 |
307234,3 | macOS: Don't assume platform has objc_msgSendSuper_stret | dev | qt/qtbase | Status: MERGED | +2 | 0 |
307290,2 | macOS: Don't assume platform has objc_msgSendSuper_stret | 5.15 | qt/qtbase | Status: MERGED | +2 | 0 |
307291,2 | macOS: Don't assume platform has objc_msgSendSuper_stret | 5.12 | qt/qtbase | Status: MERGED | +2 | 0 |
307292,2 | macOS: Exclude 32-bit builds by checking pointer size | 5.12 | qt/qtbase | Status: MERGED | +2 | 0 |
307293,2 | macOS: Exclude 32-bit builds by checking pointer size | 5.15 | qt/qtbase | Status: MERGED | +2 | 0 |
307294,2 | Treat -xplatform or -device-option as being a cross compilation | 5.12 | qt/qtbase | Status: MERGED | +2 | 0 |
405349,5 | Fix clang set-but-unused-variable warning | 87-based | qt/qtwebengine-chromium | Status: MERGED | +2 | 0 |
405350,3 | Fix arm64 Skia build for macOS | 87-based | qt/qtwebengine-chromium | Status: MERGED | +2 | 0 |
405642,3 | Fixes for universal build | 87-based | qt/qtwebengine-chromium | Status: MERGED | +2 | 0 |
405660,9 | Add support for universal builds for qtwebengine and qtpdf | 5.15 | qt/qtwebengine | Status: MERGED | +2 | 0 |
405704,2 | Fix undefined symbol for universal link | 87-based | qt/qtwebengine-chromium | Status: MERGED | +2 | 0 |