How to install blender (3d) withtout snap and without a desktop

Hi,

I need blender to do command line conversion.

But each time I find a “how to install blender” on linux, it’s only via snap… :frowning:

is there any other way that snap ?

when I install snap and any packages, I get all sort of errors, dick full problems, not good.

Eureka, I found it

mkdir /opt/blender293
cd /opt/blender293

dnf --enablerepo=* update
dnf --enablerepo=* install glew-devel SDL2-devel SDL2_image-devel glm-devel freetype-devel
dnf --enablerepo=* install *libsdl2*
dnf --enablerepo=* install *libgl*
dnf --enablerepo=* install *freetype*
dnf --enablerepo=* install libGLEW*
dnf --enablerepo=* install *mesa*
dnf --enablerepo=* install *libglfw*
dnf --enablerepo=* install *libglvnd*
dnf --enablerepo=* install *freeglut*
dnf --enablerepo=* install *opengl*
dnf --enablerepo=* install *opencl*
dnf --enablerepo=* install qt5* --skip-broken
dnf --enablerepo=* install python39 python39-pip
pip3 install --upgrade pip

// REQUIREMENTS.TXT (PYTHON)
wget https://svn.blender.org/svnroot/bf-manual/trunk/blender_docs/requirements.txt
pip3 install -r requirements.txt --upgrade --upgrade-strategy eager

// COMPILED READY BLENDER
wget https://ftp.nluug.nl/pub/graphics/blender/release/Blender2.93/blender-2.93.0-linux-x64.tar.xz
tar -xvf blender-2.93.0-linux-x64.tar.xz

// ENSURE THOSE ARE NOT EMPTY IN THE TERMINAL
xvfb-run -a --server-args="-screen 0, 1280x720x24" glxinfo | grep ‘direct rendering’
xvfb-run -a --server-args="-screen 0, 1280x720x24" glxinfo | grep ‘OpenGL’

// RENDER USING NOHUP (can also be used without nohup)
nohup xvfb-run -a --server-args="-screen 0, 1280x720x24" /opt/blender293/blender {full_path_to_.blend} --render-output /home/{…}/render/889988__ --render-frame 1 -F PNG -b > /home/stubfeed/public_html/jmedia/chunx/render/889988.log 2>&1 &

// OPTIONS
-F PNG is the output image format
-b for “background” need if not the command hangs after render… with “-b” it completes the shell command.
2>&1 & ===>>> for nohup if you want to not wait for completion to do something else

// MONITOR FROM ANY TERMINAL OR EVEN shell_exec from php
cat 889988.log | grep Render | tail -3

// cat 889988.log | grep Saved when finished