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


By default, during boot time autoconfiguration Rocky linux will assign interface names to mac addresses.  In general they should stay the same between power cycles, but in some hardware configurations we have experienced that this assignment may change after system restarts (thus swapping the interface names and ip addresses given to each mac address).

If that happens to you, an easy way to solve it is in the Network Manager GUI, on each network interface just put the mac address in the field provided for it (rather than leaving it empty). In that way you will make sure that each specific mac address gets exactly the ip address that you want.


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/local/bin"


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...):


Anydesk:

Explained here:


https://vitux.com/how-to-install-anydesk-on-rocky-linux/


History of an example installation:



cat > /etc/yum.repos.d/AnyDesk-CentOS.repo << "EOF"
[anydesk]
name=AnyDesk CentOS - stable
baseurl=http://rpm.anydesk.com/centos/$basearch/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://keys.anydesk.com/repos/RPM-GPG-KEY
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