From 4ac905246f697426cb89fd4551a8fc862029496a Mon Sep 17 00:00:00 2001 From: Peter Michael Green Date: Sun, 1 Dec 2019 03:06:16 +0000 Subject: [PATCH] Import primus-vk_1.3-3+rpi1.debian.tar.xz [dgit import tarball primus-vk 1.3-3+rpi1 primus-vk_1.3-3+rpi1.debian.tar.xz] --- .gitlab-ci.yml | 4 +++ changelog | 35 ++++++++++++++++++ control | 82 ++++++++++++++++++++++++++++++++++++++++++ copyright | 38 ++++++++++++++++++++ gbp.conf | 8 +++++ patches/series | 0 primus-vk.manpages | 1 + pvkrun.1 | 28 +++++++++++++++ pvkrun.bash-completion | 1 + pvkrun.nvidia | 5 +++ rules | 21 +++++++++++ source/format | 1 + watch | 6 ++++ 13 files changed, 230 insertions(+) create mode 100644 .gitlab-ci.yml create mode 100644 changelog create mode 100644 control create mode 100644 copyright create mode 100644 gbp.conf create mode 100644 patches/series create mode 100644 primus-vk.manpages create mode 100644 pvkrun.1 create mode 100644 pvkrun.bash-completion create mode 100755 pvkrun.nvidia create mode 100755 rules create mode 100644 source/format create mode 100644 watch diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..33c3a64 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,4 @@ +--- +include: + - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml + - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml diff --git a/changelog b/changelog new file mode 100644 index 0000000..2ccccae --- /dev/null +++ b/changelog @@ -0,0 +1,35 @@ +primus-vk (1.3-3+rpi1) bullseye-staging; urgency=medium + + * Disable libnv-vulkan-wrapper1 package, we don't have any nvidia stuff in raspbian. + + -- Peter Michael Green Sun, 01 Dec 2019 03:06:16 +0000 + +primus-vk (1.3-3) unstable; urgency=medium + + * No change source upload to allow migration to testing. + + -- Luca Boccassi Wed, 20 Nov 2019 10:01:00 +0000 + +primus-vk (1.3-2) unstable; urgency=medium + + [ Felix Dörre ] + * restrict architectures for libnv-vulkan-wrapper1 to those that build + NVIDIA drivers and the required libraries + * another section-fix: move primus-vk from contrib/utils to utils + + -- Luca Boccassi Thu, 14 Nov 2019 18:20:18 +0000 + +primus-vk (1.3-1) unstable; urgency=medium + + [ Felix Dörre ] + * New upstream release v1.3 with a few improvements + * move primus-vk-nvidia-i386 to correct section + + -- Luca Boccassi Tue, 12 Nov 2019 10:20:10 +0000 + +primus-vk (1.2-1) unstable; urgency=medium + + [ Felix Dörre ] + * Initial release (Closes: #940631) + + -- Luca Boccassi Sun, 06 Oct 2019 20:24:34 +0100 diff --git a/control b/control new file mode 100644 index 0000000..45424ac --- /dev/null +++ b/control @@ -0,0 +1,82 @@ +Source: primus-vk +Section: utils +Priority: optional +Maintainer: Debian NVIDIA Maintainers +Uploaders: Luca Boccassi +Build-Depends: debhelper-compat (= 12), + libvulkan-dev (>= 1.1.108), + vulkan-validationlayers-dev (>= 1.1.108), +Standards-Version: 4.4.1 +Homepage: https://github.com/felixdoerre/primus_vk +Rules-Requires-Root: no +Vcs-Browser: https://salsa.debian.org/nvidia-team/primus-vk +Vcs-Git: https://salsa.debian.org/nvidia-team/primus-vk.git + +Package: primus-vk +Architecture: all +Section: utils +Depends: bumblebee, libprimus-vk1, ${misc:Depends} +Recommends: libprimus-vk1:amd64, libprimus-vk1:i386 +Description: Vulkan layer for GPU offloading + Typically you want to display an image rendered on a more powerful + GPU on a display managed by an internal GPU. The layer in this package will + direct rendering commands to a dedicated, more powerful GPU an when such an + image is displayed it will be copied to the integrated CPU for displaying. + +Package: primus-vk-nvidia +Architecture: all +Section: contrib/utils +Depends: bumblebee, + libglx-nvidia0 | libglx-nvidia-legacy-390xx0, + libnvidia-glvkspirv, + libnv-vulkan-wrapper1, + mesa-vulkan-drivers, + primus-libs, + primus-vk, + ${misc:Depends}, +Recommends: primus-vk-nvidia-i386 +Breaks: nvidia-nonglvnd-vulkan-common, nvidia-vulkan-common, primus +Description: Hybrid runner for primus-vk configured for nvidia + Adds the pvkrun runner which can be used as a universal runner + for both OpenGL and Vulkan applications. The runner is preconfigured for + Nvidia+Intel optimus setup and should work immediately. + +Package: primus-vk-nvidia-i386 +Architecture: i386 +Section: contrib/utils +Depends: libglx-nvidia0 | libglx-nvidia-legacy-390xx0, + libnvidia-glvkspirv, + libnv-vulkan-wrapper1, + libprimus-vk1, + mesa-vulkan-drivers, + primus-libs, + ${misc:Depends}, +Multi-Arch: foreign +Description: dependencies of primus-vk-nvidia also for 32-bit applications + This package depends on 32-bit libraries for primus. It can safely be + removed after installation. + +Package: libprimus-vk1 +Architecture: any +Section: libs +Multi-Arch: same +Depends: libvulkan1 (>= 1.1.108), ${misc:Depends}, ${shlibs:Depends} +Description: vulkan layer library for the primus-vk layer + This library implements the primus-vk layer. It decides which GPU + the individual Vulkan API calls should go against and does the image + copying. + +Package: libnv-vulkan-wrapper1 +Architecture: none +Section: contrib/libs +Multi-Arch: same +Depends: libgl1-nvidia-glx | libglx-nvidia0 | libglx-nvidia-legacy-390xx0, + libvulkan1, + ${misc:Depends}, + ${shlibs:Depends}, +Description: thinly wraps the nvidia binary vulkan driver so it misbehaves less + This library is a thin wrapper around the Vulkan API functions of the + nvidia Vulkan driver. The Vulkan driver misbehaves for example by reading the + DISPLAY environment variable and connecting to that display server. This + library corrects that misbehaviour, so the driver can be successfully used + with bumblebee. diff --git a/copyright b/copyright new file mode 100644 index 0000000..27c8a50 --- /dev/null +++ b/copyright @@ -0,0 +1,38 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: primus-vk +Upstream-Contact: Felix Dörre +Source: https://github.com/felixdoerre/primus_vk + +Files: * +Copyright: 2018-2019 Felix Dörre + 2018-2019 Alex Fuller + 2019 Bert + 2018 Björn Bidar + 2019 Bruno Pagani + 2019 jonpas +License: BSD-2-clause + +License: BSD-2-clause + BSD 2-Clause License + All rights reserved. + . + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + . + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + . + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/gbp.conf b/gbp.conf new file mode 100644 index 0000000..c5f0d57 --- /dev/null +++ b/gbp.conf @@ -0,0 +1,8 @@ +[DEFAULT] +upstream-tag = v%(version)s + +[import-orig] +upstream-vcs-tag = v%(version)s + +[dch] +git-log = --first-parent diff --git a/patches/series b/patches/series new file mode 100644 index 0000000..e69de29 diff --git a/primus-vk.manpages b/primus-vk.manpages new file mode 100644 index 0000000..b95c7f6 --- /dev/null +++ b/primus-vk.manpages @@ -0,0 +1 @@ +debian/pvkrun.1 diff --git a/pvkrun.1 b/pvkrun.1 new file mode 100644 index 0000000..2bad8f9 --- /dev/null +++ b/pvkrun.1 @@ -0,0 +1,28 @@ +.\" Hey, EMACS: -*- nroff -*- +.TH Primus-vk 1 "August 4 2019" +.SH NAME +pvkrun \- run an application with vulkan calculations on a different graphics card +.SH SYNOPSIS +.B pvkrun +.RI command +.SH DESCRIPTION +Primus-vk implements a solution to run applications using the Vulkan-API on a dedicated +graphics card, while the image is rendered on an integrated graphics card. +.SH VARIABLES +.TP +.B PRIMUS_VK_DISPLAYID +device identification for the device to display the image on (the integrated graphics card, +e.g. 8086:591d). The identifieres can be obtained with the +.B vulkaninfo +command and are named +.B vendorID +and +.B deviceID +.TP +.B PRIMUS_VK_RENDERID +device identification for the device to render the images on (i.e. the dedicated graphics card). +Identifier syntax is the same as for the variable +.B PRIMUS_VK_DISPLAYID +.SH SEE ALSO +.BR vulkaninfo (1), +.BR primusrun (1). diff --git a/pvkrun.bash-completion b/pvkrun.bash-completion new file mode 100644 index 0000000..79f0c8e --- /dev/null +++ b/pvkrun.bash-completion @@ -0,0 +1 @@ +complete -F _command pvkrun diff --git a/pvkrun.nvidia b/pvkrun.nvidia new file mode 100755 index 0000000..eaf11ee --- /dev/null +++ b/pvkrun.nvidia @@ -0,0 +1,5 @@ +#!/bin/sh +export ENABLE_PRIMUS_LAYER=1 +old_ldpreload="$LD_PRELOAD" +export LD_PRELOAD= +exec optirun -- env PRIMUS_libGLa=/usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.0:/usr/lib/i386-linux-gnu/libGLX_nvidia.so.0 LD_PRELOAD="$old_ldpreload" "$@" diff --git a/rules b/rules new file mode 100755 index 0000000..cc6300a --- /dev/null +++ b/rules @@ -0,0 +1,21 @@ +#!/usr/bin/make -f + +export DEB_BUILD_MAINT_OPTIONS=hardening=+all + + +export DEB_CXXFLAGS_MAINT_APPEND=-DNV_DRIVER_PATH=\"/usr/lib/$(DEB_TARGET_MULTIARCH)/nvidia/nvidia/libGL.so.1:libGLX_nvidia.so.0\" + +%: + dh $@ + +INSTALL=install -D +override_dh_auto_install: + $(INSTALL) "libnv_vulkan_wrapper.so" -T "debian/libnv-vulkan-wrapper1/usr/lib/$(DEB_TARGET_MULTIARCH)/libnv_vulkan_wrapper.so.1" + $(INSTALL) "libprimus_vk.so" -T "debian/libprimus-vk1/usr/lib/$(DEB_TARGET_MULTIARCH)/libprimus_vk.so.1" + $(INSTALL) -m644 "primus_vk.json" -t "debian/primus-vk/usr/share/vulkan/implicit_layer.d/" + $(INSTALL) -m644 "nv_vulkan_wrapper.json" -t "debian/primus-vk-nvidia/usr/share/vulkan/icd.d/" + $(INSTALL) -m755 "debian/pvkrun.nvidia" -T "debian/primus-vk-nvidia/usr/bin/pvkrun" + $(INSTALL) -m644 "debian/pvkrun.bash-completion" -T "debian/primus-vk-nvidia/usr/share/bash-completion/completions/primus-vk-nvidia" + + sed -i s/libprimus_vk.so/libprimus_vk.so.1/ debian/primus-vk/usr/share/vulkan/implicit_layer.d/primus_vk.json + sed -i s/libnv_vulkan_wrapper.so/libnv_vulkan_wrapper.so.1/ debian/primus-vk-nvidia/usr/share/vulkan/icd.d/nv_vulkan_wrapper.json diff --git a/source/format b/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/watch b/watch new file mode 100644 index 0000000..d10634c --- /dev/null +++ b/watch @@ -0,0 +1,6 @@ +version=4 + +opts="filenamemangle=s%(?:.*?)?v?(\d[\d.]*)\.tar\.gz%primus-vk_$1.tar.gz%" \ + https://github.com/felixdoerre/primus_vk/tags \ + (?:.*?/)?v?(\d[\d.]*)\.tar\.gz debian uupdate + -- 2.30.2