Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI: add patchelf ppa for ARM to fix running on non-4K pagesizes #20356

Merged
merged 1 commit into from
Dec 7, 2023

Conversation

theofficialgman
Copy link
Contributor

@theofficialgman theofficialgman commented Dec 7, 2023

Resolves: #20342
@cbjeukendrup

Use patchelf from ppa (backported from jammy) created for fix running on non 4K pagesizes (NixOS/patchelf@0470d69).
https://launchpad.net/~theofficialgman/+archive/ubuntu/patchelf

test run here: https://github.com/theofficialgman/MuseScore/actions/runs/7123620314

Verified the isssue is fixed on an ARM64 system with 16K pagesize (Pi5 with 16K pagesize kernel).

  • I signed the CLA
  • The title of the PR describes the problem it addresses
  • Each commit's message describes its purpose and effects, and references the issue it resolves
  • If changes are extensive, there is a sequence of easily reviewable commits
  • The code in the PR follows the coding rules
  • There are no unnecessary changes
  • The code compiles and runs on my machine, preferably after each commit individually
  • I created a unit test or vtest to verify the changes I made (if applicable)

@theofficialgman
Copy link
Contributor Author

Also please pick this to 4.2.0 branch as well

@rxhfcy
Copy link

rxhfcy commented Dec 7, 2023

I have not tested on an ARM64 system with 16K/64K pagesize and would appreciate if @rxhfcy could check that it works now with the above run appimage.

OK, I clicked https://github.com/theofficialgman/MuseScore/actions/runs/7123620314, then https://github.com/theofficialgman/MuseScore/suites/18829333452/artifacts/1098451649, which downloaded MU4_233410405_Lin_aarch64_patchelf-backport.zip, I then extracted MuseScore-4.3.0.233410405-aarch64.AppImage from there and ran that from the command line.

Seemed to launch OK now

...except that (EDIT: removed false alert about the application window not being a proper Wayland window) everything was tiny on the screen (screenshot here), for comparison, the Fedora distro package for MuseScore 4.1 looked better (screenshot here)

Also, the window icon (in the upper left corner) was a weird X.org logo instead of the MuseScore logo.

And this looked suspicious:
qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""

$ ./MuseScore-4.3.0.233410405-aarch64.AppImage 
/lib64/libjack.so.0
/lib64/libnss3.so
qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
16:30:12.782 | INFO  | main_thread     | GlobalModule::onPreInit | log path: /home/user/.local/share/MuseScore/MuseScore4Development/logs/MuseScore_231207_163012.log
16:30:12.782 | INFO  | main_thread     | GlobalModule::onPreInit | === Started MuseScore 4.3.0-dev, build number 233410405 ===
16:30:12.788 | ERROR | main_thread     | LanguagesService::setCurrentLanguage | Unsupported language code: "system" 
16:30:12.795 | WARN  | main_thread     | IpcSocket::connect | failed connect to server
16:30:12.795 | WARN  | main_thread     | IpcSocket::connect | failed connect to server
16:30:12.796 | INFO  | main_thread     | IpcSocket::connect | success connected to ipc server
16:30:12.796 | INFO  | 281471755481088 | IpcServer::listen | id: "c3b0cff730be4f32a29c1a9e38586e7b" 
16:30:12.890 | INFO  | main_thread     | DiagnosticsModule::onInit | success start crash handler
16:30:12.945 | ERROR | main_thread     | MuseSamplerLibHandler::MuseSamplerLibHandler | Unable to open MuseSampler library, path: /home/user/.local/share/MuseSampler/lib/libMuseSamplerCoreLib.so
16:30:12.945 | ERROR | main_thread     | MuseSamplerResolver::checkLibrary | Incompatible MuseSampler library; ignoring
16:30:12.946 | ERROR | main_thread     | MuseSamplerLibHandler::MuseSamplerLibHandler | Unable to open MuseSampler library, path: libMuseSamplerCoreLib.so
16:30:12.946 | ERROR | main_thread     | MuseSamplerResolver::checkLibrary | Incompatible MuseSampler library; ignoring
16:30:12.949 | WARN  | main_thread     | Qt              | QIODevice::read (QFile, "/home/user/.local/share/MuseScore/MuseScore4Development/shortcuts.xml"): device not open
16:30:12.950 | WARN  | main_thread     | Qt              | QIODevice::read (QFile, "/home/user/.local/share/MuseScore/MuseScore4Development/midi_mappings.xml"): device not open
16:30:12.982 | WARN  | main_thread     | AbstractCloudService::readTokens | Could not find the tokens file: /home/user/.local/share/MuseScore/MuseScore4Development/musescorecom_cred.dat
16:30:12.982 | WARN  | main_thread     | AbstractCloudService::readTokens | Could not find the tokens file: /home/user/.local/share/MuseScore/MuseScore4Development/audiocom_cred.dat
16:30:13.336 | ERROR | main_thread     | PluginsConfiguration::updatePluginsConfiguration | [401] The file does not exist
16:30:14.253 | ERROR | main_thread     | App::run        | error: qrc:/qml/MuseScore/UiComponents/FlatButton.qml:179:5: QML Loader: Binding loop detected for property "itemImplicitWidth"

16:30:14.253 | WARN  | main_thread     | Qt              | qrc:/qml/MuseScore/UiComponents/FlatButton.qml:179:5: QML Loader: Binding loop detected for property "itemImplicitWidth"
16:30:14.254 | ERROR | main_thread     | App::run        | error: qrc:/qml/MuseScore/UiComponents/FlatButton.qml:179:5: QML Loader: Binding loop detected for property "itemImplicitWidth"
<clip>

@theofficialgman
Copy link
Contributor Author

...except that the application window wasn't a proper Wayland window I think, everything was tiny on the screen (screenshot here), for comparison, the Fedora distro package for MuseScore 4.1 looked better (screenshot here)

Also, the window icon (in the upper left corner) was a weird X.org logo instead of the MuseScore logo.

And this looked suspicious: qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""

this is unrelated to the PR. I would suggest opening a new issue or going to the original PR where wayland support was enabled #13781

@theofficialgman
Copy link
Contributor Author

linuxdeploy-plugin-qt is too old on the arm setup script to use the EXTRA_PLATFORM_PLUGINS linuxdeploy/linuxdeploy-plugin-qt@76a163b

I will see about bumping the version

@rxhfcy
Copy link

rxhfcy commented Dec 7, 2023

linuxdeploy-plugin-qt is too old on the arm setup script to use the EXTRA_PLATFORM_PLUGINS linuxdeploy/linuxdeploy-plugin-qt@76a163b

I will see about bumping the version

OK thanks (I won't file a new issue, at least not yet).

BTW I verified that it was indeed a "real" wayland window (my KDE Plasma 6 fractional scaling (175 %) was not applied I think)

@cbjeukendrup
Copy link
Contributor

@theofficialgman Do you prefer if I merge this PR (which improves the situation anyway) right now, or do you want to add the linuxdeplay-plugin-qt update to this PR as well?

@theofficialgman
Copy link
Contributor Author

@theofficialgman Do you prefer if I merge this PR (which improves the situation anyway) right now, or do you want to add the linuxdeplay-plugin-qt update to this PR as well?

@cbjeukendrup go ahead and merge
I'm still testing the linuxdeploy-plugin-qt changes in another branch. I am taking the opportunity to make things faster (use upstream appimages where possible that were made since the original PR)

@cbjeukendrup cbjeukendrup merged commit efba427 into musescore:master Dec 7, 2023
11 checks passed
@cbjeukendrup
Copy link
Contributor

Sounds great, thanks!

@RomanPudashkin RomanPudashkin mentioned this pull request Dec 11, 2023
theofficialgman added a commit to Botspot/pi-apps that referenced this pull request Dec 18, 2023
also drop 4K pagesize requirement as this was corrected upstream by using a newer version of patchelf musescore/MuseScore#20356
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants