I was moving along, having all kinds of fun ssh’ng into my Beaglebone using my W530 laptop with out any difficulties. My problems started when I wanted do use dual monitors with my docking port. In order to do that, I needed to install the Nvidia proprietary drivers. I got that working and than wound up having all kinds of problems running axis in machinekit.
Here’s what was happening:
ssh -X machinekit@192.168.7.2
Debian GNU/Linux 8Machinekit Debian Image 2017-02-12
Support/FAQ: http://www.machinekit.io/
default username:password is [machinekit:machinekit]
machinekit@192.168.7.2’s password:
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sun Mar 5 06:17:03 2017 from 192.168.7.1
machinekit@beaglebone:~$ machinekit &
[1] 6183
machinekit@beaglebone:~$ MACHINEKIT – 0.1
Machine configuration directory is ‘/home/machinekit/machinekit/configs/MPCNC’
Machine configuration file is ‘MPCNC.ini’
Starting Machinekit…
io started
emc/iotask/ioControl.cc 752: can’t load tool table.
halcmd loadusr io started
cape-universal overlay found
cape-bone-iio overlay found
task pid=7902
emcTaskInit: using builtin interpreter
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 154 (GLX)
Minor opcode of failed request: 3 (X_GLXCreateContext)
Value in failed request: 0x0
Serial number of failed request: 692
Current serial number in output stream: 693
Shutting down and cleaning up Machinekit…
Cleanup done
Machinekit terminated with an error. You can find more information in the log:
/home/machinekit/linuxcnc_debug.txt
and
/home/machinekit/linuxcnc_print.txt
as well as in the output of the shell command ‘dmesg’ and in the terminal
So this took me a while to figure out which a little help from from Linux guru’s from the makerspace I belong to.
I found some suggestions at https://elrepo.org/bugs/view.php?id=610
This solution talked about adding this to an xorg,config file in the /etc/X11/ folder
Section “ServerFlags”
Option “AllowIndirectGLX” “on” # or “off”
EndSection
I tried that and I couldn’t get that to work.
I found another fix here: https://bugzilla.gnome.org/show_bug.cgi?id=586777#c8
Recently, Xorg changed its behavior to disallow indirect GLX by default. This means that ssh -X no longer works with OpenGL applications, which is a pretty serious problem. The only way to re-enable indirect GLX is to pass +iglx to Xorg. However, GDM has no way to pass arbitrary flags to Xorg. The only workaround is to rename Xorg to Xorg.original and replace it with a wrapper that adds +iglx, e.g.: #!/bin/bash exec /usr/bin/Xorg.original "$@" +iglx (for you kids at home, don't forget to sudo chmod +x /usr/sbin/Xorg)
So first things first we need to locate Xorg
jonasthomas@jonasthomas-ThinkPad-W530:~$ which Xorg
/usr/bin/Xorgsudo cp /usr/bin/Xorg /usr/bin/Xorg.original
So with the with Xorg program copied into Xorg.original just replace the contents of Xorg with the file above.
This worked for me. If you have this issue as well, I hope it helps you out as well.