This guide is based on the excellent guide by snowgoer540 here
www.forum.linuxcnc.org/9-installing-linu...rd-new-windows-users
.
The important difference is that instead of installing MX Linux 19.4 we will install the 21 Release Candidate. This is to get a recent enough QT version (5.15, requirement is 5.12 and MX 19.4 comes with 5.11).
Install MX Linux 21 from here mxlinux.org/blog/mx-21-release-candidate...or-testing-purposes/
This is a pure Python3 environment so there shouldn't be dependency issues with Python 2
Please note that the dot in 'python3 -m pip install --editable .' is very important.
After installing MX Linux 21, follow these steps install LinuxCNC run-in-place:
sudo apt update
sudo apt upgrade
uname -a
sudo apt install linux-image-rt-amd64
Go to MX Menu -> MX Tools -> MX Boot Options
In “Boot to” select the one with rt and without systemd
Reboot
Check with uname -a that the rt kernel is loaded
cd ~
git clone git://github.com/linuxcnc/linuxcnc.git linuxcnc-dev
sudo apt install debhelper-compat libudev-dev tcl8.6-dev tk8.6-dev libtk-img bwidget tclx libeditreadline-dev asciidoc dblatex docbook-xsl dvipng graphviz groff inkscape source-highlight w3c-linkchecker xsltproc texlive-extra-utils texlive-font-utils texlive-fonts-recommended texlive-lang-cyrillic texlive-lang-french texlive-lang-german texlive-lang-polish texlive-lang-spanish texlive-latex-recommended asciidoc-dblatex python3-dev python3-tk libxmu-dev libglu1-mesa-dev libgtk2.0-dev libgtk-3-dev gettext intltool autoconf libboost-python-dev libmodbus-dev libusb-1.0-0-dev yapps2 libepoxy-dev python3-xlib
Optional (To generate the dependency list above):
cd linuxcnc-dev/debian
./configure uspace
Copy the result to text editor and remove version strings etc
cd ~/linuxcnc-dev/src
./autogen.sh
./configure --with-realtime=uspace
make
sudo make setuid
sudo apt install python3-pip
source ~/linuxcnc-dev/scripts/rip-environment
For Axis UI:
pip3 install pyopengl
Run LinuxCNC
~/linuxcnc-dev/scripts/linuxcnc
Then, let's move on to installing Probe Basic
sudo apt install python3-pyqt5 python3-dbus.mainloop.pyqt5 python3-pyqt5.qtopengl python3-pyqt5.qsci python3-pyqt5.qtmultimedia python3-pyqt5.qtquick qml-module-qtquick-controls gstreamer1.0-plugins-bad libqt5multimedia5-plugins pyqt5-dev-tools python3-dev python3-setuptools python3-wheel python3-pip qttools5-dev qttools5-dev-tools
git clone git://github.com/kcjengr/qtpyvcp qtpyvcp
qtpyvcp master is already Python 3, no need to check out a branch
cd qtpyvcp
This is the part I haven't been able to figure out an elegant solution for
featherpad setup.py
Enable line numbers in: Options-> Line Numbers
Modify line #62 to read version='0.4.0',
python3 -m pip install --editable .
cp ~/qtpyvcp/scripts/.xsessionrc ~/
Log Out / Log In
cd ~
git clone git://github.com/kcjengr/probe_basic.git
cd probe_basic
git checkout python3
Probe Basic master is not yet Python 3 so need to check out a branch
qcompile .
python3 -m pip install --editable .
cp -r ~/probe_basic/probe_basic/fonts/ ~/.local/share/
mkdir ~/linuxcnc
mkdir ~/linuxcnc/configs
cp -r ~/probe_basic/config/probe_basic/ ~/linuxcnc/configs/
cd ~
git clone git://github.com/kcjengr/qtpyvcp.conversational-gcode.git
cd qtpyvcp.conversational-gcode.git
git checkout python3
Conversational GCode master is not yet Python 3 so need to check out a branch
python3 -m pip install --editable .
Run some tests:
pip3 list
Check that qtpyvcp version is still
If not, you might need to install it again, I think probe_basic overwrites it with a stock 0.3.9 version.
qtpyvcp -v
Should report python3_master+99.g8023f415.dirty (or similar depending on the newest commit)
editvcp mini
Should run nominally in QT Designer
editvcp probe_basic
Should run nominally in QT Designer
If you get unable to import ini from linuxcnc
source ~/linuxcnc-dev/scripts/rip-environment
Now you should be able to run ~/linuxcnc-dev/scripts/linuxcnc again, choose Probe Basic from My Configurations.
Please let me know any comments/feedback. I've had a friend run through the guide twice but there might still be some errors.