Skip to content

Gtk3 port - #943

Closed
rene-dev wants to merge 162 commits into
LinuxCNC:masterfrom
rene-dev:limuxcmc
Closed

rene-dev wants to merge 162 commits into
LinuxCNC:masterfrom
rene-dev:limuxcmc

Conversation

@rene-dev

Copy link
Copy Markdown
Member

This branch does the following:

  • port gladevcp to Gtk3
  • WIP on all new gremlin, based on a openGL core profile(gtk3 doesnt allow legacy profiles)
  • Not compatible with python2 or gtk2 anymore.
  • change default python to python3
  • fix dependencies and packaging for gtk3 and python3 on focal, mint20 and buster
  • anything older than focal/buster doesn't fully work due to bugs in Gtk, and incompatibility of older glade with python3.

Currently mostly working:

  • Gmoccapy
  • Touchy
  • basic gcode rendering in new gremlin(no backplot, no tool, no buttons)

I'm keeping track of bugs/TODOs using the gtk3 label:
https://github.com/LinuxCNC/linuxcnc/issues?q=is%3Aissue+is%3Aopen+label%3Agtk3

I'm encouraging everybody to test this, and report any bugs.

@satiowadahc

Copy link
Copy Markdown
Contributor

I've been using this as the base for most of my testing with python3. One small annoyance that I can't seem to find the source of.
From Scratch:

cd debian
./configure uspace
cd ..
dpkg-checkbuilddeps

There is an extra new line, if the OS is not recognized, before Section: libs

@andypugh

andypugh commented May 9, 2021

Copy link
Copy Markdown
Collaborator

I think that maybe we should try to reach an agreement that we should allow breaking existing configs to get free of Py2 and GTK2.
Maybe even an actual IRC meeting (like we did, briefly, several years ago.).
Or just a proposal on the dev mailing list. (and if no-one objects constructively then take it as accepted)

@gmoccapy

Copy link
Copy Markdown
Collaborator

Hallo,

I do agree with Andy. We should take a decision.
As Mint 20 already if giving big problems installing LinuxCNC with py2, we should not take too long for this.

Breaking thinks in master is something master is made for, isn't it?
And some people installing now master should better not do so, at least if I read some of the post in the forum.

m2ct : Skip support of py2 and gtk2 completely in master, even knowing that that will for sure brake gmoccapy and that mean a lot of work for me as maintainer of this GUI.

Norbert

@ghost

ghost commented May 11, 2021

Copy link
Copy Markdown

We do need to bite the bullet and do it at some stage, I have no objections. It may be worth considering making the version number 3 to make it more distinguishable.

@c-morley

Copy link
Copy Markdown
Collaborator

I don't think anyone really thinks we can/should keep supporting py2 in the future.
The real questions are how/when will we transition - as the transition will be very disruptive.
Will we do a final py2 release first?
Will we wait until we have every program converted to py3?
How will we warning/inform users (in production/semi-production) of master that we will break everything.
Keeping in mind if a user is using master in older distributions, it may require the user to upgrade to a new distribution to have python3 support.
We should start warning people soon.
We need to discuss the plan, the decision has already been made for us by the python/distribution developers.

@jethornton

jethornton commented May 11, 2021 via email

Copy link
Copy Markdown
Collaborator

@andypugh

Copy link
Copy Markdown
Collaborator

We do need to bite the bullet and do it at some stage, I have no objections. It may be worth considering making the version number 3 to make it more distinguishable.

My opinion is that we should keep the 2, as a reminder that we are EMC2. So the next versions will be 2.9, 2.10. 2.11....
I don't think that going back to EMC2 at this point would be helpful, there was enough user-confusion when we changed last time.

@andypugh

andypugh commented May 11, 2021 •

Copy link
Copy Markdown
Collaborator

I don't think anyone really thinks we can/should keep supporting py2 in the future.
The real questions are how/when will we transition - as the transition will be very disruptive.
Will we do a final py2 release first?

I think that 2.8,nnn should be the last Py2 version. We should announce the imminent withdrawal of Py2 in Master on the mailing list and forum, and then just get on with it.

But I think that we should have this discussion on the developers list too.

@andypugh

Copy link
Copy Markdown
Collaborator

See also cf8ebfe

@rene-dev

Copy link
Copy Markdown
Member Author

one final release before this is merged is probably the best way to go. a good time is soon, but it does need more testing by other users and on a real machine. touchy is close to working, gmoccapy is a little more work. axis fully working, QT should not be a problem.

@andypugh

Copy link
Copy Markdown
Collaborator

See also cf8ebfe

This means that buildbot won't be building Master on old distributions. (I think). Which will limit the exposure of legacy systems running buildbot releases to any changes in Master.

@saxa

saxa commented May 11, 2021

Copy link
Copy Markdown

I think GTK3 is nearly a must, or better since now there is also a GTK 4 maybe would be worth start working on that directly.

@rene-dev rene-dev mentioned this pull request May 23, 2021
@rene-dev

Copy link
Copy Markdown
Member Author

superseded by #1164

@rene-dev rene-dev closed this May 23, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants