1. Introduction
Welcome to Equalizer, the standard middleware to create and deploy parallel,
scalable OpenGL applications. This release introduces major new features, most
notably asynchronous readbacks, region of interest and thread affinity for
increased performance during scalable rendering.
Equalizer 1.4.1 is a bugfix release for Equalizer 1.4, containing the fixes
listed below.
Equalizer 1.4 is a feature release extending the 1.0 API, distilling over
seven years of development and decades of experience into a feature-rich,
high-performance and mature parallel rendering framework and an
object-oriented high-level network library. It is intended for all application
developers creating parallel, interactive OpenGL applications. Equalizer 1.4
can be retrieved by downloading the
source
code or one of the precompiled packages.
1.1. Features
Equalizer provides the following major features to facilitate the development
and deployment of scalable OpenGL applications. A
detailed feature list can be found on the
Equalizer website.
- Runtime Configurability: An Equalizer application is configured
automatically or manually at runtime and can be deployed on laptops,
multi-GPU workstations and large-scale visualization clusters without
recompilation.
- Runtime Scalability: An Equalizer application can benefit from
multiple graphics cards, processors and computers to scale rendering
performance, visual quality and display size.
- Distributed Execution: Equalizer applications can be written to
support cluster-based execution. Equalizer furnishes and uses the Collage
network library, a cross-platform C++ library for building heterogenous,
distributed applications.
- Support for Stereo and Immersive Environments: Equalizer supports
stereo rendering head tracking, head-mounted displays and other advanced
features for immersive Virtual Reality installations.
2. New in this release
Equalizer 1.4 contains the following features, enhancements, bug fixes
and documentation changes:
2.1. New Features
2.2. Enhancements
Equalizer 1.4.1:
Equalizer 1.4.0:
2.3. Optimizations
- InfiniBand RDMA: significant performance increase using a different
underlying implementation
2.4. Examples
- eqPly: Add command line option to disable region of interest
- eqPly: Parallel kd-tree construction when using gcc 4.4 or later
- eqPly: runtime-changeable model unit scaling
- eqPly: Create all VBOs/display lists during the first frame
2.5. Tools
- eqPlyConverter: New offline tool to generate binary cache for eqPly
2.6. Documentation
The following documentation has been added or substantially improved since the
last release:
2.7. Bug Fixes
Equalizer 1.4.1 includes the following bugfixes over the 1.4 release:
- 180:
Launch error with empty host for a node bug
- 179:
Readback of non-modulo-4 images broken
- 175:
"--eq-logfile" followed by no other argument segfaults
- 162:
WGL window compile error
- 161:
eqPly crash on model load on Win32
- 160:
Memleak with pipe thread affinity
- 159:
exPixelBench crashes
- 158:
Non-freed GPUCompressors after application exit
- 138:
Windows: PBO error when rendering
Equalizer 1.4 includes various bugfixes over the 1.2.1 release, including the
following:
- 157:
Crash in Image::upload when no uploader is found
- 149:
Channel::configInit initID always 0
- 147:
Repeated Canvas::useLayout OFF/ON causes violation of DRAW_SYNC thread
ordering
- 139:
Tile compound readback broken
- 120:
Async readback deallocation
- 118:
OS X: Async readback doesn't work
- 137:
1-window.DFR broken
- 136:
compositor assertion when using custom frames
- 135:
Command line option --eq-layout broken
- 131:
seqPly --help launches application
- 127:
Problem with getdomainname() in SocketConnection::listen()
- 124:
Upload plugins are not freed
- 121:
Packaging: netperf conflicts with other packages
- 117:
Race with async channel tasks
2.8. Known Bugs
The following bugs were known at release time. Please file a
Bug Report if you
find any other issue with this release.
- 177:
Occasional async readback deadlocks on GLX
- 167:
HWLOC: Segmentation Fault with empty auto thread affinity
- 78: AGL:
assertion on interaction with multiple GPUs
- 77:
7-window.DB.PIXEL.eqc broken
- 76:
7-window.DPLEX.2D.lb.eqc does not load-balance
- 49:
eqPixelBench crash with double free
- 19: zoom
readback with FBO
- 18: zoom:
depth readback does not work
- 17: AGL:
Window close does not work
3. About
Equalizer is a cross-platform toolkit, designed to run on any modern operating
system, including all Unix variants and the Windows operating system. A
compatibility
matrix can be found on the Equalizer website.
Equalizer requires at least OpenGL 1.1,
but uses newer OpenGL features when available. Version 1.4 has been tested on:
3.1. Operating System Support
Equalizer uses CMake to create a platform-specific build environment. The
following platforms and build environments are tested:
- Linux: Ubuntu 11.10, 12.04, RHEL 6.1 (Makefile, i386, x64)
- Windows: 7 (Visual Studio 2008, i386, x64)
- Mac OS X: 10.7 (Makefile, XCode, i386, x64)
3.2. Window System Support
- X11: Full support for all documented features
- WGL: Full support for all documented features
- AGL: Full support for all documented features
3.3. Documentation
The Programming and User Guide is available as a
hard-copy
and online.
The API
documentation can be found on the Equalizer website.
As with any open source project, the available source code, in particular the
shipped
examples
provide a reference for developing or porting applications. The
Developer Documentation on the website
provides further design documents for specific features.
3.4. Support
Technical questions can be posted to the
Developer Mailing List, or directly to
info@equalizergraphics.com.
Commercial support, custom software development and porting services are
available from Eyescale. Please contact
info@eyescale.ch
for further information.
4. Errata