Need to modernize the GUI

More
15 Jan 2023 01:40 #262003 by JetForMe
 Apologies in advance for the ranty nature of this post, and for any ignorance on my part…

I've had an M1 Mac for over a year now (and it was out for some time before that). There have been some hiccups along the way due to the ARM architecture, but most of these were resolved some time ago. The worst was not having Windows that could run on ARM in the Parallels VM, and then it was issues with serial ports (FTDI didn't have signed ARM drivers for the longest time). Virtually all Mac software and anything available via Machomebrew just worked by the time I got my M1.

Now I don't plan to try to run LinuxCNC on macOS, but I do need to be able to develop components for it in a Linux VM on my Mac, which means needing ARM support. Debian 11 "Bullseye" runs well, but older packages are simply not available for it (I'm looking at you, GTK+2).

ARM computers are rapidly gaining ground in the market. LinuxCNC is going to need to update to at least GTK+3, but really should probably skip to 4, which unfortunately is no longer supported by Glade (there are alternatives ). But even putting the processor architecture aside, GTK+2 is well and truly obsolete, and is weighing LinuxCNC down.

I imagine it's quite a challenge to bring the various GUIs up to modern standards. PathPilot is stuck on Python 2 and GTK+2, but they've moved their robot PP to Python3 and Qt, and expect to have that for their CNC machines in 2024. I've spent several dozen hours poring over the LinuxCNC codebase, and it's a bit of a mess. I understand why, given its long and storied history, but it's a mess. Lots of interdependencies between modules and a lack of clean layering, not to mention a seeming requirement for at least three languages and two UI frameworks, all thrown into a single repository, sure isn't making big changes like this easier.

It's great that LinuxCNC can run on really old and varied hardware and OSes, but that shouldn't keep it from running on the latest, too.
 

Please Log in or Create an account to join the conversation.

More
15 Jan 2023 03:29 #262012 by cmorley
Replied by cmorley on topic Need to modernize the GUI
linuxcnc uses python3 gtk3 pyqt5 now in the upcoming 2.9 and in master.
The following user(s) said Thank You: JetForMe

Please Log in or Create an account to join the conversation.

Time to create page: 0.090 seconds
Powered by Kunena Forum