This document is only for users who don't want to configure the operating system using the automatic installation script (SGOrocky93setupClients), which is the recommended method provided in this other document.
This document explains all the steps that the mentioned script is doing, in case you want to execute partial commands or to customized to your own specfic needs.
Switch the login type to KDE X11 / Plasma
In the login screen, some Rocky distros come with a setting to chose the login type (in the bottom left corner of the login screen ). Choose Plasma / X11
How to fix the "kde connect" error (only needed if you see an error like that):
rpm -e kdeconnectd kde-connect-libs kde-connect
Mistika user autologin
If you want rocky to autologin to the mistika user desktop, you can edit the file /etc/sddm.conf and put the next lines (make sure they are are uncommented):
[Autologin]
Session=plasma.desktop
User=mistika
Permit ssh access with root access:
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
systemctl enable sshd
systemctl start sshd
Network stability
Installing required packages
For support reasons, we suggest to change the default rocky repo in order to stick to the 9.3 kernel. Important consequences of skipping this step are:
- Currently Rocky 9.3 is the only linux distro that our developers and engineers have on their systems for testing and support. If you use a different distro then it may work or not, but if it doesn't our support team will not be able to help too much...
- Rocky is a rolling distro, which means that installing modules and upgrades will also upgrade critical packages like gcc, ssh*, and even the kernel itself as needed in order to install "the latest" version of everything. So even if you started with Rocky 9.3 the posterior modules installation (explained below) will upgrade to Rocky 9.5 kernel and later. And this can create serious incompatibilities with Mistika software and with some drivers used by some Mistika configurations and other pieces of 3rd party software that are only certified by certain distros and kernels (AJA video board drivers, Storenext, Workflows integrations with 3rd party services... )). At some point we will announce compatibility with further Rocky releases (and this document will change accordingly), but meanwhile we strongly recommend to stay on Rocky 9.3.
To stick to Rocky 9.3, we need to change the default rocky repo. This can be done editing the file /etc/yum.repos.d/rocky.repo and replacing all its content with the next lines:
# rocky.repo
#
# The mirrorlist system uses the connecting IP address of the client and the
# update status of each mirror to pick current mirrors that are geographically
# close to the client. You should use this for Rocky updates unless you are
# manually picking other mirrors.
#
# If the mirrorlist does not work for you, you can try the commented out
# baseurl line instead.
[baseos]
name=Rocky Linux $releasever - BaseOS
#mirrorlist=https://dl.rockylinux.org/vault/rocky/9.3/BaseOS/x86_64/os/
baseurl=https://dl.rockylinux.org/vault/rocky/9.3/BaseOS/$basearch/os/
#baseurl=http://dl.rockylinux.org/$contentdir/$releasever/BaseOS/$basearch/os/
gpgcheck=1
enabled=1
countme=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
[baseos-debuginfo]
name=Rocky Linux $releasever - BaseOS - Debug
#mirrorlist=https://dl.rockylinux.org/vault/rocky/9.3/$basearch&repo=BaseOS-$releasever-debug$rltype
baseurl=http://dl.rockylinux.org/vault/rocky/9.3/BaseOS/$basearch/debug/tree/
gpgcheck=1
enabled=0
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
[baseos-source]
name=Rocky Linux $releasever - BaseOS - Source
#mirrorlist=https://dl.rockylinux.org/vault/rocky/9.3/source&repo=BaseOS-$releasever-source$rltype
baseurl=http://dl.rockylinux.org/vault/rocky/9.3/BaseOS/$basearch/BaseOS/source/tree/
gpgcheck=1
enabled=0
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
[appstream]
name=Rocky Linux $releasever - AppStream
#mirrorlist=https://dl.rockylinux.org/vault/rocky/9.3/$basearch&repo=AppStream-$releasever$rltype
baseurl=http://dl.rockylinux.org/vault/rocky/9.3/AppStream/$basearch/os/
gpgcheck=1
enabled=1
countme=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
[appstream-debuginfo]
name=Rocky Linux $releasever - AppStream - Debug
#mirrorlist=https://dl.rockylinux.org/vault/rocky/9.3/$basearch&repo=AppStream-$releasever-debug$rltype
baseurl=http://dl.rockylinux.org/vault/rocky/9.3/AppStream/$basearch/debug/tree/
gpgcheck=1
enabled=0
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
[appstream-source]
name=Rocky Linux $releasever - AppStream - Source
#mirrorlist=https://dl.rockylinux.org/vault/rocky/9.3/source&repo=AppStream-$releasever-source$rltype
baseurl=http://dl.rockylinux.org/vault/rocky/9.3/AppStream/source/tree/
gpgcheck=1
enabled=0
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
[crb]
name=Rocky Linux $releasever - CRB
#mirrorlist=https://dl.rockylinux.org/vault/rocky/9.3/$basearch&repo=CRB-$releasever$rltype
baseurl=http://dl.rockylinux.org/vault/rocky/9.3/CRB/$basearch/os/
gpgcheck=1
enabled=1
countme=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
[crb-debuginfo]
name=Rocky Linux $releasever - CRB - Debug
#mirrorlist=https://dl.rockylinux.org/vault/rocky/9.3/$basearch&repo=CRB-$releasever-debug$rltype
baseurl=http://dl.rockylinux.org/vault/rocky/9.3/CRB/$basearch/debug/tree/
gpgcheck=1
enabled=0
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
[crb-source]
name=Rocky Linux $releasever - CRB - Source
#mirrorlist=https://dl.rockylinux.org/vault/rocky/9.3/source&repo=CRB-$releasever-source$rltype
baseurl=http://dl.rockylinux.org/vault/rocky/9.3/CRB/source/tree/
gpgcheck=1
enabled=0
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
Then we are ready to install needed packages with the next command:
yes| yum -y install xterm g++ xfsprogs-devel libxslt-devel openssl-devel glib2-devel lbzip2.x86_64 grsync ksysguard xcb-util-devel.x86_64 glew-devel.x86_64 python python-devel gimp audacity lz4 perl libffi-devel.x86_64 bzip2-devel.x86_64 ntfs* nfs* samba* ncurses-compat-libs minizip1.2 x11vnc gcc kernel gcc kernel*5.14.0-362.18.1.el9_3.0.1* mesa-libGLU mesa-libGLU-devel kernel-devel
Install VNC server (optional)
This is only required if you want to connect to your system remotely via VNC:
To permit connections, enable the firewall port used by x11vnc:
firewall-cmd --permanent --add-port=5900/tcp
firewall-cmd --reload
Then, you need to set a password with the command:
x11vnc -storepasswd
And launch the vnc server. For example, login as mistika and execute this:
x11vnc --forever -display :0
Or for a more ellaborated example:
x11vnc -rfbauth /home/mistika/.vnc/passwd -forever -loop -noxdamage -repeat -shared -o /home/mistika/x11vnc.log -display :0
Make mistika user a sudoer (this is required before installing any Mistika products):
Add this line to /etc/sudoers file
mistika ALL=(ALL) NOPASSWD: ALL
Letting the user mistika run sudo commands without password, may be considered insecure, so you can remove the NOPASSWD word after the installation. You can change the line after the install to be the next one:
mistika ALL=(ALL) ALL
Install NVIDIA driver and kernel sources:
First we need to blacklist the nouveau driver:
Create the /etc/modprobe.d/blacklist-nouveau.conf file and add the following information to the file:
blacklist nouveau
options nouveau modeset=0
Re-generate initramfs.
sudo dracut --force
reboot
Download and install the current nvidia driver for your GPU, for example:
cd /tmp/
wget https://us.download.nvidia.com/XFree86/Linux-x86_64/570.133.07/NVIDIA-Linux-x86_64-570.133.07.run
chmod +x NVIDIA-Linux-x86_64-570.133.07.run
Login in text only mode (for example press ctrl+alt+f2, or similar )
init 3 (to stop X server)
rmmod nouveau (in case it is loaded)
If that is not enough for going into text only mode it can be that you logged in using Wayland, in that case logout and make sure to select the Xorg login type, then login and repeat the step above.
Execute the nvidia installer a first time:
./NVIDIA-Linux-x86_64-570.133.07.run
If asked, accept to modify the xconfig file
If asked, accept to blacklist the nouveau driver, and then accept to create initramfs
reboot
After the reboot, if you were asked to re-create the initramfs then install the nvidia driver a second time:
cd to_your_nvidia_driver_location
./NVIDIA-Linux-x86_64-550.54.14.run
reboot
Check that nvidia-smi and nvidia-settings are working
nvidia-smi (it should output your GPU model)
Additional steps BEFORE installing any mistika applications:
To make the license server to work you need to disable selinux, by changing the SELINUX variable in the /etc/selinux/config to disabled:
SELINUX=disabled
For more information about managing SELINUX you can consult this link
And you also need to link the bz12 library:
sudo ln -s /usr/lib64/libbz2.so.1.0.6 /usr/lib64/libbz2.so
KDE adjustments recommended for Mistika
Deactivate screen saver and sleep mode, as they can interfere with render proceseses:
Settings -> System settings -> Power Management -> Energy Saving:
Suspend = OFF
Screen Energy saving = OFF (and configure your energy saving preferences directly in your monitor)
Activate Linux bar (contextual menu) -> Enter Edit mode -> more Options -> Auto Hide = ON
Deactivate Settings -> System settings -> Workspace Behaviour -> Screen Locking - > Lock screen automatically = OFF
Install Python version required for Mistika (BEFORE installing Mistika Workflows):
To install Python we need to download a openssl specific version, build and install it, then download python, build it and install it. That can be achieved with the next commands run as mistika user:
cd ~/Downloads
wget https://www.openssl.org/source/openssl-3.3.1.tar.gz
tar xvf openssl-3.3.1.tar.gz
cd openssl-3.3.1
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl
make
make install
cd ..
wget https://www.python.org/ftp/python/3.11.1/Python-3.11.1.tgz
tar xvf Python-3.11.1.tgz
cd Python-3.11.1
./configure CFLAGS=-fPIC CXXFLAGS=-fPIC
LDFLAGS="${LDFLAGS} -Wl,-rpath=/usr/local/openssl/lib" ./configure --with-openssl=/usr/local/openssl
make
make install
cd ..
echo 'Installation of python3.11.1 and required openssl configuration finished.'
echo 'Adding env variables to ~/.bashrc...'
echo 'export MISTIKA_PYTHON="/usr/local/"' >> ~/.bashrc
echo 'export MISTIKA_PYTHON_BIN_DIR="/usr/local/bin"' >> ~/.bashrc
source ~/.bashrc
/usr/local/bin/pip3.11 install future
For more details about what does this script do you can visit this other document.
Rocky 9.3 comes with a Firewalll activated by default, which will prevent the network servers such as nfs and samba to work until opening the corresponding ports. The trivial way to solve this is to deactivate the firewall (thus making the system unsecure...)
su
systemctl stop firewalld
systemctl disable firewalld
For more fine control and more security, google how to do adjust security for your particular use case ...
Install Mistika Ultima (optional, if you purchased that product)
Download and install the latest version of Mistika Ultima. It should be not earlier than 23 July 2024, previous versions were known to have problems on Rocky linux.
After installing, open mConfig and:
- change the hostname to a meaningful name, with no dots (".") in the middle (as they are not compatible with BatchManager)
- Change the File Paths -> Projects, Media, and shared paths to match your storage
- Activate BatchManager->UseBatchManager
- Activate BatchManager->Start BatchManager at boot time
- If you plan to configure a collaborative environment, make sure the BatchManager queues folder is in a shared storage, and also the shared folder, projects path and media path.
Install Mistika Workflows
Reminder: Before installing Workflows the attached script (python installation) needs to be executed (this is just a reminder, it was already asked in a previous point...).
n 3.11.1
Note that a same linux system can have different Python versions coexisting and they can be in different locations. Mistika Workflows requires declaring the environment variables MISTIKA_PYTHON and MISTIKA_PYTHON_BIN_DIR to tell Mistika where to find it. A simple way is to include these lines in the .bashrc file of the user (or in the /etc/bashrc for all users).
export MISTIKA_PYTHON="/usr/local/"
export MISTIKA_PYTHON_BIN_DIR="/usr/
Install Mistika Workflows. It needs to be installed as a normal user, NOT as root. Although it will ask for the root password during the process (it does so to install the license server, which is the only component that needs to run with root privileges).
Example installation session (a "mistika" user downloads and install the software):
[mistika@mistika ~]$ cd Downloads
[mistika@mistika Downloads]$ chmod u+x MistikaWorkflows.10.5.1-20221011.Beta.Opt.linux-x64.run
[mistika@mistika Downloads]$ ./MistikaWorkflows.10.5.1-20221011.Beta.Opt.linux-x64.run
(a graphics installer will open at this point, asking for the root password. Enter the password and continue ...)
Once installed, open the sgoActivationTool (its icon should have appeared in your desktop) and activate your activation code (or select your remote license server)
Open Mistika Workflows, either with the icon or with the command line (recommended for getting more information about potential problems in the console):
"SGO Apps/Mistika Workflows/bin/workflows"
If the application opens but some nodes do not work, check the Validation Panel (it shows user errors and missing actions), if the problem is more serious check the Window->Panels->Scrip Editor (among other things, it will show software errors and missing modules)
Install Mistika Workflows, open it and go to the script editor panel. There must be no errors (messages in red color) in there. Otherwise something went wrong (ask for support ...)
Install remote desktop applications (optional...):
Explained here:
History of an example installation:
cat > /etc/yum.repos.d/AnyDesk-
[anydesk]
name=AnyDesk CentOS - stable
baseurl=http://rpm.anydesk.
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://keys.anydesk.
EOF
dnf makecache
yum install ncurses-compat-libs
dnf install anydesk
teamviewer:
Download the latest version of teamviewer for x86_64, for example from the next link:
https://download.teamviewer.com/download/linux/teamviewer.x86_64.rpm
And finally, install with rpm:
rpm -i teamviewer_XXX.rpm