Installation/On-Screen Mesa/openSUSE

From OpenFOAMWiki

1 Introduction

This page gathers information on how to build On-Screen Mesa on openSUSE. Please keep in mind that:

  1. These instructions might go out of date, in case a particular Ubuntu version upgrades their default Mesa source code version that is provided via apt.
  2. These instructions are designed to integrate directly in OpenFOAM's custom builds of ParaView.


2 openSUSE Leap 15.1

Note: It's advisable to run these commands only after compiling ParaView and OpenFOAM.

Steps:

  1. Switch to root mode (administrator), to install the necessary packages:
    sudo -s
    • If the 'sudo' command tells you're not in the sudoers list, then run:
      su -
  2. Install the necessary packages:
    zypper install scons python2-pip libyaml-devel  llvm-devel
    pip2 install prettytable Mako pyaml dateutils --upgrade

    In addition, we need to turn on the sources list and install the additional dependencies needed for building Mesa from source code:

    zypper modifyrepo -e repo-source
    zypper source-install Mesa
     
    # finally turn off the source repository
    zypper modifyrepo -d repo-source
  3. Now exit from the root mode:
    exit
  4. Now for the process of building Mesa for the OpenGL software renderer, we need to run the following commands:
    cd $WM_THIRD_PARTY_DIR

    However, we have two possible alternatives here:

    1. We can either build with a more recent Mesa version:
      wget -P downloads https://gitlab.freedesktop.org/mesa/mesa/-/archive/mesa-19.0.8/mesa-mesa-19.0.8.tar.bz2
      tar -xf downloads/mesa-mesa-19.0.8.tar.bz2
      cd mesa-mesa-19.0.8
    2. Or use the version that comes with openSUSE:
      tar -xf /usr/src/packages/SOURCES/mesa-18.3.2.tar.xz
      cd mesa-18.3.2
  5. Finally, we can build the chosen Mesa version with the following command:
    python2 $(which scons) build=release texture_float=yes libgl-xlib > log.makeMesa 2>&1 &&  cp -vr build/linux-x86_64/gallium/targets/libgl-xlib/* $ParaView_DIR/lib/

    Hopefully everything works as intended and ends with something like the following output:

    'build/linux-x86_64/gallium/targets/libgl-xlib/libGL.so' -> '/home/ofuser/OpenFOAM/ThirdParty-7/platforms/linux64Gcc/ParaView-5.6.0/lib/libGL.so'
    'build/linux-x86_64/gallium/targets/libgl-xlib/libGL.so.1' -> '/home/ofuser/OpenFOAM/ThirdParty-7/platforms/linux64Gcc/ParaView-5.6.0/lib/libGL.so.1'
    'build/linux-x86_64/gallium/targets/libgl-xlib/libGL.so.1.5' -> '/home/ofuser/OpenFOAM/ThirdParty-7/platforms/linux64Gcc/ParaView-5.6.0/lib/libGL.so.1.5'
    'build/linux-x86_64/gallium/targets/libgl-xlib/xlib.os' -> '/home/ofuser/OpenFOAM/ThirdParty-7/platforms/linux64Gcc/ParaView-5.6.0/lib/xlib.os'

    But if not, check the contents of the file log.makeMesa, specifically the end of the file.

  6. And ParaView should now be ready to be used, even though it will sometimes feel a bit sluggish...