[VirtualGL] Initial import (#834127).

Gary Gatling gsgatlin at fedoraproject.org
Sat Jul 14 14:32:48 UTC 2012


commit d3df6de78ec733706eb536da8335bcf8835bb71a
Author: Gary Gatling <gsgatlin at ncsu.edu>
Date:   Sat Jul 14 10:28:54 2012 -0400

    Initial import (#834127).

 .gitignore                     |    1 +
 VirtualGL-fltk.patch           |   17 +++++
 VirtualGL-glx.patch            |   12 +++
 VirtualGL-redhatpathsfix.patch |   43 ++++++++++++
 VirtualGL.spec                 |  149 ++++++++++++++++++++++++++++++++++++++++
 sources                        |    1 +
 6 files changed, 223 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..b73d9a8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/VirtualGL-2.3.1.tar.gz
diff --git a/VirtualGL-fltk.patch b/VirtualGL-fltk.patch
new file mode 100644
index 0000000..8decd3b
--- /dev/null
+++ b/VirtualGL-fltk.patch
@@ -0,0 +1,17 @@
+diff -up VirtualGL-2.3.1/server/CMakeLists.txt.fltk VirtualGL-2.3.1/server/CMakeLists.txt
+--- VirtualGL-2.3.1/server/CMakeLists.txt.fltk	2012-02-08 13:11:50.000000000 -0700
++++ VirtualGL-2.3.1/server/CMakeLists.txt	2012-07-10 11:23:17.574740534 -0600
+@@ -1,4 +1,3 @@
+-add_subdirectory(fltk)
+ 
+ 
+ #
+@@ -67,7 +66,7 @@ set(HEADERS ../common/rr.h rrtransport.h
+ install(FILES ${HEADERS} DESTINATION ${VGL_INCDIR})
+ 
+ add_executable(vglconfig vglconfig.cpp fakerconfig.cpp)
+-target_link_libraries(vglconfig ${X11_X11_LIB} fltk_static pthread rrutil)
++target_link_libraries(vglconfig ${X11_X11_LIB} fltk pthread rrutil)
+ if(VGL_USEXV)
+ 	target_link_libraries(vglconfig ${X11_Xv_LIB})
+ endif()
diff --git a/VirtualGL-glx.patch b/VirtualGL-glx.patch
new file mode 100644
index 0000000..6bf0823
--- /dev/null
+++ b/VirtualGL-glx.patch
@@ -0,0 +1,12 @@
+diff -up VirtualGL-2.3.1/util/glreadtest.cpp.glx VirtualGL-2.3.1/util/glreadtest.cpp
+--- VirtualGL-2.3.1/util/glreadtest.cpp.glx	2011-12-22 11:27:13.000000000 -0700
++++ VirtualGL-2.3.1/util/glreadtest.cpp	2012-07-10 11:19:56.904891622 -0600
+@@ -23,7 +23,7 @@
+ #include "rrerror.h"
+ #include <errno.h>
+ #define GL_GLEXT_PROTOTYPES
+-#include "../common/glx.h"
++#include <GL/glx.h>
+ #ifdef MESAGLU
+ #include <mesa/glu.h>
+ #else
diff --git a/VirtualGL-redhatpathsfix.patch b/VirtualGL-redhatpathsfix.patch
new file mode 100644
index 0000000..8d31662
--- /dev/null
+++ b/VirtualGL-redhatpathsfix.patch
@@ -0,0 +1,43 @@
+diff -up VirtualGL-2.3.1/server/vglrun.redhatpathsfix VirtualGL-2.3.1/server/vglrun
+--- VirtualGL-2.3.1/server/vglrun.redhatpathsfix	2012-07-07 17:08:45.873195299 -0400
++++ VirtualGL-2.3.1/server/vglrun	2012-07-07 17:14:45.039183696 -0400
+@@ -281,16 +281,35 @@ exec ${1+"$@"}
+ 
+ *)
+ 
++if [ `uname -i` != "x86_64" ]; then
++
++          # We must be running on a 32 bit system.
++if [ -z "$LD_PRELOAD" ]; then
++        LD_PRELOAD=/usr/lib/VirtualGL/librrfaker.so
++else
++    	LD_PRELOAD=/usr/lib/VirtualGL/librrfaker.so:$LD_PRELOAD
++fi
++if [ $__VGL_DL -eq 1 ]; then
++        LD_PRELOAD=/usr/lib/VirtualGL/libdlfaker.so:$LD_PRELOAD
++fi
++if [ $__VGL_GE -eq 1 ]; then
++        LD_PRELOAD=/usr/lib/VirtualGL/libgefaker.so:$LD_PRELOAD
++fi
++
++else
++
++       # Ok, 64 bit system it is then...
+ if [ -z "$LD_PRELOAD" ]; then
+-	LD_PRELOAD=librrfaker.so
++	LD_PRELOAD=/usr/lib64/VirtualGL/librrfaker.so
+ else
+-	LD_PRELOAD=librrfaker.so:$LD_PRELOAD
++	LD_PRELOAD=/usr/lib64/VirtualGL/librrfaker.so:$LD_PRELOAD
+ fi
+ if [ $__VGL_DL -eq 1 ]; then
+-	LD_PRELOAD=libdlfaker.so:$LD_PRELOAD
++	LD_PRELOAD=/usr/lib64/VirtualGL/libdlfaker.so:$LD_PRELOAD
+ fi
+ if [ $__VGL_GE -eq 1 ]; then
+-	LD_PRELOAD=libgefaker.so:$LD_PRELOAD
++	LD_PRELOAD=/usr/lib64/VirtualGL/libgefaker.so:$LD_PRELOAD
++fi
+ fi
+ export LD_PRELOAD
+ exec ${1+"$@"}
diff --git a/VirtualGL.spec b/VirtualGL.spec
new file mode 100644
index 0000000..faa242a
--- /dev/null
+++ b/VirtualGL.spec
@@ -0,0 +1,149 @@
+Summary:        A toolkit for displaying OpenGL applications to thin clients
+Name:           VirtualGL
+Version:        2.3.1
+URL:            http://www.virtualgl.org/
+Group:          Applications/System
+Source0:        http://downloads.sourceforge.net/project/virtualgl/VirtualGL/%{version}/VirtualGL-%{version}.tar.gz
+# Fix vglrun to be able to load the lib*faker libs
+Patch0:         %{name}-redhatpathsfix.patch
+# Use system fltk
+Patch1:         %{name}-fltk.patch
+# Use system glx.h
+Patch2:         %{name}-glx.patch
+Release:        6%{?dist}
+License:        wxWidgets
+%if 0%{?rhel} == 6
+BuildRequires: cmake28
+%else
+BuildRequires: cmake
+%endif
+BuildRequires:  fltk-devel
+BuildRequires:  openssl-devel
+BuildRequires:  turbojpeg-devel
+BuildRequires:  mesa-libGLU-devel
+BuildRequires:  libXv-devel
+Requires:       fltk
+
+%description
+VirtualGL is a toolkit that allows most Unix/Linux OpenGL applications to be
+remotely displayed with hardware 3D acceleration to thin clients, regardless
+of whether the clients have 3D capabilities, and regardless of the size of the
+3D data being rendered or the speed of the network.
+
+Using the vglrun script, the VirtualGL "faker" is loaded into an OpenGL
+application at run time.  The faker then intercepts a handful of GLX calls,
+which it reroutes to the server's X display (the "3D X Server", which
+presumably has a 3D accelerator attached.)  The GLX commands are also
+dynamically modified such that all rendering is redirected into a Pbuffer
+instead of a window.  As each frame is rendered by the application, the faker
+reads back the pixels from the 3D accelerator and sends them to the
+"2D X Server" for compositing into the appropriate X Window.
+
+VirtualGL can be used to give hardware-accelerated 3D capabilities to VNC or
+other X proxies that either lack OpenGL support or provide it through software
+rendering.  In a LAN environment, VGL can also be used with its built-in
+high-performance image transport, which sends the rendered 3D images to a
+remote client (vglclient) for compositing on a remote X server.  VirtualGL
+also supports image transport plugins, allowing the rendered 3D images to be
+sent or captured using other mechanisms.
+
+VirtualGL is based upon ideas presented in various academic papers on
+this topic, including "A Generic Solution for Hardware-Accelerated Remote
+Visualization" (Stegmaier, Magallon, Ertl 2002) and "A Framework for
+Interactive Hardware Accelerated Remote 3D-Visualization" (Engel, Sommer,
+Ertl 2000.)
+
+%package devel
+Summary:    Development headers and libraries for VirtualGL
+Requires:   %{name}%{?_isa} = %{version}-%{release}
+Requires:   openssl-devel%{?_isa}
+Requires:   turbojpeg-devel%{?_isa}
+Requires:   mesa-libGLU-devel%{?_isa}
+Requires:   libXv-devel%{?_isa}
+
+%description devel
+Development headers and libraries for VirtualGL.
+
+%prep
+%setup -q
+%patch0 -p1 -b .redhatpathsfix
+%patch1 -p1 -b .fltk
+%patch2 -p1 -b .glx
+sed -i -e 's,"glx.h",<GL/glx.h>,' server/*.[hc]*
+# Remove bundled libraries
+rm -r client/{putty,x11windows} common/glx* include/FL server/fltk
+rm doc/LICENSE-*.txt
+
+%build
+%if 0%{?rhel} == 6
+%cmake28 \
+%else
+%cmake \
+%endif
+         -DTJPEG_INCLUDE_DIR=%{_includedir} \
+         -DTJPEG_LIBRARY=%{_libdir}/libturbojpeg.so \
+         -DVGL_USESSL=ON -DVGL_LIBDIR=%{_libdir} \
+         -DVGL_DOCDIR=%{_docdir}/%{name}-%{version}/ \
+         -DVGL_FAKELIBDIR=%{_libdir}/fakelib/ .
+make %{?_smp_mflags}
+
+%install
+make install DESTDIR=$RPM_BUILD_ROOT
+mkdir $RPM_BUILD_ROOT%{_libdir}/VirtualGL
+rm $RPM_BUILD_ROOT%{_bindir}/glxinfo
+mv $RPM_BUILD_ROOT%{_libdir}/libdlfaker.so $RPM_BUILD_ROOT%{_libdir}/VirtualGL/libdlfaker.so
+mv $RPM_BUILD_ROOT%{_libdir}/libgefaker.so $RPM_BUILD_ROOT%{_libdir}/VirtualGL/libgefaker.so
+mv $RPM_BUILD_ROOT%{_libdir}/librrfaker.so $RPM_BUILD_ROOT%{_libdir}/VirtualGL/librrfaker.so
+
+%post -p /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
+
+%files
+%{_docdir}/%{name}-%{version}/
+%{_bindir}/tcbench
+%{_bindir}/nettest
+%{_bindir}/cpustat
+%{_bindir}/vglclient
+%{_bindir}/vglconfig
+%{_bindir}/vglconnect
+%{_bindir}/vglgenkey
+%{_bindir}/vgllogin
+%{_bindir}/vglserver_config
+%{_bindir}/vglrun
+%{_bindir}/glxspheres
+%{_libdir}/VirtualGL/
+%{_libdir}/fakelib/
+
+%files devel
+%{_includedir}/rrtransport.h
+%{_includedir}/rr.h
+
+
+%changelog
+* Thu Jul 12 2012 Gary Gatling <gsgatlin at eos.ncsu.edu> - 2.3.1-6
+- removed BuildArch: noarch from "devel" subpackage
+
+* Thu Jul 12 2012 Gary Gatling <gsgatlin at eos.ncsu.edu> - 2.3.1-5
+- change to cmake macros in the build section of specfile
+
+* Tue Jul 10 2012 Gary Gatling <gsgatlin at eos.ncsu.edu> - 2.3.1-4
+- fix vglrun patch to use uname -i to determine platform.
+- fix cmake macro problems on rhel 6.
+- remove Vendor tag from specfile
+
+* Tue Jul 10 2012 Orion Poplawski <orion at nwra.com> - 2.3.1-3
+- Use system glx, fltk
+- Don't ship glxinfo
+
+* Fri Jul 6 2012 Gary Gatling <gsgatlin at eos.ncsu.edu> - 2.3.1-2
+- Added patch for library paths within the vglrun script.
+
+* Thu Jul 5 2012 Gary Gatling <gsgatlin at eos.ncsu.edu> - 2.3.1-1
+- Upgrade to 2.3.1 and made changes to better follow packaging guidelines for fedora project.
+
+* Wed Jun 6 2012 Gary Gatling <gsgatlin at eos.ncsu.edu> - 2.3-2
+- Very minor edit for building on RHEL 6 with the same specfile as newer fedora.
+
+* Thu Feb 16 2012 Robin Lee <cheeselee at fedoraproject.org> - 2.3-1
+- Specfile based on upstream and Mandriva specfiles
diff --git a/sources b/sources
index e69de29..0abb4c1 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+6c7dcfce0541df7f5bd8a07d4c480fb1  VirtualGL-2.3.1.tar.gz


More information about the scm-commits mailing list