How to run keystick

More
16 Apr 2021 11:26 - 16 Apr 2021 11:45 #206100 by TheRoslyak
I try to compile 2.9 with keystick.cc in /home/armada/linuxcnc-dev/src/emc/usr_intf/ but it doesn't work.
When I compile 2.7 - get error:
make[1]: Leaving directory '/home/armada/linuxcnc-2.7/src'
make: *** [debian/rules:36: build-stamp] Error 2
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2
How to run keystick? Easy way please)
Last edit: 16 Apr 2021 11:45 by TheRoslyak.

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

More
16 Apr 2021 23:19 #206147 by andypugh
Replied by andypugh on topic How to run keystick
I am vague on the details, but I think that Keystick was deprecated as it stopped compiling.

Try searching the dev email list for keystick, it's a good search term.

sourceforge.net/p/emc/mailman/search/?q=keystick

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

More
29 Oct 2023 09:53 #284010 by jmr
Replied by jmr on topic How to run keystick
Hi,
I have started working on that. Currently in 2.8.0pre. It is now a bit crippled but compiles and runs. One thing is sure - it is damn fast, the machine uses ISA 4x8255 IO card, so the fastest cpu available with real isa bus on the mobo is athlon xp. Axis interface was not very responsive on this, as most of the cpu time goes to software step generation.
It needs a lot of work, as it was made for a simple XYZ machine, back before there were joints, axes and various kinematics. I plan to do some more work, maybe not make it as versatile as axis, but at least usable with a xyzz or other gantry machine in current version.
The goal is to avoid the framebuffer on an old x86 machines - as you know or should know, some guys try to drop support for old hardware when it is not even THAT old (like to say "oh thats not 686 as it used to be, it does not run rust, go f%%% yourself")... And at one time, after mesa, X and kernel updates almost all of hardware accelerated graphic cards stopped working the way they were. And software rendering is all that is left. So, if you don't have a radeon, geforce or intel (anything missed?), and possibly not just any of them, you're doomed. Hey, they even dropped the floppy driver from the kernel when it just worked with all of crazy floppy formats for years and left only 1440 compatible usb driver - "nobody needs that!".
It may be just my opinion but it has to be told.
Without X and axis (and it had accelerated radeon card with open source drivers so it was not bad itself), the cpu load dropped to about 5 percent, and base thread time and others could be improved.
Going back to old X and mesa is not the best way as you run into a bunch of incompatible libs. I believe old hardware, and I mean even the most reliable with no BGA chips has a stable place in the world of machines, and there was time when they worked fine with linuxcnc (or called back then the emc2). There are single board industrial computers that were fine with the exception of having a S3 graphics That is of a course a way only if you do not need to display the motion graphics - if you like the DRO style you should be happy. For years if you sometimes take care of the PSU.
Without the framebuffer - i had to rename the radeon module, blacklisting did not prevent it from loading , vga console is really fast - it always used to be. Just try to display dmesg and see how long it takes... So to sum it up - ncrurses interface on direct vga display will work well even with poor integrated graphic card with no acceleration. On a pentium 2 or even mmx, because 486 is out of the question as it does not run newer rtai due to lack of timestamp counter. Old docs on the other hand say even 486 were usable.
Perhaps this should go to another thread at some point...
Thanks!
The following user(s) said Thank You: tommylight

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

More
29 Oct 2023 12:54 #284013 by andypugh
Replied by andypugh on topic How to run keystick

some guys try to drop support for old hardware when it is not even THAT old (like to say "oh thats not 686 as it used to be,


To an extent, that's us too. Just as a warning LinuxCNC 2.9 will only be supported on Debian 10+ and LinuxCNC 2.10 might only be supported on Debian 12+.
This is due to the extreme workarounds required to support both Python2 and Python3, and Gtk2 and Gtk3 at the same time.
Neither of these directly affect keystick, obviously. But if you want to have keystick back in the LinuxCNC repositories then you should try to make sure that it works with Bookworm/amd64 too. If you have a machine that can run that.

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

More
30 Oct 2023 11:54 - 30 Oct 2023 12:46 #284121 by jmr
Replied by jmr on topic How to run keystick
Oh.
I always thought of it as a package to build (after a barefoot walk on broken glass sometimes...) and run in place, not a bundle with distro.
I compile on slackware 14.2. GTK3 is there, python3 is there, and even god damn QT5 is there if anyone needs that (FreeCAD needed). And it still boots on pentium mmx. Slackware 15 came out broken (IMO), with no mention of it, it just does not work on athlon or previous cpus - a lot of X stuff just dies with Illegal instruction. It has python3, qt5 and gtk3 too and is visibly slower on core2duo - I mean you wait for the xfce menu to start rolling down... Such a Great upgrade.
Anyway, I believe LinuxCNC here compiles with python2 which should be dropped and I have nothing against it, I just sometimes wonder where is python1. The whole thing looks a bit like the new BASIC so "we just need a little more RAM and cpu power and it will be all right". If it requires damn rust (and they dont want to make a get-around-that like the kernel people did with coprocessor emulation) because of that one extra cpu opcode to *build* some python package it should be no issue to build them on other machine, right?
The question is, if it is going to require GTK5 or QT20 next week just to display title screen, I mean what is this race for? PCs were always about compatibility, as was debian with many of its ports. Did that somehow change due to erosion?
Anway, if the development of LinuxCNC goes normal way, it should be always possible to build only some components - for oldchool machines that would be hal with motion control, halui and keystick or emcrsh. I will see if thats possible now with configure script. If python3 is not to be dropped soon, it should be fine for a few years until we somehow run into "glibc too old" situation. Then it will be just a dead ended fork for old machines which is already stable and does the job good enough. 
I will get it to use python3 too as python2 is the default in that slackware and I'm not sure why it did not go with python3 when I tried last time.
On newer machines, keystick should be well usable in xterm or other normal terminal emulator so it would be easy to test/modify by anyone.
Is that ok?

edit: 2.8.0 does not build with python3 because it can not find pango. there's no pango for py3. I've found pangocffi, which already dies with illegal instrucion. I guess its 2023, we can't display text in linux anymore. --disable-gtk does not help. FOOK IT.
Last edit: 30 Oct 2023 12:46 by jmr.

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

Time to create page: 0.098 seconds
Powered by Kunena Forum