1) Do I actually need MachineKit? or just LinuxCNC?
2) Let's say I use a NEMA 34 for the gantry and NEMA 24s for the Y & Z axes and drive them with something like this stepper driver. What goes between the BBB and the stepper driver?
On 3/23/2015 4:02 PM, Doug LaRue wrote:
> Doesn't using ssh with X forwarding eliminate the graphics issues of the
> BBB? I mean I thought that was the whole idea behind XWindows and the
> Xclient and Xserver design where the Xserver is what does the heavy
> graphics. It would be great to get to an even lighter UI experience as far
> as control goes and therefore also get to devices like phones and tablets
> but for now, installing an Xserver on your computer and using ssh with X11
> forwarding should do the trick.
>
> Or has 3D things become tied to the much to the Xclient that it doesn't
> matter much how powerful your Xserver machine is?
The problem is X predates 3D graphics acceleration and when you watch
the 3D preview in a remote X11 window the calculations are all done on
the BeagleBone with the resulting 2D image sent across the network to
the client.
But you'll get reasonable performance if you just click over to the DRO
tab and ignore the 3D preview. This is typically how I run remote (via
ssh and X11 forwarding) or local (HDMI/DVI monitor connected to the BBB)
UIs when using the BeagleBone.
On Tuesday, March 24, 2015 at 3:03:04 PM UTC-7, Charles Steinkuehler wrote:On 3/23/2015 4:02 PM, Doug LaRue wrote:
> Doesn't using ssh with X forwarding eliminate the graphics issues of the
> BBB? I mean I thought that was the whole idea behind XWindows and the
> Xclient and Xserver design where the Xserver is what does the heavy
> graphics. It would be great to get to an even lighter UI experience as far
> as control goes and therefore also get to devices like phones and tablets
> but for now, installing an Xserver on your computer and using ssh with X11
> forwarding should do the trick.
>
> Or has 3D things become tied to the much to the Xclient that it doesn't
> matter much how powerful your Xserver machine is?
The problem is X predates 3D graphics acceleration and when you watch
the 3D preview in a remote X11 window the calculations are all done on
the BeagleBone with the resulting 2D image sent across the network to
the client.
Yikes, that's ugly. I had just thought that the updates to X over the years kept up with the technology since OpenGL goes back to the 90s. Bummer it hasn't.
But you'll get reasonable performance if you just click over to the DRO
tab and ignore the 3D preview. This is typically how I run remote (via
ssh and X11 forwarding) or local (HDMI/DVI monitor connected to the BBB)
UIs when using the BeagleBone.
On 03/25/2015 02:44 PM, Doug LaRue wrote:
> I've been poke around and will continue to figure out how it works but
> in the mean time I ran across something called VirtualGL which is what
> is used in VNC to get accelerated OpenGL on the remote machine. I'll
> see if this can be of any help here.
> http://sourceforge.net/projects/virtualgl/?source=navbar
>
Whether optimizing OpenGL transport is helpful depends on how Axis
generates OpenGL calls. Start at the pointed end of the stick:
src/emc/usr_intf/axis/scripts/axis.py and the supporting C code in
src/emc/usr_intf/axis/extensions for the supporting libraries which wrap
OpenGL in Python and Tcl (too bad we couldn't throw in some Java, C++,
Ruby, maybe a little Haskell just to round out the mix).
> I also ran across something interesting in regards to increasing the
> video framerate for openCV with an optimized libjpeg. This might also
> help with any web cam stuff(streaming) used in Machinekit.
Sounds intriguing, but I see the website you reference is 18 months old.
I wonder if by now the popular distros already build for NEON.
> Also related to this improved performance was how to setup an
> optimized build environment for the BBB which uses distcc so an x86 PC
> can be used in conjunction with the BBB for faster building/compiling.
> Is this what you guys are using?
> http://blog.lemoneerlabs.com/3rdParty/Darling_BBB_30fps_DRAFT.html
>
I can't speak for the collective "you guys" but some of us are either
building MK natively on ARM boards (notably non-BBB quad-core boards to
get better throughput) or cross-building MK on multi-core x86 machines.
I'd not heard of distcc before, which looks like a cute way to get some
of both but IMHO is just yet-another way to skin a cat (don't mind me,
I'm a curmudgeon). You could rig it up across multiple ARM boards too
(poor-man's cluster) and hence skip the cross-building part.
> I will look into these three: optimizing OpenGL for remote XServer
> display(VirtualGL maybe), setting up a distributed BBB build env and
> building the faster libjpg and see if that can help things like video
> streaming.
The more folks banging on keys, the better!
Jeff Means
--
website: http://www.machinekit.io blog: http://blog.machinekit.io github: https://github.com/machinekit
--- You received this message because you are subscribed to a topic in the Google Groups "Machinekit" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/machinekit/bIU9ZMhXCYw/unsubscribe.
To unsubscribe from this group and all its topics, send an email to machinekit+...@googlegroups.com.
Visit this group at https://groups.google.com/group/machinekit.
Thanks for the non flaming answers. I still think from my experimenting with x it does take a hefty chunk of processor time that would be better served dealing with not having to be a head if we were able to get an udp/tcp front-end that was not forced to depend on an x server application for display needs.
Thanks for the non flaming answers. I still think from my experimenting with x it does take a hefty chunk of processor time that would be better served dealing with not having to be a head if we were able to get an udp/tcp front-end that was not forced to depend on an x server application for display needs.
You actually just hit the problem I was trying to address by mentioning that SSH adds to the processor load dramatically, and running X over the connection only makes things worse. What I was really trying to get at was the difference between a truly headless sever running in text mode for console access only, and a network connection which is doing an on the fly encryption, and compression to the network traffic, which by the way also includes the graphics updates being sent to the x-client. Mind you that the x-server running on the beaglebone is doing most of the heavy lifting for all screen/window updates including serving the screen updates which are to be displayed on the client. This is where I'm having issues. Have you any numbers where you ran the beaglebone in init level 3 text mode, using machineface/ mklauncher for UI on a client system? I'm trying to get these numbers (running top via a tty) but I was wondering if you had any such experience already?
Thanks (you can tell me if I'm over complicating things here but I think it should be noticeable to get rid of the x-server on the beaglebone altogether. Not to mention memory (RAM) load as well in this case.)
Jeff Means
Thanks for the heads up. As soon as I get though this'd current migraine I'll try to put together some really current numbers with x and without and since we've tossed SSH into the mix I'll go ahead and generate some of those numbers as well