Control: reassign 839139 src:firmware-nonfree Control: severity -1 important Control: merge -1 839139 Control: tags -1 patch
On 2016-05-06 23:23 +0200, Sven Joachim wrote: > Source: firmware-nonfree > Version: 20160110-1 > Severity: wishlist > > Starting with the Maxwell GM20x generation[1], NVidia graphics cards > require signed firmware for most operations, the Nouveau driver does not > provide acceleration without the firmware. > > In February 2016, NVidia finally made the firmware available in the > linux-firmware git repository, and with Linux 4.6 and Mesa 11.2 (both > currently in experimental) users should be able to get acceptable > performance out of their expensive cards without having to resort to the > proprietary driver. This really ought to be fixed, as these cards have become very common and users are complaining (see #839139). The second of the attached patches creates a new firmware-nvidia-graphics package with the firmware files for Maxwell and Pascal chips. While I still don't have the hardware to test the package, at least update-initramfs no longer warns about missing firmware when nouveau is included in /etc/initramfs-tools/modules. The new package currently is slightly under 60 kilobytes, and it would certainly also be possible to put the files into the firmware-misc-nonfree catch-all package (the Tegra firmware is already there). However, more NVidia firmware is probably going to be released in the future, so a separate package makes sense to me. In any case, the first of the two attached patches fixes a problem in debian/rules.real where 'ln' would fail because a target directory does not exist. Thanks for consideration, Sven
>From f5e3018be836ce90e1c2977adb7555d9743d0702 Mon Sep 17 00:00:00 2001 From: Sven Joachim <[email protected]> Date: Fri, 14 Oct 2016 12:58:07 +0200 Subject: [PATCH 1/2] Ensure that target directory for symbolic links exists If a directory contains only symlinks and no regular files, as in the case of nvidia/gm204/acr/, installing the symlink would fail: ln -s ../../gm200/acr/ucode_unload.bin debian/firmware-nvidia-graphics/lib/firmware/nvidia/gm204/acr/ucode_unload.bin ln: failed to create symbolic link 'debian/firmware-nvidia-graphics/lib/firmware/nvidia/gm204/acr/ucode_unload.bin': No such file or directory debian/rules.real:13: recipe for target 'install' failed --- debian/rules.real | 1 + 1 file changed, 1 insertion(+) diff --git a/debian/rules.real b/debian/rules.real index 1def0e3..b0490d6 100644 --- a/debian/rules.real +++ b/debian/rules.real @@ -22,6 +22,7 @@ install: @for i in $(LINKS); do \ link=debian/$(PACKAGE_NAME)/lib/firmware/"$${i%:*}"; \ target="$${i#*:}"; \ + install -d "$${link%/*}"; \ echo ln -s "$$target" "$$link"; \ ln -s "$$target" "$$link"; \ done -- 2.9.3
>From 208ed145066f2394dd0e9ed38bce81971625d3ec Mon Sep 17 00:00:00 2001 From: Sven Joachim <[email protected]> Date: Fri, 14 Oct 2016 10:44:58 +0200 Subject: [PATCH 2/2] Add an nvidia-graphics-firmware package --- debian/config/defines | 1 + debian/config/nvidia-graphics/LICENSE | 130 ++++++++++++++++++++++++++++++++++ debian/config/nvidia-graphics/defines | 76 ++++++++++++++++++++ 3 files changed, 207 insertions(+) create mode 100644 debian/config/nvidia-graphics/LICENSE create mode 100644 debian/config/nvidia-graphics/defines diff --git a/debian/config/defines b/debian/config/defines index 713a491..15d857e 100644 --- a/debian/config/defines +++ b/debian/config/defines @@ -15,6 +15,7 @@ packages: misc-nonfree myricom netxen + nvidia-graphics qlogic realtek samsung diff --git a/debian/config/nvidia-graphics/LICENSE b/debian/config/nvidia-graphics/LICENSE new file mode 100644 index 0000000..6dfb2aa --- /dev/null +++ b/debian/config/nvidia-graphics/LICENSE @@ -0,0 +1,130 @@ +Files: nvidia/* +Copyright: +License: License For Customer Use of NVIDIA Software + IMPORTANT NOTICE -- READ CAREFULLY: This License For Customer Use of + NVIDIA Software ("LICENSE") is the agreement which governs use of + the software of NVIDIA Corporation and its subsidiaries ("NVIDIA") + downloadable herefrom, including computer software and associated + printed materials ("SOFTWARE"). By downloading, installing, copying, + or otherwise using the SOFTWARE, you agree to be bound by the terms + of this LICENSE. If you do not agree to the terms of this LICENSE, + do not download the SOFTWARE. + . + RECITALS + . + Use of NVIDIA's products requires three elements: the SOFTWARE, the + hardware, and a personal computer. The SOFTWARE is protected by copyright + laws and international copyright treaties, as well as other intellectual + property laws and treaties. The SOFTWARE may be protected by various + patents, and is not sold, and instead is only licensed for use, strictly + in accordance with this document. The hardware is protected by various + patents, and is sold, but this agreement does not cover that sale, since + it may not necessarily be sold as a package with the SOFTWARE. This + agreement sets forth the terms and conditions of the SOFTWARE LICENSE only. + . + 1. DEFINITIONS + . + 1.1 Customer. Customer means the entity or individual that + downloads or otherwise obtains the SOFTWARE. + . + 2. GRANT OF LICENSE + . + 2.1 Rights and Limitations of Grant. NVIDIA hereby grants Customer + the following non-exclusive, non-transferable right to use the + SOFTWARE, with the following limitations: + . + 2.1.1 Rights. Customer may install and use multiple copies of the + SOFTWARE on a shared computer or concurrently on different computers, + and make multiple back-up copies of the SOFTWARE, solely for Customer's + use within Customer's Enterprise. "Enterprise" shall mean individual use + by Customer or any legal entity (such as a corporation or university) + and the subsidiaries it owns by more than fifty percent (50%). + . + 2.1.2 Open Source Exception. Notwithstanding the foregoing terms + of Section 2.1.1, SOFTWARE may be copied and redistributed solely for + use on operating systems distributed under the terms of an OSI-approved + open source license as listed by the Open Source Initiative at + http://opensource.org, provided that the binary files thereof are not + modified, and Customer provides a copy of this license with the SOFTWARE. + . + 2.1.3 Limitations. + . + No Reverse Engineering. Customer may not reverse engineer, + decompile, or disassemble the SOFTWARE, nor attempt in any other + manner to obtain the source code. + . + Usage. SOFTWARE is licensed only for use with microprocessor(s) which have + been (i) designed by NVIDIA and (ii) either (a) sold by or (b) licensed by + NVIDIA. Customer shall not use SOFTWARE in conjunction with, nor cause + SOFTWARE to be executed by, any other microprocessor. + . + No Translation. Customer shall not translate SOFTWARE, nor cause or permit + SOFTWARE to be translated, from the architecture or language in which it is + originally provided by NVIDIA, into any other architecture or language. + . + No Rental. Customer may not rent or lease the SOFTWARE to someone + else. + . + 3. TERMINATION + . + This LICENSE will automatically terminate if Customer fails to + comply with any of the terms and conditions hereof. In such event, + Customer must destroy all copies of the SOFTWARE and all of its + component parts. + . + Defensive Suspension. If Customer commences or participates in any legal + proceeding against NVIDIA, then NVIDIA may, in its sole discretion, + suspend or terminate all license grants and any other rights provided + under this LICENSE during the pendency of such legal proceedings. + . + 4. COPYRIGHT + . + All title and copyrights in and to the SOFTWARE (including but + not limited to all images, photographs, animations, video, audio, + music, text, and other information incorporated into the SOFTWARE), + the accompanying printed materials, and any copies of the SOFTWARE, + are owned by NVIDIA, or its suppliers. The SOFTWARE is protected + by copyright laws and international treaty provisions. Accordingly, + Customer is required to treat the SOFTWARE like any other copyrighted + material, except as otherwise allowed pursuant to this LICENSE + and that it may make one copy of the SOFTWARE solely for backup or + archive purposes. + . + 5. APPLICABLE LAW + . + This agreement shall be deemed to have been made in, and shall be + construed pursuant to, the laws of the State of California. + . + 6. DISCLAIMER OF WARRANTIES AND LIMITATION ON LIABILITY + . + 6.1 No Warranties. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE + LAW, THE SOFTWARE IS PROVIDED "AS IS" AND NVIDIA AND ITS SUPPLIERS + DISCLAIM ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT + NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + FOR A PARTICULAR PURPOSE. + . + 6.2 No Liability for Consequential Damages. TO THE MAXIMUM + EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL NVIDIA OR + ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR + CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, + DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS + OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT + OF THE USE OF OR INABILITY TO USE THE SOFTWARE, EVEN IF NVIDIA HAS + BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + . + 7. MISCELLANEOUS + . + The United Nations Convention on Contracts for the International + Sale of Goods is specifically disclaimed. If any provision of this + LICENSE is inconsistent with, or cannot be fully enforced under, + the law, such provision will be construed as limited to the extent + necessary to be consistent with and fully enforceable under the law. + This agreement is the final, complete and exclusive agreement between + the parties relating to the subject matter hereof, and supersedes + all prior or contemporaneous understandings and agreements relating + to such subject matter, whether oral or written. Customer agrees + that it will not ship, transfer or export the SOFTWARE into any + country, or use the SOFTWARE in any manner, prohibited by the + United States Bureau of Export Administration or any export laws, + restrictions or regulations. This LICENSE may only be modified in + writing signed by an authorized officer of NVIDIA. diff --git a/debian/config/nvidia-graphics/defines b/debian/config/nvidia-graphics/defines new file mode 100644 index 0000000..1c6fac7 --- /dev/null +++ b/debian/config/nvidia-graphics/defines @@ -0,0 +1,76 @@ +[base] +desc: NVIDIA graphics chips +longdesc: NVIDIA Maxwell and Pascal graphics chips supported by the nouveau driver +files: + nvidia/gm200/acr/bl.bin + nvidia/gm200/acr/ucode_load.bin + nvidia/gm200/acr/ucode_unload.bin + nvidia/gm200/gr/fecs_bl.bin + nvidia/gm200/gr/fecs_data.bin + nvidia/gm200/gr/fecs_inst.bin + nvidia/gm200/gr/fecs_sig.bin + nvidia/gm200/gr/gpccs_bl.bin + nvidia/gm200/gr/gpccs_data.bin + nvidia/gm200/gr/gpccs_inst.bin + nvidia/gm200/gr/gpccs_sig.bin + nvidia/gm200/gr/sw_bundle_init.bin + nvidia/gm200/gr/sw_ctx.bin + nvidia/gm200/gr/sw_method_init.bin + nvidia/gm200/gr/sw_nonctx.bin + nvidia/gm204/acr/bl.bin + nvidia/gm204/acr/ucode_load.bin + nvidia/gm204/acr/ucode_unload.bin + nvidia/gm204/gr/fecs_bl.bin + nvidia/gm204/gr/fecs_data.bin + nvidia/gm204/gr/fecs_inst.bin + nvidia/gm204/gr/fecs_sig.bin + nvidia/gm204/gr/gpccs_bl.bin + nvidia/gm204/gr/gpccs_data.bin + nvidia/gm204/gr/gpccs_inst.bin + nvidia/gm204/gr/gpccs_sig.bin + nvidia/gm204/gr/sw_bundle_init.bin + nvidia/gm204/gr/sw_ctx.bin + nvidia/gm204/gr/sw_method_init.bin + nvidia/gm204/gr/sw_nonctx.bin + nvidia/gm206/acr/bl.bin + nvidia/gm206/acr/ucode_load.bin + nvidia/gm206/acr/ucode_unload.bin + nvidia/gm206/gr/fecs_bl.bin + nvidia/gm206/gr/fecs_data.bin + nvidia/gm206/gr/fecs_inst.bin + nvidia/gm206/gr/fecs_sig.bin + nvidia/gm206/gr/gpccs_bl.bin + nvidia/gm206/gr/gpccs_data.bin + nvidia/gm206/gr/gpccs_inst.bin + nvidia/gm206/gr/gpccs_sig.bin + nvidia/gm206/gr/sw_bundle_init.bin + nvidia/gm206/gr/sw_ctx.bin + nvidia/gm206/gr/sw_method_init.bin + nvidia/gm206/gr/sw_nonctx.bin + nvidia/gm20b/acr/bl.bin + nvidia/gm20b/acr/ucode_load.bin + nvidia/gm20b/gr/fecs_bl.bin + nvidia/gm20b/gr/fecs_data.bin + nvidia/gm20b/gr/fecs_inst.bin + nvidia/gm20b/gr/fecs_sig.bin + nvidia/gm20b/gr/gpccs_data.bin + nvidia/gm20b/gr/gpccs_inst.bin + nvidia/gm20b/gr/sw_bundle_init.bin + nvidia/gm20b/gr/sw_ctx.bin + nvidia/gm20b/gr/sw_method_init.bin + nvidia/gm20b/gr/sw_nonctx.bin + nvidia/gp100/acr/bl.bin + nvidia/gp100/acr/ucode_load.bin + nvidia/gp100/acr/ucode_unload.bin + nvidia/gp100/gr/fecs_bl.bin + nvidia/gp100/gr/fecs_data.bin + nvidia/gp100/gr/fecs_inst.bin + nvidia/gp100/gr/fecs_sig.bin + nvidia/gp100/gr/gpccs_bl.bin + nvidia/gp100/gr/gpccs_data.bin + nvidia/gp100/gr/gpccs_inst.bin + nvidia/gp100/gr/gpccs_sig.bin + nvidia/gp100/gr/sw_bundle_init.bin + nvidia/gp100/gr/sw_ctx.bin + nvidia/gp100/gr/sw_method_init.bin + nvidia/gp100/gr/sw_nonctx.bin -- 2.9.3

