![]() |
#1 |
Sigil Developer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 8,439
Karma: 5703082
Join Date: Nov 2009
Device: many
|
Sigil on Apple M1 running under Rosetta 2?
If anyone has access to a new Apple system with their M1 chip, I would love to know if current Mac Sigil-1.4.2 will run well (or at all) under Rosetta 2 on your new system.
The earlier Apple Silicon Development kit machines had an issue related to pagesize (4K intel vs 16k Apple Silicon) that impacted JIT for javascript that made both Chrome and QtWebEngine fail under Rosseta 2 on the Development Kit. Since Sigil uses QtWebEngine (mainly for Preview), it fails on that Development Kit system as well. Does current Mac Sigil-1.4.2 work (specifically Preview) on Apple's new M1 machines? I am hoping to buy a new Mac Mini with the M1 at some point but since I just bought a new MacBookPro 16 six months ago, my wife would not be happy and given the prices of those things, I don't blame her! Last edited by KevinH; 11-25-2020 at 11:54 AM. |
![]() |
![]() |
![]() |
#2 |
Evangelist
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 440
Karma: 77256
Join Date: Sep 2011
Device: none
|
Sigil on Apple M1 running under Rosetta 2?
Perhaps a bit has changed since your post. I don’t recall others posting reports so unsure. I’ll have my Apple Silicon Mac soon and report back if useful.
I’m mainly curious if it’s possible myself to create an Apple Silicon build. I noticed your comment in the Qt bug report. Since then, native support has been added I believe with Qt 6.2. Such a migration may take a while. Others in the report have patches for 5.x, and it I think there was mention of most of them being later incorporated into 5.x. Perhaps the latest 5.x isn’t supported or maybe one can unofficially get it working. I have heard mention of increased battery drain using Rosetta 2. Not sure yet how much of a difference there is, yet since I may often use Sigil and be outside without a plug, having near all day battery, as close as I can get, would be preferable. If you have tried to make an unofficial Apple Silicon build, or you think it’s possible, I’d appreciate any assistance. Very likely I will try and see how far I can get. I can briefly document such if it is of aid to others. |
![]() |
![]() |
Advert | |
|
![]() |
#3 |
Sigil Developer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 8,439
Karma: 5703082
Join Date: Nov 2009
Device: many
|
I have no access to a newer arm64 M1 machine. We have no immediate plans to update to newer Qt versions than the 5.12.x builds we use now as it would require us to drop support for macOS 10.12 (for Qt 5.15.x) and even 10.13 for Qt 6.x builds.
If you know of patches to get Qt 5.15 and QtWebEngine from 5.15 to build and actually work on M1 machines, that would be helpful! Python 3.9.x and Python 3.10 should already build on M1. I think pcre2 supports arm64 as well. Libffi and a few others may still need work but hopefully not. I just hate leaving older versions of macOS behind just to constantly upgrade Qt. As far as I know, Sigil 1.8 should run just fine under Rosetta 2. That is our first priority. If you can test and confirm that, it would be helpful. Last edited by KevinH; 11-27-2021 at 07:53 PM. |
![]() |
![]() |
![]() |
#4 |
Evangelist
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 440
Karma: 77256
Join Date: Sep 2011
Device: none
|
Understand that dropping support is in some sense a difficult decision. Perhaps eventually such will be needed; that decision is up to you of course. Current calibre I believe requires 10.14, though you may wish to maintain support for older for longer.
As it is this time of the year, plus other things are going on, it could mid-next week when I get the new machine, the following week, or a bit after. I’ll likely soon afterwards try a build, and at least report how the current runs under Rosetta 2. As you say, it should be fine. Depending on difficulty of patches and hunting down issues, maybe it won’t be so bad, or maybe I’ll get stuck here or there and then put off the next step for a bit. I will really try to reach completion eventually. There is mention of a qtwebengine patch for 5.15.3. Perhaps such and the other patches can be backported though you’d know more about that. There is the question of whether the Qt maintainers will backport 6.x work to 5.15. According to that thread, it’s undecided though I haven’t looked elsewhere to understand the current state of things. Overall, I have a great interest in finding out of a native build is possible – I very possibly will attempt such with calibre too –, and am happy to document it if successful so you can decide how you wish to proceed. |
![]() |
![]() |
![]() |
#5 |
Sigil Developer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 8,439
Karma: 5703082
Join Date: Nov 2009
Device: many
|
DiapDealer has already looked at building Sigil against Qt 6.x at least for Linux. I can see Sigil moving to Qt 5.15 at some point first though. Dropping support for macOS versions less than 4 years old just makes no sense to me. Qt is what determines this and they seem to be dropping support for older macOS for no valid reasons. Many open source software projects work back to macOS 10.9. Because of Qt, Sigil can only support back to macOS 10.12
|
![]() |
![]() |
Advert | |
|
![]() |
#6 |
Evangelist
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 440
Karma: 77256
Join Date: Sep 2011
Device: none
|
I know little about Qt though a possibility may be that they are ensuring that every dependency of every module is currently maintained with bug and security fixes. That may determine their requirements.
|
![]() |
![]() |
![]() |
#7 |
Enthusiast
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 35
Karma: 14720
Join Date: Mar 2016
Device: kindle voyage, Kobo Forma, Kobo Aura One
|
I bought a new MacBook Air M1 (running Big Sur) last week and installed Sigil 1.8.0 and also Page Edit. I have only had time to open one ebook and test a validation plugin and that was fine. I still have to install active tcl. I don’t have Rosetta 2 installed.
|
![]() |
![]() |
![]() |
#8 |
Sigil Developer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 8,439
Karma: 5703082
Join Date: Nov 2009
Device: many
|
Rosetta 2 is built into the macOS for M1 based machines to allow them to run apps and libraries built with the now older intel code used by earlier macOS machines natively.
Glad to hear it is working! |
![]() |
![]() |
![]() |
#9 |
Grand Sorcerer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 28,341
Karma: 203719646
Join Date: Jan 2010
Device: Nexus 7, Kindle Fire HD
|
I'm in no hurry at all to join Qt in its quest to make only the very latest hardware (and the very latest OSes running on it) the only viable options for both users and developers.
As such, I'll work at my leisure (in a very piecemeal manner) to modify Sigil's codebase (and build system) to support building with both Qt5/Qt6. When Sigil CAN be built using Q6, I'll invite hobbyists to experiment with those Qt6 Sigil builds to assist in working out most bugs. But make no mistake: I probably won't start distributing any Sigil Qt6 installers (or recommending package maintainers do) until such time as NOT moving to Qt6 might begin harming Sigil's ability to stay relevant. It will be a long, long rollout (and as KevinH mentioned, Qt5.15 will come before) before Sigil is able to built using Qt6, let alone be distributed with Qt6. We'll also need to give plugin devs a lot of lead time to make sure their PyQt5-based plugins will be able to work with both Qt5 and Qt6 versions of Sigil. It won't be impossible at all. But just the changes necessary to get Sigil to compile using Qt6 will be extensive and invasive (and that's WITH Qt's compatibility libraries intended to facilitate such porting). Getting the cmake build system (and the codebase) to support using either Qt5 or Qt6 will be more daunting, but necessary, I think, to continue to support older systems that Qt6 will leave behind. A C++17-compatible compiler is required to build Qt6 applications. Last edited by DiapDealer; 11-28-2021 at 10:32 AM. |
![]() |
![]() |
![]() |
#10 |
Evangelist
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 440
Karma: 77256
Join Date: Sep 2011
Device: none
|
Sigil on Apple M1 running under Rosetta 2?
I thought I'd give it a go since it should be possible to build Apple Silicon and Universal on Intel.
First trying the patches for QtWebEngine, I found some files are not there. From what I can tell, the needed updates to Qt5 exist only in 5.15.3+ which is now LTS and commercial only. Maybe it can work somehow in 5.15.2 but I haven't tried a compile yet. Seems there is uproar that 5.15 maintenance is no longer open source. Later I will see if 5.15.2 works but perhaps it won't. If such is the case, then maybe a AS build is far off. Perhaps such is a factor that led Kovid to already start the migration to Qt6. Edit: not familiar with Qt, I found the needed qtwebengine on GitHub. As there is mention of qtbase 5.15.2, though the patcher did not try it, seems like it could be fine. I’ll continue a bit later. Last edited by democrite; 11-28-2021 at 07:05 PM. |
![]() |
![]() |
![]() |
#11 |
Sigil Developer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 8,439
Karma: 5703082
Join Date: Nov 2009
Device: many
|
FWIW, QtWebEngine in 5.15.x where x is 3 or higher may be available separately as source and should compile and link against earlier Qt versions. It seems to follow a slightly different license than the rest of Qt.
|
![]() |
![]() |
![]() |
#12 |
Sigil Developer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 8,439
Karma: 5703082
Join Date: Nov 2009
Device: many
|
And when you get a few moments, would you please post links to the patches you found that add arm64 support to Qt 5.15.x.
Thanks. |
![]() |
![]() |
![]() |
#13 |
Evangelist
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 440
Karma: 77256
Join Date: Sep 2011
Device: none
|
Yes I had found QTWebEngine is on GitHub and all 5.15.x versions are there. I had edited my post, but perhaps that was after your reply.
I’ll continue perhaps tomorrow or later in the week. The patches found so far are all in QTBUG-85279, Qt for macOS on Apple Silicon (arm64): 1. QtWebEngine patch for 5.15.3(+?): https://bugreports.qt.io/browse/QTBU...comment-562355 2. Patches and process for Universal binaries on 5.15.2+; I’m not sure if it incorporates all the comments from that bug (and others?) as I haven’t tried yet but it seems complete: https://github.com/crystalidea/macdeployqt-universal Last edited by democrite; 11-28-2021 at 10:10 PM. |
![]() |
![]() |
![]() |
#14 |
Sigil Developer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 8,439
Karma: 5703082
Join Date: Nov 2009
Device: many
|
Thanks for those links to patches. FWIW, the KDE community is keeping its own Qt 5.15.X with X > 2 tree with backported critical patches suitable for a LTS release.
You can find more info here: https://community.kde.org/Qt5PatchCollection And you can use the following command to checkout the latest KDE Qt 5.15.X tree fully patched: Code:
git clone --recursive --branch kde/5.15 --depth 1 --single-branch --shallow-submodules https://invent.kde.org/qt/qt/qt5.git |
![]() |
![]() |
![]() |
#15 |
Sigil Developer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 8,439
Karma: 5703082
Join Date: Nov 2009
Device: many
|
Update: That KDE/Qt 5.15 DOES have the patches in place to build Qt on M1. If you checkout their tree and replace their qtwebengine with the official QtWebEngine 5.15.7 tree (available from https://github.com/qt/qtwebengine), you should have something that will build and work on M1.
You can grab the latest Qt WebEngine 5.15.7 plus any new fixes by the following: Code:
git clone --recursive --branch 5.15 --depth 1 --single-branch --shallow-submodules https://github.com/qt/qtwebengine.git |
![]() |
![]() |
![]() |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Is Calibre compatible with Apple Silicon M1 Macs (using rosetta 2)? | kirk8677 | Calibre | 29 | 01-22-2021 07:39 AM |
Error on running Sigil via Qt-Creator | nirosan | Sigil | 2 | 10-28-2017 08:51 AM |
Trouble running Sigil 0.9.7 | John2011 | Sigil | 11 | 12-29-2016 07:28 AM |
UnicodeWarning when running Sigil plugin | turbulent | Plugins | 9 | 12-17-2014 07:11 AM |
Reporting an error when running Sigil 0.8.2 | turbulent | Sigil | 2 | 12-13-2014 10:23 PM |