wiki:Software/X.Org

Version 5 (modified by Jens Henrik Goebbert, 7 years ago) ( diff )

--

!!! WORK IN PROGRESS !!!
Last Update 03.2017, Authors: Jens Henrik Göbbert, ...

X.Org - Build Instructions for JURECA

X.Org is free, open-source software. It provides an open source implementation of the X Window System. The development work is being done in conjunction with the freedesktop.org community.

The best place to get X is from your operating system or distribution vendor. X.Org currently provides no binaries. But if one wants to profit from recent updates and new features it makes sense to build X.Org from source.

There are two maintained build processes you can use. One is based on a simple Bourne script (build.sh) and one is a customization of the Gnome JHBuild process. We use the Gnome JHBuild process here.

1. Preliminaries

# set a build directory for X.org
export BASE=$(pwd)

# load module environment for compiler
module load gcc/5.4.0

JHBuild

JHBuild allows you to automatically download and compile modules for a complete rebuild of GNOME - this includes X.Org.

## build jhbuild and install in ~/.local/bin
cd ${BASE}
git clone https://git.gnome.org/browse/jhbuild
cd jhbuild
./autogen.sh --simple-install
make
make install

Third-Party libs

Some of the ThirdParty packages need to be built first. These third party sources are required, but are not bundled.

export PATH=${GPERF_ROOT}/bin:$PATH
export PKG_CONFIG_PATH=${FREETYPE_ROOT}/lib/pkgconfig:$PKG_CONFIG_PATH

2. Setup X.Org Build Process

Source packages are downloaded by JHBuild automatically. JHBuild requires to configuration files to start the build process:

xorg.jhbuildrc

moduleset = os.path.join(os.environ['BASE'], 'xorg.modules')
modules = [ 'The X Window System' ]
checkoutroot = os.path.join(os.environ['BASE'], 'xorg_sources')
prefix = os.path.join(os.environ['BASE'], 'xorg_knl')
os.environ['ACLOCAL'] = 'aclocal -I ' + os.path.join(prefix, 'share/aclocal')
os.environ['PKG_CONFIG_PATH'] = os.path.join(prefix, 'lib/pkgconfig') \
    + ':' + os.path.join(prefix, 'share/pkgconfig') \
    + ':' + os.path.join(os.environ['PKG_CONFIG_PATH'])
skip = os.environ['XORG_SKIP_SET']
branches['mesa-mesa'] = '13.0'

xorg.modules

In the following we list differences to the general file from HERE.

[...]
  <!--  The X Window System - Meta Module  -->
[...]
      <!-- <dep package="The X11 Applications"/>  -->
[...]
      <!-- <dep package="xorg-docs"/>  -->
[...]
  <!-- X Input and Video Drivers - Meta Module -->
  <metamodule id="The X Video Drivers">
    <dependencies>
      <dep package="xf86-video-dummy"/>
      <dep package="xf86-video-fbdev"/>
      <dep package="xf86-video-vesa"/>
      <dep package="xf86-video-v4l"/>
    </dependencies>
  </metamodule>
[...]
  <!-- X11 Protocol & Extensions - Modules definition -->
[...]
  <repository type="tarball" name="github-tar" href="https://github.com/"/>
  <autotools id="libepoxy">
    <pkg-config>epoxy.pc</pkg-config>
    <branch repo="github-tar"
            module="anholt/libepoxy/archive/v${version}.tar.gz"
            version="1.3.1"
            checkoutdir="libepoxy-${version}"
            size="284227"/>
    <dependencies>
      <dep package="libxtrans"/>
      <dep package="mesa-mesa"/>
    </dependencies>
  </autotools>
[...]
  <!-- The X Server -->
[...]
       <dep package="libpixman"/>
       <dep package="app-xkbcomp"/>
       <dep package="libxshmfence"/>
       <dep package="libepoxy"/>
     </dependencies>
     <suggests>
[...]
  <!--  The Mesa 3D Graphics Library - Modules Definition -->
  <autotools id="mesa-mesa" autogenargs="--enable-xa --enable-gbm --enable-glx --enable-texture-float --enable-gallium-osmesa --enable-gallium-llvm --enable-llvm-shared-libs --enable-dri --with-dri-drivers= --with-gallium-drivers=swrast,swr --disable-osmesa --enable-gallium-osmesa">
[...]

3. Build X.Org

export PKG_CONFIG_PATH="${PKG_CONFIG_PATH:-}"
#export XORG_VERSION_DATE=
export XORG_SKIP_SET="libAppleWM mtdev xf86-input-joystick xf86-video-ati xf86-video-geode xf86-video-modesetting xf86-video-sisusb xf86-video-v4l xf86-video-vmware xf86-video-wsfb xf86-input-evdev "
jhbuild -f xorg.jhbuildrc

Attachments (2)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.