NoMachine Support

Your questions answered

Knowledge Base

Searching in: Articles & FAQs
Filter the search results
Applies to:
Last update:
Searching in: Articles & FAQs
ID: AR09M00863
Applies to: NoMachine Software
Added on: 2015-09-25
Last update: 2019-04-08
Building libx264 on the NoMachine server host

This article applies to NoMachine v. 6 (up to v. 6.6.8) and v. 5.

Starting from v. 6.6.8, NoMachine packages for Windows, Linux, Mac and Raspberry provide the AVC/H.264 software codec. The manual procedure to install the H.264 encoder on the server and the H.264 decoder on the client (https://www.nomachine.com/AR10K00696) is no longer necessary.

 

The following procedure applies to NoMachine versions prior to v. 6.6.8.

IMPORTANT
On the server, you will need to build and install the libx264 libraries which contain our optimizations and necessary modifications. This version includes changes for retrieving information about the quantizer used to encode frames. Such changes take advantage of all the encoding functionalities at their best and improve perfomance.

Download the libraries here:

https://www.nomachine.com/opensource

3) Procedure below has been tested on Ubuntu 15.04 64, Windows 7 and OS X 10.7.5.

Prerequisites for compiling the libx264 libraries

a) Ensure that you have an assembler installed like Yasm.

b) To keep the best performances, we suggest to avoid compiling x264 with --disable-asm options.

c) If you are compiling on Windows, be sure that your Cygwin environment matches these requirements:

c.1)  Use Cygwin 32-bit (suggested version, tested with the procedure provided by this article is 1.7.25).

c.2) Install under the Cygwin compilation environment: gcc, mingw32, make and pkg-config (you just need to select such packages  in the Cygwin Setup and install them).

STEP 1

Download the latest libx264 from the Nomachine Web site: https://www.nomachine.com/opensource

STEP 2

Extract the archive.

STEP 3

Move to the x264 directory, run './configure' with options listed below and  then run 'make'.

 

 All options must be given on a single line, add the --libdir or --bindir option suitable for your compilation platform to the list below.

 --enable-shared

 --cross-prefix=i686-pc-mingw32- (for Windows only)

 --enable-win32thread (for Windows only)
 

For Linux:

--libdir=NX_INSTALLATION_DIR/lib

For Windows: 

--bindir=NX_INSTALLATION_DIR/bin

For Mac OS X: 

--libdir=NX_INSTALLATION_DIR/Contents/Frameworks/lib


The --libdir option (or --bindir on Windows) specifies where the x264 library will be installed.

NX_INSTALLATION_DIR is path to the NoMachine installation directory and must be replaced with the proper path when executing the './configure' command.
 

For example, to compile on Linux run:

~: ./configure --enable-shared --libdir=/usr/NX/lib && make

 
STEP 4

When build completed successfully, install the x264 libraries by running 'make install'. This requires administrator privileges.

For example:

    ~: sudo make install

STEP 5

Verify that the x264 shared library has been copied into the installation directory provided with the --libdir or --bindir configure option.

The name of the x264 library just compiled contains the "142" number. 

Rename manually the library to have the following, depending on the platform:

On Linux

NX_INSTALLATION_DIR/lib/libx264.so

On Windows

NX_INSTALLATION_DIR/bin/libx264.dll

On Mac OS X

NX_INSTALLATION_DIR/Contents/Frameworks/lib/libx264.dylib

Finally, ensure that ownership and permissions of libx264 are the same as for the other libraries used by NoMachine.