debian/0000755000000000000000000000000012262752026007172 5ustar debian/control0000644000000000000000000000415712262475102010601 0ustar Source: primus Section: utils Priority: extra Maintainer: Debian NVIDIA Maintainers Uploaders: Aron Xu , Vincent Cheng , Yunqiang Su Build-Depends: debhelper (>= 9), bash-completion, mesa-common-dev Standards-Version: 3.9.5 Homepage: https://github.com/amonakov/primus Vcs-Git: git://anonscm.debian.org/pkg-nvidia/primus.git Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-nvidia/primus.git Package: primus Architecture: i386 amd64 Depends: ${shlibs:Depends}, ${misc:Depends}, bumblebee, socat, primus-libs (= ${binary:Version}) Recommends: primus-libs-ia32 [amd64] Description: client-side GPU offloading for NVIDIA Optimus Primus is a shared library that provides OpenGL and GLX APIs and implements low-overhead local-only client-side OpenGL offloading via GLX forking, similar to VirtualGL. It intercepts GLX calls and redirects GL rendering to a secondary X display, presumably driven by a faster GPU. On swapping buffers, rendered contents are read back using a PBO and copied onto the drawable it was supposed to be rendered on in the first place. . Primus is currently intended to be used alongside Bumblebee and provides a drop-in replacement for optirun (i.e. "primusrun"). Package: primus-libs Architecture: i386 amd64 Depends: ${shlibs:Depends}, ${misc:Depends} Multi-Arch: same Description: Shared libraries for primus This package contains the libraries for primus which are loaded when running primusrun. Package: primus-libs-ia32 Architecture: i386 Depends: primus-libs, ${misc:Depends} Multi-Arch: foreign Description: Shared libraries for primus (32-bit) This package depends on 32-bit libraries for primus. It can safely be removed after installation. Package: primus-libs-dbg Architecture: i386 amd64 Section: debug Depends: primus-libs (=${binary:Version}), ${misc:Depends} Multi-Arch: same Description: Shared libraries for primus - debugging symbols This package contains the libraries for primus which are loaded when running primusrun. . This package contains the debugging symbols for primus-libs. debian/bash-completion0000644000000000000000000000003612262470424012177 0ustar primus.bash-completion primus debian/changelog0000644000000000000000000000363112262750366011054 0ustar primus (0~20131127-2) unstable; urgency=medium * Build with PRIMUS_UPLOAD=1 to avoid a bug triggered by using primus and xserver-xorg-video-intel with UXA acceleration enabled (which is currently the default with xserver-xorg-video-intel 2:2.21.15-1 in unstable). This workaround will remain in effect until xserver-xorg-video-intel defaults to SNA in unstable. This flag will not be set if build environment is Ubuntu, as SNA is already enabled by default (in trusty). -- Vincent Cheng Tue, 07 Jan 2014 01:56:18 -0800 primus (0~20131127-1) unstable; urgency=medium * New upstream git snapshot. - rebase on 074817614c * Update Standards version to 3.9.5, no changes required. -- Vincent Cheng Mon, 06 Jan 2014 01:36:38 -0800 primus (0~20130904-1) unstable; urgency=low * New upstream git snapshot. - rebase on da6459236b -- Vincent Cheng Wed, 23 Oct 2013 01:03:15 -0700 primus (0~20130805-1) unstable; urgency=low * New upstream git snapshot. - rebase on 3f248d9f13 -- Vincent Cheng Tue, 20 Aug 2013 02:13:51 -0700 primus (0~20130601-1) unstable; urgency=low * New upstream git snapshot. - rebase on 38731d5375 - fixes FTBFS on oldstable with gcc < 4.6 (Closes: #710025) -- Vincent Cheng Thu, 06 Jun 2013 00:31:34 -0700 primus (0~20130527-1) unstable; urgency=low * New upstream git snapshot. - rebase on 618acb99e0 -- Vincent Cheng Wed, 29 May 2013 01:49:06 -0700 primus (0~20130511-1) unstable; urgency=low * New upstream git snapshot. - rebase on ef73dd1976 -- Vincent Cheng Thu, 16 May 2013 00:17:46 -0700 primus (0~20130427-1) unstable; urgency=low * Initial release. (Closes: #692597) -- Vincent Cheng Fri, 03 May 2013 03:26:17 -0700 debian/compat0000644000000000000000000000000212262470424010367 0ustar 9 debian/copyright0000644000000000000000000000354712262470424011135 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: primus Source: https://github.com/amonakov/primus Files: * Copyright: 2012-2013 Alexander Monakov License: ISC Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. . THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. Files: debian/* Copyright: 2012 Dmitry Zhurikhin 2013 Bruno Pagani 2013 Vincent Cheng License: GPL-3.0+ This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. . This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. . You should have received a copy of the GNU General Public License along with this program. If not, see . On Debian systems, the complete text of the GNU General Public License version 3 can be found in "/usr/share/common-licenses/GPL-3". debian/docs0000644000000000000000000000002712262470424010043 0ustar README.md technotes.md debian/manpages0000644000000000000000000000001412262470424010702 0ustar primusrun.1 debian/primus-libs-ia32.lintian-overrides0000644000000000000000000000004712262470424015554 0ustar primus-libs-ia32: empty-binary-package debian/scripts/0000755000000000000000000000000012262470424010660 5ustar debian/scripts/primusrun0000644000000000000000000000326412262470424012654 0ustar #!/bin/bash # Readback-display synchronization method # 0: no sync, 1: D lags behind one frame, 2: fully synced # export PRIMUS_SYNC=${PRIMUS_SYNC:-0} # Verbosity level # 0: only errors, 1: warnings (default), 2: profiling # export PRIMUS_VERBOSE=${PRIMUS_VERBOSE:-1} # Secondary display # export PRIMUS_DISPLAY=${PRIMUS_DISPLAY:-:8} # "Accelerating" libGL # $LIB will be interpreted by the dynamic linker # if (which dpkg-vendor >/dev/null && dpkg-vendor --derives-from Ubuntu) || \ # [ -e /etc/dpkg/origins/ubuntu ]; then # # Ubuntu # export PRIMUS_libGLa=${PRIMUS_libGLa:-'/usr/$LIB/mesa/libGL.so.1'} # else # # Debian # export PRIMUS_libGLa=${PRIMUS_libGLa:-'/usr/$LIB/libGL.so.1'} # fi # "Displaying" libGL # if (which dpkg-vendor >/dev/null && dpkg-vendor --derives-from Ubuntu) || \ # [ -e /etc/dpkg/origins/ubuntu ]; then # # Ubuntu # export PRIMUS_libGLa=${PRIMUS_libGLa:-'/usr/$LIB/mesa/libGL.so.1'} # else # # Debian # export PRIMUS_libGLa=${PRIMUS_libGLa:-'/usr/$LIB/libGL.so.1'} # fi # Directory containing primus libGL PRIMUS_libGL=${PRIMUS_libGL:-'/usr/$LIB/primus'} # On some distributions, e.g. on Gentoo, libnvidia-tls.so is not available # in default search paths. Add its path manually after the primus library bblibs=$(echo -ne 'Q LibraryPath\0' | \ socat - UNIX-CONNECT:/var/run/bumblebee.socket | sed 's/^Value: \(.*\)/\1/') PRIMUS_libGL=${PRIMUS_libGL}${bblibs:+:$bblibs} # Mesa drivers need a few symbols to be visible # export PRIMUS_LOAD_GLOBAL=${PRIMUS_LOAD_GLOBAL:-'libglapi.so.0'} # Need functions from primus libGL to take precedence export LD_LIBRARY_PATH=${PRIMUS_libGL}${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} # And go! exec "$@" debian/source/0000755000000000000000000000000012262470424010471 5ustar debian/source/format0000644000000000000000000000001412262470424011677 0ustar 3.0 (quilt) debian/watch0000644000000000000000000000013712262470424010223 0ustar version=3 https://github.com/amonakov/primus/tags .*/v?(\d.*)\.(?:tgz|tbz2|tar\.(?:gz|bz2|xz)) debian/rules0000755000000000000000000000257412262752026010262 0ustar #!/usr/bin/make -f # -*- makefile -*- # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) ifeq ($(shell dpkg-vendor --derives-from Ubuntu && echo yes),yes) PRIMUS_libGLa=/usr/lib/$(DEB_HOST_MULTIARCH)/mesa/libGL.so.1 PRIMUS_libGLd=/usr/lib/$(DEB_HOST_MULTIARCH)/mesa/libGL.so.1 # =1 on 13.04/raring and earlier, 0 (default) on 13.10/saucy and later PRIMUS_UPLOAD=0 else PRIMUS_libGLa=/usr/lib/$(DEB_HOST_MULTIARCH)/libGL.so.1 PRIMUS_libGLd=/usr/lib/$(DEB_HOST_MULTIARCH)/libGL.so.1 # PRIMUS_UPLOAD=1 set until Debian's xserver-xorg-video-intel # defaults to SNA acceleration in unstable PRIMUS_UPLOAD=1 endif # Where to put the resulting library during build BUILD_LIBDIR ?= lib %: dh $@ --with bash-completion override_dh_clean: rm -rf $(BUILD_LIBDIR) dh_clean override_dh_auto_build: dh_auto_build -- LIBDIR=$(BUILD_LIBDIR) \ PRIMUS_libGLd=$(PRIMUS_libGLd) \ PRIMUS_libGLa=$(PRIMUS_libGLa) \ PRIMUS_UPLOAD=$(PRIMUS_UPLOAD) override_dh_install: # Make all the paths explicitly mkdir -p debian/primus/usr/bin/ debian/primus-libs/usr/lib/$(DEB_HOST_MULTIARCH)/primus/ install -m 755 debian/scripts/primusrun debian/primus/usr/bin/ cp -r $(BUILD_LIBDIR)/* debian/primus-libs/usr/lib/$(DEB_HOST_MULTIARCH)/primus/ dh_install override_dh_strip: dh_strip --dbg-package=primus-libs-dbg