1 |
%define oname VirtualGL |
2 |
%define libname %mklibname %{name} |
3 |
|
4 |
Name: virtualgl |
5 |
Summary: A toolkit for displaying OpenGL applications to thin clients |
6 |
Group: Networking/Other |
7 |
Version: 2.3.3 |
8 |
Release: %mkrel 2 |
9 |
URL: http://www.virtualgl.org |
10 |
License: wxWindows |
11 |
Source0: http://prdownloads.sourceforge.net/virtualgl/%{oname}-%{version}.tar.gz |
12 |
Patch0: VirtualGL-2.3.2-link.patch |
13 |
BuildRequires: cmake |
14 |
BuildRequires: jpeg-devel |
15 |
BuildRequires: pkgconfig(gl) |
16 |
BuildRequires: pkgconfig(glu) |
17 |
BuildRequires: pkgconfig(x11) |
18 |
BuildRequires: pkgconfig(xext) |
19 |
BuildRequires: pkgconfig(xv) |
20 |
|
21 |
%description |
22 |
VirtualGL is a library which allows most Linux OpenGL applications to be |
23 |
remotely displayed to a thin client without the need to alter the |
24 |
applications in any way. VGL inserts itself into an application at run time |
25 |
and intercepts a handful of GLX calls, which it reroutes to the server's |
26 |
display (which presumably has a 3D accelerator attached.) This causes all |
27 |
3D rendering to occur on the server's display. As each frame is rendered |
28 |
by the server, VirtualGL reads back the pixels from the server's framebuffer |
29 |
and sends them to the client for re-compositing into the appropriate X |
30 |
Window. VirtualGL can be used to give hardware-accelerated 3D capabilities to |
31 |
VNC or other remote display environments that lack GLX support. In a LAN |
32 |
environment, it can also be used with its built-in motion-JPEG video delivery |
33 |
system to remotely display full-screen 3D applications at 20+ frames/second. |
34 |
|
35 |
VirtualGL is based upon ideas presented in various academic papers on |
36 |
this topic, including "A Generic Solution for Hardware-Accelerated Remote |
37 |
Visualization" (Stegmaier, Magallon, Ertl 2002) and "A Framework for |
38 |
Interactive Hardware Accelerated Remote 3D-Visualization" (Engel, Sommer, |
39 |
Ertl 2000.) |
40 |
|
41 |
%files |
42 |
%doc %{_defaultdocdir}/%{name}/ |
43 |
%{_bindir}/* |
44 |
%ifarch x86_64 |
45 |
%{_bindir}/.vglrun.vars64 |
46 |
%endif |
47 |
|
48 |
#-------------------------------------------------------------------- |
49 |
%package -n %{libname} |
50 |
Summary: Libraries injected by VirtualGL into applications that are ran through it |
51 |
Group: System/Libraries |
52 |
|
53 |
%description -n %{libname} |
54 |
Libraries injected by VirtualGL into applications that are ran throught it. |
55 |
Lib package allow installing 32 and 64 bits libraries at the same time. |
56 |
|
57 |
%files -n %{libname} |
58 |
%dir %{_libdir}/fakelib/ |
59 |
%{_libdir}/fakelib/libGL.so |
60 |
%{_libdir}/librrfaker.so |
61 |
%{_libdir}/libdlfaker.so |
62 |
%{_libdir}/libgefaker.so |
63 |
|
64 |
#-------------------------------------------------------------------- |
65 |
%package devel |
66 |
Summary: A toolkit for displaying OpenGL applications to thin clients |
67 |
Group: Networking/Other |
68 |
Requires: %{libname} >= %{version} |
69 |
|
70 |
%description devel |
71 |
VirtualGL is a library which allows most Linux OpenGL applications to be |
72 |
remotely displayed to a thin client without the need to alter the |
73 |
applications in any way. VGL inserts itself into an application at run |
74 |
time and intercepts a handful of GLX calls, which it reroutes to the |
75 |
server's display (which presumably has a 3D accelerator attached). This |
76 |
causes all 3D rendering to occur on the server's display. As each frame |
77 |
is rendered by the server, VirtualGL reads back the pixels from the |
78 |
server's framebuffer and sends them to the client for re-compositing into |
79 |
the appropriate X Window. VirtualGL can be used to give hardware- |
80 |
-accelerated 3D capabilities to VNC or other remote display environments |
81 |
that lack GLX support. In a LAN environment, it can also be used with |
82 |
its built-in motion-JPEG video delivery system to remotely display |
83 |
full-screen 3D applications at 20+ frames/second. |
84 |
VirtualGL is based upon ideas presented in various academic papers on |
85 |
this topic, including "A Generic Solution for Hardware-Accelerated Remote |
86 |
Visualization" (Stegmaier, Magallon, Ertl 2002) and "A Framework for |
87 |
Interactive Hardware Accelerated Remote 3D-Visualization" (Engel, Sommer, |
88 |
Ertl 2000.) |
89 |
|
90 |
%files devel |
91 |
%{_includedir}/rrtransport.h |
92 |
%{_includedir}/rr.h |
93 |
|
94 |
#-------------------------------------------------------------------- |
95 |
%prep |
96 |
%setup -qn %{oname}-%{version} |
97 |
%apply_patches |
98 |
|
99 |
%build |
100 |
%cmake \ |
101 |
-DVGL_DOCDIR=%{_defaultdocdir}/%{name} \ |
102 |
-DVGL_LIBDIR=%{_libdir} \ |
103 |
-DTJPEG_INCLUDE_DIR=%{_includedir} \ |
104 |
-DTJPEG_LIBRARY=%{_libdir}/libturbojpeg.so |
105 |
|
106 |
%make |
107 |
|
108 |
%install |
109 |
%makeinstall_std -C build |
110 |
|
111 |
rm -rf %{buildroot}%{_usr}/fakelib |
112 |
mkdir -p %{buildroot}%{_libdir}/fakelib |
113 |
ln -sf ../librrfaker.so %{buildroot}%{_libdir}/fakelib/libGL.so |
114 |
mv -f %{buildroot}%{_bindir}/glxinfo %{buildroot}%{_bindir}/glxinfo2 |