Skip to content

chore(cpn): upgrade to Ubuntu 22.04 and Qt 6.9.0 #5986

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

Draft
wants to merge 51 commits into
base: main
Choose a base branch
from

Conversation

elecpower
Copy link
Collaborator

@elecpower elecpower commented Mar 12, 2025

Summary of changes:

  • upgrade Linux and MSYS2 to Ubuntu 22.04
  • upgrade to Qt 6.9.0
  • update dependencies per OS
  • eliminate Qt depreciation warnings and obsolete errors
  • update EdgeTX fork of maxLibQt as upstream project is no longer actively maintained TODO: consider bringing back into the project as thirdparty rather than an EdgeTX fork and needlessly fetching for each compile
  • patch third party QCustomPlot v2.1.1 as it does not support Qt 6.9.0 - TODO replace with release version when available
  • new installer bundles

TODO:

  • resolve dependencies for multimedia, ssl, etc
  • update official Docker image chore: bump Ubuntu, Qt and supporting versions build-edgetx#24
  • update Github workflows
  • update package installers
  • lots of testing especially areas of most likely breakages i.e. audio, Internet, logs viewer, installers
  • test cloud build
  • test gitpod
  • update user build scripts and documentation
  • repoint devcontainer and all git scripts to latest Docker image after PR24 it is merged

Notes:

  • Qt multimedia has received a major overhaul so expect it to take some effort by devs in each os to get audio working and bundling for the installers
  • Qt networking now supports openssl v3

@elecpower elecpower added documentation Improvements or additions to documentation companion Related to the companion software simulator house keeping 🧹 Cleanup of code and house keeping labels Mar 12, 2025
@elecpower elecpower added this to the 3.0 milestone Mar 12, 2025
@elecpower elecpower marked this pull request as draft March 12, 2025 12:08
@pfeerick
Copy link
Member

No need for this one as nightlies don't run on PR context. ;) I'm heading out now so can't look at the build errors sorry.
761cc96 Update nightlies devcontainer image tag

@elecpower
Copy link
Collaborator Author

No need for this one as nightlies don't run on PR context. ;) I'm heading out now so can't look at the build errors sorry.
761cc96 Update nightlies devcontainer image tag

Undid that one

@elecpower
Copy link
Collaborator Author

I thought I got rid of the compiler warnings only to have a plethora of new ones come to light in win and mac :-(

@elecpower
Copy link
Collaborator Author

Compiles across all OSes and reduced compiler warnings to as few as possible.
Macos fails building the installer. Suspect variables and paths changed for latest Mac qt installer.
However since I do not have macos toolchain, it is not worth another dev tackling just yet since I haven't tested Linux and Win. I expect changes to Linux dependencies which will likely flow to Mac.

@pfeerick
Copy link
Member

A quick "does it run" test of the Linux build suggests that it does (on Linux Mint 22)... loaded up fine, and was able to view, edit and simulate an ETX file. Simulator froze during radio setup when I set a valid SD card path, so possibly something around sound again, although simple "beep" sounds worked if I didn't have the path set.

The AppImage is definitely putting on weight though... 🐘 ... here are the zip file packages for some of the recent releases... 😆

image

@elecpower
Copy link
Collaborator Author

elecpower commented Mar 16, 2025

Not surprisingly appimage growing so is the devcontainer.
You might find some messages in the simulator log. I did have some when running natively in the devcontainer but haven't had time to delve into as the pop up. I suspect this could be painful.

@elecpower
Copy link
Collaborator Author

Sounds are imbedded in the executable resources but from memory still get played the same.

@elecpower elecpower force-pushed the elecpower/chore-noble-qt6 branch from be3fb77 to f9317a7 Compare April 29, 2025 05:51
@elecpower elecpower changed the title chore(cpn): upgrade to Ubuntu 24.04 and Qt 6.8.2 chore(cpn): upgrade to Ubuntu 24.04 and Qt 6.9.0 Apr 29, 2025
@pfeerick
Copy link
Member

pfeerick commented Apr 29, 2025

Since this is referencing 6.8.2 also (so same as EdgeTX/build-edgetx#24) can you rebase again or push some other commit to this so I can see if the commit tests still work (or not work), and if pillow needs to be pinned again. 🤪 No great rush. 😪

@elecpower elecpower changed the title chore(cpn): upgrade to Ubuntu 24.04 and Qt 6.9.0 chore(cpn): upgrade to Ubuntu 22.04 and Qt 6.9.0 May 2, 2025
@elecpower
Copy link
Collaborator Author

elecpower commented May 2, 2025

@pfeerick tested using Linux Companion workflow AppImage. Companion SF play button and tx16S sim on Ubuntu 22.04 and Mint Cinnamon 22.01 VMs and sound heard.

@elecpower elecpower force-pushed the elecpower/chore-noble-qt6 branch from 8239da4 to 65edb6c Compare May 3, 2025 01:41
@elecpower
Copy link
Collaborator Author

Going to try macdeployqt to fix mac packaging and hopefully reduce the customisation

@elecpower
Copy link
Collaborator Author

MacOS package built but does it work?

I do not have one so can one of of you MacOS devs please test.

@philmoz
Copy link
Collaborator

philmoz commented May 4, 2025

Does not run on MacOS:

  • package name is incorrect 'companion.app', should be 'EdgeTX Companion 3.0.app'
  • Missing 'Frameworks', and 'Plugins' folders from bundle (QT, SDL and USB libs)

@elecpower
Copy link
Collaborator Author

Does not run on MacOS:

  • package name is incorrect 'companion.app', should be 'EdgeTX Companion 3.0.app'
  • Missing 'Frameworks', and 'Plugins' folders from bundle (QT, SDL and USB libs)

@philmoz appreciate you testing. I half expected the missing as I suspected it might use the inbuilt cpack DnD. Need to work out the combination of variables. Worse part is how long it takes to build to either fail or succeed and then have someone like yourself check the result.

@elecpower elecpower force-pushed the elecpower/chore-noble-qt6 branch 2 times, most recently from 8d39257 to 4db90df Compare May 10, 2025 23:05
@elecpower elecpower force-pushed the elecpower/chore-noble-qt6 branch from 9801edd to c39ae51 Compare May 25, 2025 09:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
companion Related to the companion software documentation Improvements or additions to documentation house keeping 🧹 Cleanup of code and house keeping simulator
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants