--- nvidia-settings-384.69.orig/debian/changelog +++ nvidia-settings-384.69/debian/changelog @@ -0,0 +1,764 @@ +nvidia-settings (384.69-0ubuntu1) artful; urgency=medium + + * New upstream release (to match the 384 series in the archive). + * debian/patches/08_add_prime_support.patch: + - Refresh the patch for the 384 series. + + -- Alberto Milone Mon, 09 Oct 2017 18:28:54 +0200 + +nvidia-settings (367.35-0ubuntu1) yakkety; urgency=medium + + * debian/control: + - Build for arm64 and ppc64el, even though we don't provide the + driver for these architectures yet. + * debian/patches/12_nostrip.patch, + debian/patches/13_libxnvctrl_so_0.patch: + - Refresh patches. + + -- Alberto Milone Tue, 09 Aug 2016 11:10:31 +0200 + +nvidia-settings (361.42-0ubuntu1) xenial; urgency=medium + + * New upstream release: + - Limited the default concurrency level in nvidia-settings to 32, + to avoid hitting the maximum tasks limit on systems with many + CPUs. + + -- Alberto Milone Tue, 05 Apr 2016 11:42:18 +0200 + +nvidia-settings (361.28-0ubuntu1) xenial; urgency=medium + + * New upstream release. + + -- Alberto Milone Thu, 11 Feb 2016 11:50:07 +0100 + +nvidia-settings (352.21-0ubuntu1) wily; urgency=medium + + * debian/rules: + - Remove a character that was accidentally introduced in the + sources' link, which was causing the download-sources target + to fail. + * New upstream release: + - Fixed a bug that caused the Display Configuration page of the + nvidia-settings control panel to automatically generate layouts + with multiple displays occupying the same position when + enabling or disabling Base Mosaic. + - Updated nvidia-settings to allow the use of the standard + Display Configuration page when SLI Mosaic is enabled. + - Added reporting of ECC error counts to the nvidia-settings + control panel. + - Fixed a bug in nvidia-settings that caused the application to + crash when saving the EDID to a file. + + -- Alberto Milone Thu, 23 Jul 2015 12:57:28 +0200 + +nvidia-settings (346.82-0ubuntu1) wily; urgency=medium + + * New upstream release: + - Fixed a bug that caused the application to crash when saving + the EDID to a file. + + -- Alberto Milone Wed, 24 Jun 2015 17:19:13 +0200 + +nvidia-settings (346.72-0ubuntu1) wily; urgency=medium + + * New upstream release. + + -- Alberto Milone Tue, 19 May 2015 16:36:18 +0200 + +nvidia-settings (346.59-0ubuntu1) vivid; urgency=medium + + * New upstream release: + - Fixed a bug that could cause nvidia-settings to crash on exit. + + -- Alberto Milone Thu, 09 Apr 2015 10:47:10 +0200 + +nvidia-settings (346.47-0ubuntu1) vivid; urgency=medium + + [ Graham Inggs ] + * Enable building for armhf. + * New packages libxnvtrl0 and libxnvctrl-dev. (LP: #1327753) + * Sync all patches from 343.22-1 in Debian experimental. + * Merge debian/copyright from 343.22-1 in Debian experimental, + add Ubuntu contributors, update copyright years. (LP: #1429974) + + -- Alberto Milone Wed, 18 Mar 2015 12:41:58 +0100 + +nvidia-settings (346.35-0ubuntu1) vivid; urgency=low + + * New upstream release: + - Updated nvidia-settings to take advantage of GTK+ 3, when + available. This is implemented by building the nvidia-settings + user interface into separate shared libraries (libnvidia- + gtk2.so, libnvidia-gtk3.so), and loading the correct one at + run-time. + - Added the nvidia-settings option --gtk-library to allow + specifying the path of the directory containing the user + interface library or the path and filename of the specific + library to use. + - Added support in nvidia-settings for a GTK+ 3 user interface on + x86 and x86_64. + - Added the nvidia-settings option --use-gtk2 to force the use of + the GTK+ 2 UI library. + * debian/control: + - Fix up build dependencies. + * debian/patches/10_legacy_vdpau.patch: + - Make it possible to build with VDPAU releases older than 0.9. + * debian/patches/04_nvidia-settings_natty_ftbs.patch: + - Drop the patch. + * debian/patches/07_remove_features_for_legacy.patch, + debian/patches/09_do_not_complain_if_nvidia_is_missing.patch: + - Refresh the patches. + + -- Alberto Milone Fri, 16 Jan 2015 18:21:44 +0100 + +nvidia-settings (331.20-0ubuntu8) trusty; urgency=low + + * debian/patches/05_add_polkit_support.patch, + debian/patches/08_add_prime_support.patch: + - Use python 3 instead of python 2. + + -- Alberto Milone Mon, 03 Feb 2014 16:00:12 +0100 + +nvidia-settings (331.20-0ubuntu7) trusty; urgency=low + + * Revert previous upload. + * debian/patches/08_add_prime_support.patch: + - Add a missing prototype for ctk_prime_create_help(), and + include ctkutils.h in ctkprime.c. + + -- Alberto Milone Mon, 13 Jan 2014 15:33:19 +0100 + +nvidia-settings (331.20-0ubuntu6) trusty; urgency=low + + * d/patches/08_...: Add missing preprocessor directives, resolving + FTBFS on 64-bit. + + -- Daniel T Chen Mon, 09 Dec 2013 11:16:16 -0500 + +nvidia-settings (331.20-0ubuntu5) trusty; urgency=low + + * debian/patches/series: + - Reorder patches + * debian/patches/08_add_prime_support.patch: + - Add support for PRIME switching. An additional + tab provides support for switching between GPUs. + This is only visible if nvidia-prime (>= 0.5) is + installed and reports that the system supports + hybrid graphics. No hard dependency on nvidia-prime + is therefore required. + * debian/patches/09_do_not_complain_if_nvidia_is_missing.patch: + - Disable the warning dialog since it suggests to run + nvidia-xconfig, which we don't need. This would also break + PRIME. + + -- Alberto Milone Wed, 27 Nov 2013 12:23:23 +0100 + +nvidia-settings (331.20-0ubuntu4) trusty; urgency=low + + * debian/preinst: + - Clean up any nvidia_settings_conf alternatives. + + -- Alberto Milone Fri, 22 Nov 2013 15:08:21 +0100 + +nvidia-settings (331.20-0ubuntu3) trusty; urgency=low + + * debian/dirs, debian/install, + debian/nvidia-settings-autostart.desktop, + debian/nvidia-settings.desktop: + - Install the icon and the desktop files. + * debian/rules: + - Do not compress .c and .mk files. + * debian/control.in, debian/postinst.in, debian/postrm.in, + debian/prerm.in, debian/rules: + - Drop alternatives, as we only have one nvidia-settings + for all the driver flavours. + + -- Alberto Milone Fri, 22 Nov 2013 09:35:14 +0100 + +nvidia-settings (331.20-0ubuntu2) trusty; urgency=low + + * debian/patches/07_remove_features_for_legacy.patch: + - Do not expose features that are not available in the legacy + drivers. + + -- Alberto Milone Wed, 20 Nov 2013 16:46:02 +0100 + +nvidia-settings (331.20-0ubuntu1) trusty; urgency=low + + * Unify the different flavours under this one. + * debian/control.in: + - Add ${misc:Depends}. + - Build depend on libvdpau-dev and depend on libvdpau1. + - Create transitional packages for 319, 319-updates, 313-updates, + 310, 310-updates, 304, 304-updates, experimental-304, updates. + - Remove lpia. + - Drop dependency on python-gtk2. + - Conflict/replace/provide nvidia-settings-binary. + * debian/patches/series: + - Do not apply 01_allow_dark_themes.dpatch. + * debian/rules: + - Pass the destdir argument in uppercase to match the variable. + - Add download-sources target. + - Clean action in rules to target "clean" instead of "distclean". + + -- Alberto Milone Tue, 19 Nov 2013 12:38:42 +0100 + +nvidia-settings (304.88-0ubuntu0.1) quantal-security; urgency=low + + * SECURITY UPDATE: ARGB Cursor Buffer Overflow in "NoScanout" Mode + - CVE-2013-0131 + + [ Alberto Milone ] + * New upstream release: + - Match the ABI in the 304.88 release. + + -- Alberto Milone Fri, 05 Apr 2013 17:09:45 +0200 + +nvidia-settings (304.51-0ubuntu2) quantal; urgency=low + + * debian/control.in: + - Conflict with/replace/provide other flavours + (LP: #1061659). + + -- Alberto Milone Fri, 12 Oct 2012 12:56:09 +0200 + +nvidia-settings (304.51-0ubuntu1) quantal; urgency=low + + * New upstream release: + - Fixed a bug that sometimes caused the display layout area + of the nvidia-settings control panel to be laid out + incorrectly. + + -- Alberto Milone Thu, 04 Oct 2012 12:58:33 +0200 + +nvidia-settings (304.43-0ubuntu2) quantal; urgency=low + + * debian/patches/06_remove_local_prefix.patch: + - Fix FTBFS (LP: #1037483). + + -- Alberto Milone Tue, 11 Sep 2012 12:20:07 +0200 + +nvidia-settings (304.43-0ubuntu1) quantal; urgency=low + + * New upstream release (LP: #1037483): + - Updated nvidia-settings to use RandR per-CRTC gamma + control, when available. When controlling an X + server with support for RandR 1.2, nvidia-settings + will display the color correction widget as a tab + within each display device page, instead of a + per-X screen color correction page. + - Added the ability to select and move X screens in + the "X Server Display Configuration" page of + nvidia-settings via Ctrl-(Left)Click + Drag. + - Fixed a bug that prevented the display palette + from being updated immediately after an application + called XStoreColors. + - Fixed a bug that caused gnome-settings-daemon to + revert display configuration changes made by + nvidia-settings. + + -- Alberto Milone Tue, 28 Aug 2012 14:01:47 +0200 + +nvidia-settings (302.17-0ubuntu3) quantal; urgency=low + + * debian/control: Fixed a typo in the package description: changed 'of' to 'for' + (LP: #306178) + + -- Donald Siuchninski Sun, 29 Jul 2012 22:19:32 -0500 + +nvidia-settings (302.17-0ubuntu2) quantal; urgency=low + + * Rename build to build-arch and make build depend on build-arch. + + -- Adam Conrad Mon, 02 Jul 2012 17:18:24 -0600 + +nvidia-settings (302.17-0ubuntu1) quantal; urgency=low + + * New upstream release. + * Refresh 04_nvidia-settings_natty_ftbs.patch. + * Drop 02_nvidia-settings-format-string.patch which + is now upstream. + * debian/rules: + - Make sure to install the new sources correctly. + + -- Alberto Milone Mon, 25 Jun 2012 16:31:12 +0200 + +nvidia-settings (295.33-0ubuntu1) precise; urgency=low + + * New upstream release. + + -- Alberto Milone Fri, 30 Mar 2012 14:23:10 +0200 + +nvidia-settings (295.20-0ubuntu1) precise; urgency=low + + * New upstream release. + + -- Alberto Milone Sat, 18 Feb 2012 10:21:04 +0100 + +nvidia-settings (285.05.09-0ubuntu1) precise; urgency=low + + * New upstream release. + + -- Alberto Milone Mon, 14 Nov 2011 17:05:48 +0100 + +nvidia-settings (280.13-0ubuntu4) precise; urgency=low + + * Ubuntu has a control.in so last change didn't work. + + -- Stéphane Graber Mon, 17 Oct 2011 14:05:13 -0400 + +nvidia-settings (280.13-0ubuntu3) precise; urgency=low + + * Add python-gtk2 and pkg-config dependencies (LP: #721453) + + -- Mackenzie Morgan Mon, 17 Oct 2011 13:18:23 -0400 + +nvidia-settings (280.13-0ubuntu2) oneiric; urgency=low + + * Make sure that dh_auto_install calls make with the right arguments. + + -- Alberto Milone Fri, 05 Aug 2011 14:19:18 +0200 + +nvidia-settings (280.13-0ubuntu1) oneiric; urgency=low + + * New upstream release. + * Correct copyright assignment in debian/rules. + * Make it possible to generate files from templates. + * Install an alternative, so that users can switch between different + flavours. + * Switch to debhelper 7 and quilt. + + -- Alberto Milone Thu, 04 Aug 2011 17:43:17 +0200 + +nvidia-settings (275.09.07-0ubuntu1) oneiric; urgency=low + + * New upstream release: + - Fixed a bug that caused nvidia-settings to crash while saving the + X configuration file on some Linux distributions. + + -- Alberto Milone Wed, 15 Jun 2011 16:52:24 +0200 + +nvidia-settings (270.41.19-0ubuntu1) oneiric; urgency=low + + * New upstream release. + + -- Alberto Milone Tue, 14 Jun 2011 19:20:08 +0200 + +nvidia-settings (270.29-0ubuntu1) natty; urgency=low + + * New upstream release. + + -- Alberto Milone Fri, 25 Feb 2011 15:18:56 +0100 + +nvidia-settings (260.19.21-0ubuntu3) natty; urgency=low + + * Drop patch debian/patches/06_layout_drop_down.patch: Causes regression + when used with unity. + (Closes LP: #692677, reopens #604525) + + -- Bryce Harrington Mon, 03 Jan 2011 13:08:19 -0800 + +nvidia-settings (260.19.21-0ubuntu2) natty; urgency=low + + * Add debian/patches/06_layout_drop_down.patch: screen layout dialog box + replaced by a drop-down list, thanks to Bert Van Vreckem (LP: #604525). + + -- Kees Cook Mon, 06 Dec 2010 14:47:44 -0800 + +nvidia-settings (260.19.21-0ubuntu1) natty; urgency=low + + * New upstream release. + * Add debian/patches/04_nvidia-settings_natty_ftbs.patch. + Thanks to Robert Hooker for the patch. + + -- Alberto Milone Sun, 21 Nov 2010 13:02:24 +0100 + +nvidia-settings (260.19.06-0ubuntu1) maverick; urgency=low + + * New upstream release: + - Update to the new release so that it matches the latest release + of nvidia-current. + + -- Alberto Milone Wed, 29 Sep 2010 11:46:29 +0200 + +nvidia-settings (256.53-0ubuntu1) maverick; urgency=low + + * New upstream release: + - Update to the new release so that it matches the latest release + of nvidia-current. + * debian/control: + - Bump Standards-Version. + - Add Vcs-Git and Vcs-Browser. + + -- Alberto Milone Tue, 07 Sep 2010 12:19:37 +0200 + +nvidia-settings (256.35-0ubuntu1) maverick; urgency=low + + * New upstream release: + - Fixed a bug that caused nvidia-settings to crash when rendering + its thermal gauge widget if the range of valid values for the + thermal sensor was empty. + - Improved Thermal Settings reporting in nvidia-settings to + accurately reflect hardware configurations with multiple thermal + sensors. + * debian/docs: + - Remove Makefile.inc. + + -- Alberto Milone Sun, 27 Jun 2010 18:59:46 +0200 + +nvidia-settings (195.36.08-0ubuntu2) lucid; urgency=low + + * debian/patches/03_do_not_exit_on_no_scanout.patch: + - Do not fail if the driver doesn't support the NV_CTRL_NO_SCANOUT + property (LP: #539196). + + -- Alberto Milone Tue, 06 Apr 2010 19:50:01 +0200 + +nvidia-settings (195.36.08-0ubuntu1) lucid; urgency=low + + * New upstream release: + - Fixed an X server crash caused by starting nvidia-settings while + X was not on the active VT. + - Fixed an nvidia-settings bug that produced many "Bad argument" + warning messages when running nvidia-settings --query all. + * Drop patches 03_xf86vidmode-rampsize-check.patch and + 04_include_xf86vmproto.patch as the problem is fixed + in the upstream code now. + + + -- Alberto Milone Fri, 05 Mar 2010 11:19:05 +0100 + +nvidia-settings (190.53-0ubuntu1) lucid; urgency=low + + * New upstream release (LP: #417410). + * debian/control: + - Add build dependency on cdbs. + - Remove build dependency on dpatch. + - Add lpia architecture. + - Depend on screen-resolution-extra >= 0.12. + * debian/patches/02_nvidia-settings-format-string.patch: + - Patch from Mandriva to pass formatted strings to gtk dialogs (thus + reducing gtk warnings). + * debian/patches/03_xf86vidmode-rampsize-check.patch: + - Fix FTBFS with recent versions of XF86VidMode. + * debian/patches/04_include_xf86vmproto.patch: + - Include xf86vmproto.h so as to get back XF86VidModeGetGammaRampSize(). + * debian/patches/05_polkit.patch: + - Add support for PolicyKit so that nvidia-settings doesn't require + that users call it with sudo to edit xorg.conf (LP: #200868) + (requires screen-resolution-extra >= 0.12). + * debian/rules: + - Switch to CDBS. + - Do not provide a desktop file. The different nvidia packages will + deal with it. + + -- Alberto Milone Sun, 10 Jan 2010 12:12:42 +0100 + +nvidia-settings (180.25-0ubuntu1) jaunty; urgency=low + + * New upstream release (LP: #315667) + * debian/patches/02_add_missing_serverlayout.dpatch: drop patch + + -- Alberto Milone (tseliot) Sat, 31 Jan 2009 17:21:51 +0100 + +nvidia-settings (177.78-0ubuntu2.1) intrepid-proposed; urgency=low + + * debian/rules: Add missing dpatch unpatching on clean. + * Add debian/patches/02_add_missing_serverlayout.dpatch: + - Prevent nvidia-settings from crashing when no ServerLayout section is + found in the xorg.conf (LP: #286424). + + -- Alberto Milone (tseliot) Sat, 01 Nov 2008 13:12:40 +0100 + +nvidia-settings (177.78-0ubuntu2) intrepid; urgency=low + + * Restore ROOT=$(DESTDIR) in the Makefile + + -- Alberto Milone (tseliot) Mon, 13 Oct 2008 15:16:15 +0200 + +nvidia-settings (177.78-0ubuntu1) intrepid; urgency=low + + * New upstream release + - Do not add RgbPath to the Files section of xorg.conf + (LP: #274866) + * debian/copyright: + - Restore detailed version of the license (cf. debian #494388) + + -- Alberto Milone (tseliot) Wed, 08 Oct 2008 18:24:16 +0200 + +nvidia-settings (173.14.09-1ubuntu3) intrepid; urgency=low + + [ Alberto Milone (tseliot) ] + * Comment out gtk_widget_modify_fg and gtk_widget_modify_bg in + src/gtk+-2.x/ctkglx.c + + [ Mario Limonciello ] + * Add dpatch patching support so that Alberto's previous patch is + not lost in newer upstream versions. + + -- Alberto Milone (tseliot) Thu, 28 Aug 2008 22:56:28 +0200 + +nvidia-settings (173.14.09-1ubuntu2) intrepid; urgency=low + + * debian/rules: force -fPIC in CFLAGS for xnvctrl library. + + -- Stefan Potyra Sun, 10 Aug 2008 12:52:07 +0200 + +nvidia-settings (173.14.09-1ubuntu1) intrepid; urgency=low + + * Merge from unstable, remaining changes: + - debian/copyright: updated, add MIT license (cf. debian #494388). + - debian/rules, debian/nvidia-settings.desktop: install desktop file + (cf. debian #317993). Also add usr/share/applications to dirs. + - drop Recommends on nvidia-glx, instead the nvidia drivers will + recommend nvidia-settings. + - update build depends of xutils and xlibmesa-gl-dev. + - update debian/rules to clean also XF86Config-parser directory + (cf. debian: #494456). + Dropped: + - patch against src/gtk+-2.x/ctkwindow.c: solved upstream. + - separate package libxnvctrl-dev (caused a major diversion, not so + much nicer to keep it). + - updating standards-version + - debhelper bump (it should build fine with v4). + * debian/control: + - add Conflicts against libxnvctrl-dev, which is dropped with this + upload and used to contain the static library/header files that + are now found in nvidia-settings itself. + + -- Stefan Potyra Sat, 09 Aug 2008 22:33:28 +0200 + +nvidia-settings (173.14.09-1) unstable; urgency=low + + * New upstream release + + -- Randall Donald Tue, 24 Jun 2008 10:41:09 -0700 + +nvidia-settings (169.07-1) unstable; urgency=low + + * New upstream release + * reinclude nvctrl headers (closes: #434885) + * depend on nvidia-glx (169.07). there are legacy versions now too. + + -- Randall Donald Sun, 23 Dec 2007 17:07:10 -0800 + +nvidia-settings (1.0+20080304-0ubuntu3) intrepid; urgency=low + + [ Alberto Milone (tseliot) ] + * Remove Recommends and Conflicts from nvidia-settings. Each NVIDIA driver + will Recommend nvidia-settings instead. + + [ Mario Limonciello ] + * debian/control: + - Modify build depends from obsoleted packages xutils and xlibmesa-gl-dev + - Bump standards version. + + -- Mario Limonciello Tue, 08 Jul 2008 13:13:05 -0500 + +nvidia-settings (1.0+20080304-0ubuntu2) intrepid; urgency=low + + * src/gtk+-2.x/ctkwindow.c: + - Set selection to default to first item when opening (LP: #198503) + + -- Mario Limonciello Wed, 04 Jun 2008 22:21:40 -0500 + +nvidia-settings (1.0+20080304-0ubuntu1) hardy; urgency=low + + * New upstream version. (LP: #198484) + - Fixes errors writing out xorg.conf + (LP: #194528,195241,195302,197568,198215) + + -- Mario Limonciello Tue, 04 Mar 2008 13:50:58 -0600 + +nvidia-settings (1.0+20071221-0ubuntu5) hardy; urgency=low + + * Add versioned nvidia-glx-legacy to Recommends and Conflicts + + -- Emmet Hikory Sat, 16 Feb 2008 10:38:08 +0900 + +nvidia-settings (1.0+20071221-0ubuntu4) hardy; urgency=low + + * debian/control: add versioned conflicts to older nvidia-glx and + nvidia-glx-new for the binary package nvidia-settings. The older + conflicted versions shipped the nvidia-settings application as + well. + * Add nvidia-glx-new as alternate recommends in debian/control. + * debian/control: (re)add versions to the recommends. + * debian/rules: don't create usr/lib for nvidia-settings (seems like + I initially added that wrongly when dropping nvidia-settings + binary package). + + -- Stefan Potyra Fri, 15 Feb 2008 22:30:12 +0100 + +nvidia-settings (1.0+20071221-0ubuntu3) hardy; urgency=low + + * Drop version from nvidia-glx recommends for virtual package support + + -- Emmet Hikory Sat, 16 Feb 2008 04:36:10 +0900 + +nvidia-settings (1.0+20071221-0ubuntu2) hardy; urgency=low + + * Enable nvidia-settings binary package again, since the binary + was dropped from nvidia-glx* in favor of this opensource version. + * Add nvidia-settings.desktop, set the category to System;Settings;. + * rules: clean src/XF86Config-parser. + * control: libxnvctrl-dev section libdevel -> contrib/libdevel. + + -- Timo Aaltonen Wed, 13 Feb 2008 16:52:16 +0200 + +nvidia-settings (1.0+20071221-0ubuntu1) hardy; urgency=low + + * New upstream version (aka 169.07). + * debian/control: Mangle maintainer/XSBC-Original-Maintainer according to + spec. + * debian/control: add libxnvctrl-dev package, which contains the headers + and the static library. + * move current debian/* to package specific places: + - debian/dirs -> removed (cannot handle non-existant package with + debhelper) + - debian/menu -> debian/nvidia-settings.menu + - debian/docs -> debian/nvidia-settings.doc, debian/libxnvctrl-dev.docs, + splitting off the relevant files. + * debian/rules: install libXNVCtrl.a to libxnvctrl-dev package. + * debian/rules: install the headers NVCtrl.h and NVCtrlLib.h to + the libxnvctrl-dev package (cf. LP bug #59945). + Also create necessary directories. + * bump debhelper recommends to version 5: + - debian/compat updated + - debian/control: tighten debhelper build-depends version. + * debian/README.ubuntu: new file, explaining the ubuntu changes. + * debian/examples -> debian/libxnvctrl.examples, because the examples + only apply to libXNVCtrl.a. + * debian/control: comment out nvidia-settings package: + The nvidia-settings binary is provided by linux-restricted-modules, + so there's no need to ship it from this package. + * debian/rules: force remove the directories from nvidia-settings in + clean rule. + * debian/copyright: updated, adjusted to list all other licensed files + as well. + + -- Stefan Potyra Fri, 08 Feb 2008 23:38:35 +0100 + +nvidia-settings (1.0+20070502-1) unstable; urgency=low + + * New upstream release. + + -- Randall Donald Sat, 12 May 2007 14:34:59 -0700 + +nvidia-settings (1.0+20060919-1) unstable; urgency=low + + * New upstream release (20060919) + * include /usr/lib/libXNVCtrl.a (closes: #375191) + + -- Randall Donald Sat, 7 Oct 2006 14:31:44 -0700 + +nvidia-settings (1.0+20060516-1) unstable; urgency=low + + * add build depend on m4. (closes: #369661) + * New upstream (nvidia-settings-1.0.tar.gz 05/16/06 ) + + -- Randall Donald Fri, 2 Jun 2006 23:21:01 -0700 + +nvidia-settings (1.0+20060404-1) unstable; urgency=low + + * New upstream (nvidia-settings-1.0.tar.gz 04/04/06) + * fix for xorg7 (closes: #366243) + + -- Randall Donald Wed, 17 May 2006 19:21:28 -0700 + +nvidia-settings (1.0+20051122-1) unstable; urgency=low + + * New upstream. (nvidia-settings-1.0-11-22-05.tar.gz) + + -- Randall Donald Wed, 28 Dec 2005 14:10:15 -0800 + +nvidia-settings (1.0+20050729-1) unstable; urgency=low + + * New upstream. + * update standards version: 3.6.2 + * correct fsf address + + -- Randall Donald Mon, 7 Nov 2005 10:54:24 -0800 + +nvidia-settings (1.0+20050525-2.2) unstable; urgency=low + + * Non-maintainer upload + * corrected X11R6_LIB_DIR for x86_64 (closes: #321295, #327337) + + -- tony mancill Fri, 30 Sep 2005 08:44:56 -0700 + +nvidia-settings (1.0+20050525-2.1) unstable; urgency=low + + * Non-maintainer upload + * adds build-depends on libxv-dev (closes: #324594) + + -- tony mancill Sun, 11 Sep 2005 10:49:58 -0700 + +nvidia-settings (1.0+20050525-2) unstable; urgency=low + + * Change build-depends from xlibs-static-dev to libxxf86vm-dev + (closes: #318814) + + -- Randall Donald Tue, 19 Jul 2005 13:56:09 -0700 + +nvidia-settings (1.0+20050525-1) unstable; urgency=low + + * upstream from May 25 2005 + * add date to version name. (how about that for an idea, duh) + + -- Randall Donald Mon, 20 Jun 2005 15:19:10 -0700 + +nvidia-settings (1.0+3-1) unstable; urgency=low + + * upstream from 03/22/05 + * add libxrandr-dev and xlibmesa-gl-dev to build depends + + -- Randall Donald Sat, 2 Apr 2005 04:51:20 +0000 + +nvidia-settings (1.0+2-3) unstable; urgency=low + + * patch for rebuilding libXNVCtrl.a runtime. Thanks + to Tollef Fog Heen (closes: 265640) + * change arch to only those supported by nvidia. + + -- Randall Donald Sat, 13 Nov 2004 12:41:47 -0800 + +nvidia-settings (1.0+2-2) unstable; urgency=low + + * Build against libs in unstable, not experimental. (closes: #280221) + + -- Randall Donald Mon, 8 Nov 2004 02:29:31 -0800 + +nvidia-settings (1.0+2-1) unstable; urgency=low + + * New upstream from Nov 5, 2004. + + -- Randall Donald Sun, 7 Nov 2004 00:02:46 -0800 + +nvidia-settings (1.0+1-1) unstable; urgency=low + + * New upstream (minor quit dialog change) but no new upstream + version number. + + -- Randall Donald Thu, 5 Aug 2004 13:52:07 -0700 + +nvidia-settings (1.0-3) unstable; urgency=low + + * Fix Author(s) :p + * install debian menu. + + -- Randall Donald Sat, 3 Jul 2004 19:09:17 -0700 + +nvidia-settings (1.0-2) unstable; urgency=low + + * Fix Build-Depends + + -- Randall Donald Wed, 30 Jun 2004 22:39:18 -0700 + +nvidia-settings (1.0-1) unstable; urgency=low + + * Initial Release. + + -- Randall Donald Wed, 30 Jun 2004 16:45:52 -0700 + --- nvidia-settings-384.69.orig/debian/compat +++ nvidia-settings-384.69/debian/compat @@ -0,0 +1 @@ +7 --- nvidia-settings-384.69.orig/debian/control +++ nvidia-settings-384.69/debian/control @@ -0,0 +1,58 @@ +Source: nvidia-settings +Section: x11 +Priority: optional +XSBC-Original-Maintainer: Debian NVIDIA Maintainers +Maintainer: Ubuntu MOTU Developers +Uploaders: Randall Donald +Build-Depends: debhelper (>= 7), m4, libgtk2.0-dev, libgtk-3-dev, libxext-dev, xutils-dev, libxrandr-dev, + libgl1-mesa-dev | libgl-dev, libxxf86vm-dev, libxv-dev, libvdpau-dev, quilt, libjansson-dev (>= 2.2) +Build-Conflicts: libxnvctrl-dev +Standards-Version: 3.8.0 +Vcs-Git: git://github.com/tseliot/nvidia-settings.git +Vcs-Browser: http://github.com/tseliot/nvidia-settings + +Package: nvidia-settings +Section: contrib/x11 +Architecture: i386 amd64 armhf arm64 ppc64el +Depends: pkg-config, screen-resolution-extra (>= 0.12), + libvdpau1, ${shlibs:Depends}, ${misc:Depends} +Conflicts: nvidia-settings-binary +Replaces: nvidia-settings-binary +Provides: nvidia-settings-binary +Description: Tool for configuring the NVIDIA graphics driver + The nvidia-settings utility is a tool for configuring the NVIDIA + Linux graphics driver. It operates by communicating with the NVIDIA + X driver, querying and updating state as appropriate. This + communication is done with the NV-CONTROL X extension. + . + Values such as brightness and gamma, XVideo attributes, temperature, + and OpenGL settings can be queried and configured via nvidia-settings. + +Package: libxnvctrl0 +Section: libs +Architecture: i386 amd64 armhf arm64 ppc64el +Depends: + ${shlibs:Depends}, ${misc:Depends} +Description: NV-CONTROL X extension (runtime library) + The NV-CONTROL X extension provides a mechanism for X clients to + query and set configuration parameters of the NVIDIA X driver. + State set by the NV-CONTROL X extension is assumed to be persistent + only for the current server generation. + . + This package contains the shared library. + +Package: libxnvctrl-dev +Section: libdevel +Architecture: i386 amd64 armhf arm64 ppc64el +Depends: + libxnvctrl0 (= ${binary:Version}), + ${misc:Depends} +Breaks: + nvidia-settings (<< 346.35-0ubuntu2~), +Replaces: + nvidia-settings (<< 346.35-0ubuntu2~), +Description: NV-CONTROL X extension (development files) + The NV-CONTROL X extension provides a mechanism for X clients to + query and set configuration parameters of the NVIDIA X driver. + State set by the NV-CONTROL X extension is assumed to be persistent + only for the current server generation. --- nvidia-settings-384.69.orig/debian/copyright +++ nvidia-settings-384.69/debian/copyright @@ -0,0 +1,209 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: nvidia-settings +Upstream-Contact: NVIDIA Corporation +Source: ftp://download.nvidia.com/XFree86/nvidia-settings/ + +Files: * +Copyright: (C) 2004-2014 NVIDIA Corporation +License: GPL-2 + +Files: samples/* +Copyright: (C) 2004-2013 NVIDIA Corporation +License: Expat-NVIDIA + +Files: src/libXNVCtrl/* +Copyright: (C) 2008-2010 NVIDIA Corporation +License: Expat-NVIDIA + +Files: src/XF86Config-parser/* +Copyright: (c) 1997 Metro Link Incorporated + (c) 1997-2003 by The XFree86 Project, Inc. +License: other-MetroLink and other-XFree + +Files: src/XF86Config-parser/DRI.c +Copyright: 1999 Precision Insight, Inc., Cedar Park, Texas. All Rights Reserved. +License: Expat-Precision + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + +Files: src/XF86Config-parser/Extensions.c +Copyright: 2004 Red Hat Inc., Raleigh, North Carolina. All Rights Reserved. +License: Expat-RedHat + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation on the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + . + The above copyright notice and this permission notice (including the + next paragraph) shall be included in all copies or substantial + portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NON-INFRINGEMENT. IN NO EVENT SHALL RED HAT AND/OR THEIR SUPPLIERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + +Files: src/XF86Config-parser/Generate.c +Copyright: (C) 2005 NVIDIA Corporation + 1999-2002 Red Hat, Inc. +License: GPL-2 + +Files: src/XF86Config-parser/Merge.c +Copyright: (c) 1997 Metro Link Incorporated +License: other-MetroLink + +Files: src/XF86Config-parser/Util.c +Copyright: (C) 2005 NVIDIA Corporation +License: GPL-2 + +Files: src/XF86Config-parser/configProcs.h +Copyright: (c) 1997-2001 by The XFree86 Project, Inc. +License: other-XFree + +Files: src/jansson/* +Copyright: 2009-2014 Petri Lehtinen + 2011-2012 Basile Starynkevitch + 2011-2012 Graeme Smecher +License: Expat + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + +Files: debian/* +Copyright: © 2004-2010 Randall Donald + © 2009-2010 Fathi Boudra + © 2011-2014 Andreas Beckmann + © 2008 Stefan Potyra + © 2008 Timo Aaltonen + © 2008 Emmet Hikory + © 2008 Mario Limonciello + © 2008-2015 Alberto Milone + © 2010 Kees Cook + © 2011 Bryce Harrington + © 2011 Stéphane Graber + © 2012 Adam Conrad + © 2012 Donald Siuchninski + © 2013 Daniel T Chen + © 2015 Graham Inggs +License: GPL-2 + +License: GPL-2 + This package is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License version 2 as published + by the Free Software Foundation. + . + This program 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 package; if not, write to the Free Software Foundation, Inc., + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + . + On Debian systems, the full text of the GNU General Public License + version 2 can be found in the file /usr/share/common-licenses/GPL-2. + +License: Expat-NVIDIA + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + +License: other-Metrolink + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF + OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + . + Except as contained in this notice, the name of the Metro Link shall not be + used in advertising or otherwise to promote the sale, use or other dealings + in this Software without prior written authorization from Metro Link. + +License: other-XFree + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + . + Except as contained in this notice, the name of the copyright holder(s) + and author(s) shall not be used in advertising or otherwise to promote + the sale, use or other dealings in this Software without prior written + authorization from the copyright holder(s) and author(s). --- nvidia-settings-384.69.orig/debian/libxnvctrl-dev.docs +++ nvidia-settings-384.69/debian/libxnvctrl-dev.docs @@ -0,0 +1,2 @@ +doc/NV-CONTROL-API.txt +doc/FRAMELOCK.txt --- nvidia-settings-384.69.orig/debian/libxnvctrl-dev.examples +++ nvidia-settings-384.69/debian/libxnvctrl-dev.examples @@ -0,0 +1,4 @@ +samples/README +samples/Makefile +utils.mk +samples/*.c --- nvidia-settings-384.69.orig/debian/libxnvctrl-dev.install +++ nvidia-settings-384.69/debian/libxnvctrl-dev.install @@ -0,0 +1,4 @@ +src/libXNVCtrl/NVCtrl.h /usr/include/NVCtrl/ +src/libXNVCtrl/NVCtrlLib.h /usr/include/NVCtrl/ +src/libXNVCtrl/libXNVCtrl.a /usr/lib/ +src/libXNVCtrl/libXNVCtrl.so /usr/lib/ --- nvidia-settings-384.69.orig/debian/libxnvctrl0.install +++ nvidia-settings-384.69/debian/libxnvctrl0.install @@ -0,0 +1 @@ +src/libXNVCtrl/libXNVCtrl.so.* usr/lib/ --- nvidia-settings-384.69.orig/debian/libxnvctrl0.symbols +++ nvidia-settings-384.69/debian/libxnvctrl0.symbols @@ -0,0 +1,33 @@ +libXNVCtrl.so.0 #PACKAGE# #MINVER# + NV_ID@Base 337 + XNVCTRLBindWarpPixmapName@Base 313 + XNVCTRLIsNvScreen@Base 0 + XNVCTRLQueryAttribute@Base 0 + XNVCTRLQueryAttributePermissions@Base 0 + XNVCTRLQueryBinaryData@Base 0 + XNVCTRLQueryBinaryDataAttributePermissions@Base 0 + XNVCTRLQueryExtension@Base 0 + XNVCTRLQueryGvoColorConversion@Base 0 + XNVCTRLQueryStringAttribute@Base 0 + XNVCTRLQueryStringAttributePermissions@Base 0 + XNVCTRLQueryStringOperationAttributePermissions@Base 0 + XNVCTRLQueryTargetAttribute64@Base 0 + XNVCTRLQueryTargetAttribute@Base 0 + XNVCTRLQueryTargetBinaryData@Base 0 + XNVCTRLQueryTargetCount@Base 0 + XNVCTRLQueryTargetStringAttribute@Base 0 + XNVCTRLQueryValidAttributeValues@Base 0 + XNVCTRLQueryValidTargetAttributeValues@Base 0 + XNVCTRLQueryValidTargetStringAttributeValues@Base 0 + XNVCTRLQueryVersion@Base 0 + XNVCTRLSetAttribute@Base 0 + XNVCTRLSetAttributeAndGetStatus@Base 0 + XNVCTRLSetGvoColorConversion@Base 0 + XNVCTRLSetStringAttribute@Base 0 + XNVCTRLSetTargetAttribute@Base 0 + XNVCTRLSetTargetAttributeAndGetStatus@Base 0 + XNVCTRLSetTargetStringAttribute@Base 0 + XNVCTRLStringOperation@Base 0 + XNVCtrlSelectNotify@Base 0 + XNVCtrlSelectTargetNotify@Base 0 + pNV_ID@Base 337 --- nvidia-settings-384.69.orig/debian/nvidia-settings-autostart.desktop +++ nvidia-settings-384.69/debian/nvidia-settings-autostart.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Type=Application +Encoding=UTF-8 +Name=NVIDIA X Server Settings +Comment=Configure NVIDIA X Server Settings +Exec=sh -c '/usr/bin/nvidia-settings --load-config-only' +Terminal=false +Icon=nvidia-settings +Categories=System;Settings; --- nvidia-settings-384.69.orig/debian/nvidia-settings.desktop +++ nvidia-settings-384.69/debian/nvidia-settings.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Type=Application +Encoding=UTF-8 +Name=NVIDIA X Server Settings +Comment=Configure NVIDIA X Server Settings +Exec=/usr/bin/nvidia-settings +Icon=nvidia-settings +Categories=System;Settings; --- nvidia-settings-384.69.orig/debian/nvidia-settings.install +++ nvidia-settings-384.69/debian/nvidia-settings.install @@ -0,0 +1,3 @@ +debian/nvidia-settings.desktop /usr/share/applications +debian/nvidia-settings-autostart.desktop /etc/xdg/autostart +doc/nvidia-settings.png /usr/share/pixmaps --- nvidia-settings-384.69.orig/debian/nvidia-settings.preinst +++ nvidia-settings-384.69/debian/nvidia-settings.preinst @@ -0,0 +1,37 @@ +#!/bin/sh +# preinst script for nvidia-settings +# +# see: dh_installdeb(1) +# +# Copyright (C) 2013 Canonical Ltd +# Authors: Alberto Milone + +set -e + +# summary of how this script can be called: +# * `install' +# * `install' +# * `upgrade' +# * `abort-upgrade' +# +# For details see /usr/share/doc/packaging-manual/ + +case "$1" in + install|upgrade) + # Remove leftover from alternatives based nvidia-settings + if [ -e /etc/alternatives/nvidia_settings_conf ]; then + update-alternatives --quiet --remove-all nvidia_settings_conf || true + rm -Rf /usr/lib/nvidia-settings + fi + ;; + + abort-upgrade) + ;; + + *) + echo "preinst called with unknown argument \`$1'" >&2 + exit 0 + ;; +esac + +#DEBHELPER# --- nvidia-settings-384.69.orig/debian/patches/01_allow_dark_themes.dpatch +++ nvidia-settings-384.69/debian/patches/01_allow_dark_themes.dpatch @@ -0,0 +1,45 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 01_allow_dark_themes.dpatch by +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Allow nvidia-settings to work with dark backgrounds + +@DPATCH@ +diff -urNad nvidia-settings-173.14.09~/src/gtk+-2.x/ctkglx.c nvidia-settings-173.14.09/src/gtk+-2.x/ctkglx.c +--- nvidia-settings-173.14.09~/src/gtk+-2.x/ctkglx.c 2008-06-05 02:14:03.000000000 -0500 ++++ nvidia-settings-173.14.09/src/gtk+-2.x/ctkglx.c 2008-08-28 16:59:43.000000000 -0500 +@@ -265,8 +265,8 @@ + event = gtk_event_box_new(); + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollWin), + GTK_POLICY_NEVER, GTK_POLICY_ALWAYS); +- gtk_widget_modify_fg(event, GTK_STATE_NORMAL, &(event->style->text[GTK_STATE_NORMAL])); +- gtk_widget_modify_bg(event, GTK_STATE_NORMAL, &(event->style->base[GTK_STATE_NORMAL])); ++ //gtk_widget_modify_fg(event, GTK_STATE_NORMAL, &(event->style->text[GTK_STATE_NORMAL])); ++ //gtk_widget_modify_bg(event, GTK_STATE_NORMAL, &(event->style->base[GTK_STATE_NORMAL])); + gtk_container_add(GTK_CONTAINER(event), hbox); + gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scrollWin), + event); +@@ -349,15 +349,15 @@ + data_table = gtk_table_new(num_fbconfigs, NUM_FBCONFIG_ATTRIBS, FALSE); + event = gtk_event_box_new(); + +- gtk_widget_modify_fg(data_table, GTK_STATE_NORMAL, +- &(data_table->style->text[GTK_STATE_NORMAL])); +- gtk_widget_modify_bg(data_table, GTK_STATE_NORMAL, +- &(data_table->style->base[GTK_STATE_NORMAL])); ++ //gtk_widget_modify_fg(data_table, GTK_STATE_NORMAL, ++ // &(data_table->style->text[GTK_STATE_NORMAL])); ++ //gtk_widget_modify_bg(data_table, GTK_STATE_NORMAL, ++ // &(data_table->style->base[GTK_STATE_NORMAL])); + gtk_container_add (GTK_CONTAINER(event), data_table); +- gtk_widget_modify_fg(event, GTK_STATE_NORMAL, +- &(event->style->text[GTK_STATE_NORMAL])); +- gtk_widget_modify_bg(event, GTK_STATE_NORMAL, +- &(event->style->base[GTK_STATE_NORMAL])); ++ //gtk_widget_modify_fg(event, GTK_STATE_NORMAL, ++ // &(event->style->text[GTK_STATE_NORMAL])); ++ //gtk_widget_modify_bg(event, GTK_STATE_NORMAL, ++ // &(event->style->base[GTK_STATE_NORMAL])); + gtk_container_add(GTK_CONTAINER(data_viewport), event); + + /* Pack the fbconfig header and data tables */ --- nvidia-settings-384.69.orig/debian/patches/02_nvidia-settings-format-string.patch +++ nvidia-settings-384.69/debian/patches/02_nvidia-settings-format-string.patch @@ -0,0 +1,88 @@ +Index: nvidia-settings-1.0/src/query-assign.c +=================================================================== +--- nvidia-settings-1.0/src/query-assign.c ++++ nvidia-settings-1.0/src/query-assign.c 2009-07-17 04:23:15.528973916 +0300 +@@ -755,7 +755,7 @@ + for (i = 0; targetTypeTable[i].name; i++) { + if (valid.permissions & targetTypeTable[i].permission_bit) { + if (n > 0) c += sprintf(c, ", "); +- c += sprintf(c, targetTypeTable[i].name); ++ c += sprintf(c, "%s", targetTypeTable[i].name); + n++; + } + } +Index: nvidia-settings-1.0/src/gtk+-2.x/ctkdisplayconfig.c +=================================================================== +--- nvidia-settings-1.0/src/gtk+-2.x/ctkdisplayconfig.c ++++ nvidia-settings-1.0/src/gtk+-2.x/ctkdisplayconfig.c 2009-07-17 04:28:06.217972586 +0300 +@@ -653,7 +653,7 @@ + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_WARNING, + GTK_BUTTONS_NONE, +- msg); ++ "%s", msg); + + gtk_dialog_add_buttons(GTK_DIALOG(dlg), + "Truncate MetaModes", +@@ -4220,7 +4220,7 @@ + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_WARNING, + GTK_BUTTONS_OK, +- msg); ++ "%s", msg); + + gtk_dialog_run(GTK_DIALOG(dlg)); + gtk_widget_destroy(dlg); +@@ -5850,7 +5850,7 @@ + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_WARNING, + GTK_BUTTONS_YES_NO, +- msg); ++ "%s", msg); + } else { + msg = g_strdup_printf("Failed to set MetaMode (%d) '%s' " + "(Mode %dx%d, id: %d) on X screen %d.", +@@ -5862,7 +5862,7 @@ + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_WARNING, + GTK_BUTTONS_OK, +- msg); ++ "%s", msg); + } + + result = gtk_dialog_run(GTK_DIALOG(dlg)); +Index: nvidia-settings-1.0/src/gtk+-2.x/ctkslimm.c +=================================================================== +--- nvidia-settings-1.0/src/gtk+-2.x/ctkslimm.c ++++ nvidia-settings-1.0/src/gtk+-2.x/ctkslimm.c 2009-07-17 04:31:00.462973003 +0300 +@@ -353,7 +353,7 @@ + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_WARNING, + GTK_BUTTONS_OK, +- err_msg); ++ "%s", err_msg); + + gtk_dialog_run(GTK_DIALOG(dlg)); + gtk_widget_destroy(dlg); +Index: nvidia-settings-1.0/src/gtk+-2.x/ctkutils.c +=================================================================== +--- nvidia-settings-1.0/src/gtk+-2.x/ctkutils.c ++++ nvidia-settings-1.0/src/gtk+-2.x/ctkutils.c 2009-07-17 04:26:44.069972888 +0300 +@@ -106,7 +106,7 @@ + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_ERROR, + GTK_BUTTONS_OK, +- msg); ++ "%s", msg); + gtk_dialog_run(GTK_DIALOG(dlg)); + gtk_widget_destroy(dlg); + } +@@ -134,7 +134,7 @@ + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_WARNING, + GTK_BUTTONS_OK, +- msg); ++ "%s", msg); + gtk_dialog_run(GTK_DIALOG(dlg)); + gtk_widget_destroy(dlg); + } --- nvidia-settings-384.69.orig/debian/patches/03_do_not_exit_on_no_scanout.patch +++ nvidia-settings-384.69/debian/patches/03_do_not_exit_on_no_scanout.patch @@ -0,0 +1,26 @@ +Description: Do not fail if the driver doesn't support NV_CTRL_NO_SCANOUT + NV_CTRL_NO_SCANOUT is not supported by legacy drivers such as series + 173 and 96. Pretending that the property exists and is set to false + prevents nvidia-settings from breaking compatibility with these drivers. +Forwarded: no +Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-settings/+bug/539196 +Author: Alberto Milone + +diff -Nurp nvidia-settings-195.36.08.orig/src/gtk+-2.x/ctkdisplayconfig-utils.c nvidia-settings-195.36.08/src/gtk+-2.x/ctkdisplayconfig-utils.c +--- nvidia-settings-195.36.08.orig/src/gtk+-2.x/ctkdisplayconfig-utils.c 2010-02-25 14:44:28.000000000 +0100 ++++ nvidia-settings-195.36.08/src/gtk+-2.x/ctkdisplayconfig-utils.c 2010-04-06 19:47:14.335936746 +0200 +@@ -2112,11 +2112,14 @@ static int gpu_add_screen_from_server(nv + /* See if the screen is set to not scanout */ + ret = NvCtrlGetAttribute(screen->handle, NV_CTRL_NO_SCANOUT, &val); + if (ret != NvCtrlSuccess) { ++ /* + *err_str = g_strdup_printf("Failed to query NoScanout for " + "screen %d.", + screen_id); + nv_warning_msg(*err_str); + goto fail; ++ */ ++ val = NV_CTRL_NO_SCANOUT_DISABLED; + } + screen->no_scanout = (val == NV_CTRL_NO_SCANOUT_ENABLED) ? TRUE : FALSE; + --- nvidia-settings-384.69.orig/debian/patches/04_nvidia-settings_natty_ftbs.patch +++ nvidia-settings-384.69/debian/patches/04_nvidia-settings_natty_ftbs.patch @@ -0,0 +1,12 @@ +diff -Nurp nvidia-settings.orig/src/Makefile nvidia-settings/src/Makefile +--- nvidia-settings.orig/src/Makefile 2012-05-02 17:06:02.000000000 +0200 ++++ nvidia-settings/src/Makefile 2012-05-17 09:09:32.341638054 +0200 +@@ -51,7 +51,7 @@ ifndef GTK_CFLAGS + endif + + ifndef GTK_LDFLAGS +- GTK_LDFLAGS := $(shell $(PKG_CONFIG) --libs gtk+-2.0) ++ GTK_LDFLAGS := $(shell $(PKG_CONFIG) --libs gtk+-2.0) -ldl + endif + + --- nvidia-settings-384.69.orig/debian/patches/05_add_polkit_support.patch +++ nvidia-settings-384.69/debian/patches/05_add_polkit_support.patch @@ -0,0 +1,90 @@ +--- a/src/gtk+-2.x/ctkdisplayconfig-utils.c ++++ b/src/gtk+-2.x/ctkdisplayconfig-utils.c +@@ -3856,6 +3856,77 @@ + + } /* update_banner() */ + ++/** ubuntu save_xconfig_file() ****************************** ++ * ++ * Calls Screen Resolution Extra (which uses PolicyKit) to save ++ * the X config file text from buf into a file called filename. ++ * If the filename already exists, a backup file named ++ * 'filename.backup' is created. ++ * ++ **/ ++ ++static int ubuntu_save_xconfig_file(SaveXConfDlg *dlg, ++ gchar *filename, char *buf, mode_t mode) ++{ ++ gchar *backup_filename = NULL; ++ int temp_fd; ++ gchar *err_msg = NULL; ++ ++ int ret = 0; ++ gchar *temp_filename; ++ gchar *command; ++ gboolean polkit_status; ++ int status; ++ char *nvidia_polkit = "/usr/share/screen-resolution-extra/nvidia-polkit.py"; ++ ++ if (!buf || !filename) goto done; ++ ++ backup_filename = g_strdup_printf("%s.backup", filename); ++ ++ /* Write out the X config file to a temporary file */ ++ temp_filename = g_strdup_printf("/tmp/nvidia-settings.XXXXXX"); ++ temp_fd = mkstemp(temp_filename); ++ write(temp_fd, buf, strlen(buf)); ++ close(temp_fd); ++ ++ /* Backup the the X config file (if any) and write out the X config ++ * file from the temporary file ++ */ ++ command = g_strconcat("python3 ", ++ nvidia_polkit, ++ " --write-from=", ++ temp_filename, ++ " --backup-to=", ++ backup_filename, ++ NULL); ++ polkit_status = (g_spawn_command_line_sync(command, NULL, NULL, &status, NULL) && status == 0); ++ g_free(command); ++ ++ /* Remove the temporary file */ ++ unlink(temp_filename); ++ g_free(temp_filename); ++ ++ if (!polkit_status) { ++ err_msg = g_strdup_printf("Unable to open X config file '%s' for writing.", ++ filename); ++ goto done; ++ } ++ ++ ret = 1; ++ ++ done: ++ /* Display any errors that might have occured */ ++ if (err_msg) { ++ ctk_display_error_msg(ctk_get_parent_window(GTK_WIDGET(dlg->parent)), ++ err_msg); ++ g_free(err_msg); ++ } ++ ++ g_free(backup_filename); ++ return ret; ++ ++} /* save_xconfig_file() */ ++ + + + /** save_xconfig_file() ********************************************** +@@ -3876,6 +3947,9 @@ + + int ret = 0; + ++ ret = ubuntu_save_xconfig_file(dlg, filename, buf, mode); ++ ++ return ret; + + if (!buf || !filename) goto done; + --- nvidia-settings-384.69.orig/debian/patches/06_remove_local_prefix.patch +++ nvidia-settings-384.69/debian/patches/06_remove_local_prefix.patch @@ -0,0 +1,20 @@ +From 94f4a05935095362bdbd417bf6982c63172a08c2 Mon Sep 17 00:00:00 2001 +From: Alberto Milone +Date: Mon, 3 Sep 2012 14:45:15 +0200 +Subject: [PATCH 1/1] utils.mk: remove local from prefix + +--- + utils.mk | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/utils.mk ++++ b/utils.mk +@@ -169,7 +169,7 @@ + # the source tarball + ############################################################################## + +-PREFIX ?= /usr/local ++PREFIX ?= /usr + + BINDIR = $(DESTDIR)$(PREFIX)/bin + LIBDIR = $(DESTDIR)$(PREFIX)/lib --- nvidia-settings-384.69.orig/debian/patches/07_remove_features_for_legacy.patch +++ nvidia-settings-384.69/debian/patches/07_remove_features_for_legacy.patch @@ -0,0 +1,120 @@ +From dc73a1e2c767c25a7891bb5f03a673707d773af6 Mon Sep 17 00:00:00 2001 +From: Alberto Milone +Date: Tue, 19 Nov 2013 18:36:00 +0100 +Subject: [PATCH 1/1] Remove some features in the legacy drivers + +--- + src/gtk+-2.x/ctkwindow.c | 60 ++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 60 insertions(+) + +--- a/src/gtk+-2.x/ctkwindow.c ++++ b/src/gtk+-2.x/ctkwindow.c +@@ -407,6 +407,50 @@ + return ((ret == NvCtrlSuccess) && (val == 1)); + } + ++ ++static void get_major_minor(char *version, int *major, int *minor) ++{ ++ char* token; ++ char* copy; ++ char* tofree; ++ int i; ++ copy = strdup(version); ++ ++ if (copy != NULL) { ++ tofree = copy; ++ ++ for (i=0; (token = strsep(©, ".")) != NULL; i++) { ++ if (i == 0) ++ *major = atoi(token); ++ else ++ *minor = atoi(token); ++ } ++ ++ free(tofree); ++ } ++} ++ ++ ++static void get_driver_version(NvCtrlAttributeHandle *handle, ++ int *major, int *minor) ++{ ++ gchar *driver_version = NULL; ++ Bool ret; ++ ret = NvCtrlGetStringAttribute(handle, ++ NV_CTRL_STRING_NVIDIA_DRIVER_VERSION, ++ &driver_version); ++ if (ret != NvCtrlSuccess) { ++ driver_version = NULL; ++ } ++ else { ++ get_major_minor(driver_version, major, minor); ++ XFree(driver_version); ++ return; ++ } ++ major = minor = 0; ++} ++ ++ + /* + * ctk_window_new() - create a new CtkWindow widget + */ +@@ -596,6 +640,9 @@ + ctk_window->page = NULL; + + ++ int driver_major, driver_minor; ++ driver_major = driver_minor = 0; ++ + /* X Server info & configuration */ + + if (system->targets[X_SCREEN_TARGET]) { +@@ -610,6 +657,8 @@ + + server_target = NvCtrlGetDefaultTargetByType(system, X_SCREEN_TARGET); + if (server_target) { ++ /* Use the handle to get the driver version */ ++ get_driver_version(server_target, &driver_major, &driver_minor); + + /* X Server information */ + +@@ -748,6 +797,7 @@ + } + + ++ if (driver_major >= 319) { + /* VDPAU Information */ + child = ctk_vdpau_new(screen_target, ctk_config, ctk_event); + if (child) { +@@ -755,6 +805,7 @@ + add_page(child, help, ctk_window, &iter, NULL, "VDPAU Information", + NULL, NULL, NULL); + } ++ } + + /* gvo (Graphics To Video Out) */ + +@@ -1046,6 +1097,13 @@ + ctk_3d_vision_pro_select, ctk_3d_vision_pro_unselect); + } + ++ ++ /* We show this section in two cases: ++ * 1) when the driver is not in use (hybrid graphics) ++ * 2) when the driver release >= 319 ++ */ ++ if (driver_major == 0 || driver_major >= 319) { ++ + /* app profile configuration */ + widget = ctk_app_profile_new(server_target, ctk_config); + if (widget) { +@@ -1054,6 +1112,8 @@ + NULL, NULL, NULL); + } + ++ } ++ + /* nvidia-settings configuration */ + + add_page(GTK_WIDGET(ctk_window->ctk_config), --- nvidia-settings-384.69.orig/debian/patches/08_add_prime_support.patch +++ nvidia-settings-384.69/debian/patches/08_add_prime_support.patch @@ -0,0 +1,673 @@ +From 92cb07acb3a3e16e7330a7bed8960ca943e251c0 Mon Sep 17 00:00:00 2001 +From: Alberto Milone +Date: Mon, 9 Oct 2017 11:22:01 +0200 +Subject: [PATCH 1/1] Add support for PRIME GPU switching + +Refreshed for the 384 series +--- + src/gtk+-2.x/ctkprime.c | 518 +++++++++++++++++++++++++++++++++++++++++++++++ + src/gtk+-2.x/ctkprime.h | 77 +++++++ + src/gtk+-2.x/ctkwindow.c | 10 + + src/src.mk | 2 + + 4 files changed, 607 insertions(+) + create mode 100644 src/gtk+-2.x/ctkprime.c + create mode 100644 src/gtk+-2.x/ctkprime.h + +diff --git a/src/gtk+-2.x/ctkprime.c b/src/gtk+-2.x/ctkprime.c +new file mode 100644 +index 0000000..1ed4c2c +--- /dev/null ++++ b/src/gtk+-2.x/ctkprime.c +@@ -0,0 +1,518 @@ ++/* ++ * nvidia-settings: A tool for configuring the NVIDIA X driver on Unix ++ * and Linux systems. ++ * ++ * Copyright (C) 2013 Canonical Ltd. ++ * ++ * Author: Alberto Milone ++ * ++ * Based on ctkxvideo.c: ++ * - Copyright (C) 2004 NVIDIA Corporation. ++ * ++ * This program is free software; you can redistribute it and/or modify it ++ * under the terms and conditions of the GNU General Public License, ++ * version 2, as published by the Free Software Foundation. ++ * ++ * This program 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 . ++ */ ++ ++#include ++#include ++#include ++#include ++ ++#include "ctkbanner.h" ++#include "ctkutils.h" ++#include "ctkprime.h" ++#include "ctkscale.h" ++ ++#include "ctkhelp.h" ++ ++ ++static void prime_changed(GtkWidget *widget, gpointer user_data); ++ ++static GtkWidget *prime_radio_button_add(CtkPrime *ctk_prime, ++ GtkWidget *prev_radio, ++ char *label, ++ gchar *value, ++ int index); ++ ++static void ++prime_update_radio_buttons(CtkPrime *ctk_prime, gint value); ++ ++static void prime_changed(GtkWidget *widget, gpointer user_data); ++ ++static void prime_radio_button_enabled_add(CtkPrime *ctk_prime, ++ gint add_device_mask); ++ ++#define FRAME_PADDING 5 ++ ++ ++/* Create an info message dialog */ ++static void ctk_display_info_msg(GtkWidget *parent, gchar * msg) ++{ ++ GtkWidget *dlg; ++ ++ if (msg) { ++ nv_warning_msg("%s", msg); ++ ++ if (parent) { ++ dlg = gtk_message_dialog_new ++ (GTK_WINDOW(parent), ++ GTK_DIALOG_DESTROY_WITH_PARENT, ++ GTK_MESSAGE_INFO, ++ GTK_BUTTONS_OK, ++ "%s", msg); ++ gtk_dialog_run(GTK_DIALOG(dlg)); ++ gtk_widget_destroy(dlg); ++ } ++ } ++} ++ ++ ++/* See if the hardware is supported */ ++static gboolean is_supported(void) { ++ gchar *command = "/usr/bin/prime-supported /dev/stderr"; ++ int supported = 1; ++ gboolean status; ++ int exit_status = 0; ++ gchar *output = NULL; ++ gchar *error_str = NULL; ++ GError *error = NULL; ++ status = g_spawn_command_line_sync(command, &output, &error_str, &exit_status, &error); ++ ++ if (!status) { ++ g_warning("PRIME: %s", error->message); ++ ++ if (output) ++ g_free(output); ++ if (error_str) ++ g_free(error_str); ++ if (error) ++ g_error_free(error); ++ ++ return status; ++ } ++ ++ if (output) ++ output[strlen(output) - 1] = '\0'; ++ ++ if (strlen(error_str) > 0) { ++ error_str[strlen(error_str) - 1] = '\0'; ++ g_message("PRIME: %s", error_str); ++ ++ } ++ ++ supported = (strcmp(output, "yes") == 0); ++ ++ if (output) ++ g_free(output); ++ ++ if (error_str) ++ g_free(error_str); ++ ++ if (error) ++ g_error_free(error); ++ ++ return supported; ++} ++ ++ ++/* Get the active GPU */ ++static gboolean get_active_gpu(gchar **gpu) { ++ gchar *command = "/usr/bin/prime-select query"; ++ gboolean status; ++ int exit_status = 0; ++ gchar *output = NULL; ++ gchar *error_str = NULL; ++ GError *error = NULL; ++ status = g_spawn_command_line_sync(command, &output, &error_str, &exit_status, &error); ++ ++ if (!status) { ++ /* If we get here, something seriously broken */ ++ g_error("PRIME error: %s", error->message); ++ if (output) ++ g_free(output); ++ ++ if (error_str) ++ g_free(error_str); ++ ++ if (error) ++ g_error_free(error); ++ ++ return status; ++ } ++ ++ if (output) { ++ output[strlen(output) - 1] = '\0'; ++ *gpu = g_strdup(output); ++ } ++ ++ if (output) ++ g_free(output); ++ ++ if (error_str) ++ g_free(error_str); ++ ++ if (error) ++ g_error_free(error); ++ ++ return status; ++} ++ ++ ++/* Check if a PRIME mode is enabled */ ++static gboolean is_mode_enabled(gchar *mode) { ++ gboolean status; ++ gchar *gpu = NULL; ++ ++ get_active_gpu(&gpu); ++ ++ g_message("PRIME: detected gpu: \"%s\"", gpu); ++ ++ status = (strcmp(mode, gpu) == 0); ++ ++ g_free(gpu); ++ ++ return status; ++} ++ ++ ++/* Set the PRIME profile */ ++static gboolean set_mode(gchar *mode, gchar **error_msg, gint *exit_status) { ++ ++ gchar *command = NULL; ++ command = g_strconcat("python3 /usr/share/screen-resolution-extra/nvidia-prime.py ", ++ mode, NULL); ++ gboolean status; ++ gchar *output = NULL; ++ gchar *error_str = NULL; ++ GError *error = NULL; ++ status = g_spawn_command_line_sync(command, &output, &error_str, exit_status, &error); ++ g_free(command); ++ ++ if (!status) { ++ if (error->message) { ++ *error_msg = g_strdup(error->message); ++ } ++ if (output) ++ g_free(output); ++ ++ if (error_str) ++ g_free(error_str); ++ ++ if (error) ++ g_error_free(error); ++ ++ return status; ++ } ++ ++ if (exit_status != 0) { ++ error_str[strlen(error_str) - 1] = '\0'; ++ *error_msg = g_strdup(error_str); ++ } ++ ++ if (output) ++ g_free(output); ++ ++ if (error_str) ++ g_free(error_str); ++ ++ if (error) ++ g_error_free(error); ++ ++ return status; ++} ++ ++ ++GType ctk_prime_get_type(void) ++{ ++ static GType ctk_prime_type = 0; ++ ++ if (!ctk_prime_type) { ++ static const GTypeInfo ctk_prime_info = { ++ sizeof (CtkPrimeClass), ++ NULL, /* base_init */ ++ NULL, /* base_finalize */ ++ NULL, /* class_init */ ++ NULL, /* class_finalize */ ++ NULL, /* class_data */ ++ sizeof(CtkPrime), ++ 0, /* n_preallocs */ ++ NULL, /* instance_init */ ++ NULL /* value_table */ ++ }; ++ ++ ctk_prime_type = g_type_register_static ++ (GTK_TYPE_VBOX, "CtkPrime", &ctk_prime_info, 0); ++ } ++ ++ return ctk_prime_type; ++} ++ ++ ++/* ++ * Create a radio button and plug it ++ * into the prime radio group. ++ */ ++static GtkWidget *prime_radio_button_add(CtkPrime *ctk_prime, ++ GtkWidget *prev_radio, ++ char *label, ++ gchar *value, ++ int index) ++{ ++ GtkWidget *radio; ++ ++ if (prev_radio) { ++ radio = gtk_radio_button_new_with_label_from_widget ++ (GTK_RADIO_BUTTON(prev_radio), label); ++ } else { ++ radio = gtk_radio_button_new_with_label(NULL, label); ++ } ++ ++ gtk_box_pack_start(GTK_BOX(ctk_prime->prime_button_box), ++ radio, FALSE, FALSE, 0); ++ ++ g_object_set_data(G_OBJECT(radio), "prime", value); ++ ++ g_signal_connect(G_OBJECT(radio), "toggled", ++ G_CALLBACK(prime_changed), ++ (gpointer) ctk_prime); ++ ++ ctk_prime->prime_buttons[index] = radio; ++ ++ return radio; ++} ++ ++ ++static void ++prime_update_radio_buttons(CtkPrime *ctk_prime, gint value) ++{ ++ GtkWidget *b, *button = NULL; ++ int i; ++ ++ button = ctk_prime->prime_buttons[value]; ++ if (!button) return; ++ ++ /* turn off signal handling for all the sync buttons */ ++ for (i = 0; i < 24; i++) { ++ b = ctk_prime->prime_buttons[i]; ++ if (!b) continue; ++ ++ g_signal_handlers_block_by_func ++ (G_OBJECT(b), G_CALLBACK(prime_changed), ++ (gpointer) ctk_prime); ++ } ++ ++ /* set the appropriate button active */ ++ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), TRUE); ++ ++ /* turn on signal handling for all the sync buttons */ ++ for (i = 0; i < 24; i++) { ++ b = ctk_prime->prime_buttons[i]; ++ if (!b) continue; ++ ++ g_signal_handlers_unblock_by_func ++ (G_OBJECT(b), G_CALLBACK(prime_changed), ++ (gpointer) ctk_prime); ++ } ++} ++ ++ ++/* ++ * Callback function for changes to the ++ * prime radio button group; ++ */ ++static void prime_changed(GtkWidget *widget, gpointer user_data) ++{ ++ CtkPrime *ctk_prime = CTK_PRIME(user_data); ++ gboolean enabled; ++ gchar *value; ++ gint number; ++ ++ gboolean success; ++ gchar *error_msg = NULL; ++ gint exit_status = 0; ++ ++ enabled = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)); ++ ++ if (enabled) { ++ ++ user_data = g_object_get_data(G_OBJECT(widget), "prime"); ++ ++ /* We use "value" to know what to select */ ++ value = (gchar*)user_data; ++ ++ /* Call the switcher */ ++ success = set_mode(value, &error_msg, &exit_status); ++ ++ /* Get the parent widget */ ++ GtkWidget *parent; ++ parent = ctk_get_parent_window(GTK_WIDGET(ctk_prime)); ++ ++ /* if gspawn succeeded */ ++ if (success) { ++ /* Did it really succeed though? */ ++ int status; ++ status = WEXITSTATUS(exit_status); ++ ++ if (status == 0) { ++ /* Show a dialog to suggest to log out */ ++ ctk_display_info_msg(parent, ++ "Please log out and log back in to apply the changes"); ++ } else { ++ if (status != 5) { ++ /* Show an error only if the user did not ++ * cancel the operation ++ */ ++ ctk_display_error_msg(parent, error_msg); ++ } ++ ++ /* Set the radio button to the previous position */ ++ number = (strcmp(value, "nvidia") == 0 ? 1 : 0); ++ prime_update_radio_buttons(ctk_prime, number); ++ } ++ } else { ++ /* Something's wrong with gspawn */ ++ ++ /* Show an error dialog */ ++ ctk_display_error_msg(parent, error_msg); ++ ++ /* Set the radio button to the previous position */ ++ number = (strcmp(value, "nvidia") == 0 ? 1 : 0); ++ prime_update_radio_buttons(ctk_prime, number); ++ } ++ ++ /* Free any error output */ ++ if (error_msg) ++ g_free(error_msg); ++ ++ ++ } ++} ++ ++ ++/* Constructor for the Prime widget */ ++GtkWidget* ctk_prime_new(CtkConfig *ctk_config) ++{ ++ GObject *object; ++ CtkPrime *ctk_prime; ++ GtkWidget *banner; ++ GtkWidget *frame; ++ GtkWidget *alignment; ++ GtkWidget *vbox; ++ ++ /* ++ * before we do anything else, determine if PRIME is supported ++ */ ++ int supported; ++ supported = is_supported(); ++ g_message("PRIME: is it supported? %s", (supported ? "yes" : "no")); ++ ++ if (! supported) ++ return NULL; ++ ++ /* create the Prime widget */ ++ object = g_object_new(CTK_TYPE_PRIME, NULL); ++ ctk_prime = CTK_PRIME(object); ++ ++ ctk_prime->ctk_config = ctk_config; ++ ++ gtk_box_set_spacing(GTK_BOX(ctk_prime), 10); ++ ++ /* Set the banner */ ++ banner = ctk_banner_image_new(BANNER_ARTWORK_GPU); ++ gtk_box_pack_start(GTK_BOX(object), banner, FALSE, FALSE, 0); ++ ++ /* Create two radiobuttons for the two power profiles */ ++ GtkWidget *radio[24], *prev_radio; ++ frame = gtk_frame_new("Select the GPU you would like to use"); ++ gtk_box_pack_start(GTK_BOX(object), frame, FALSE, FALSE, 0); ++ ++ vbox = gtk_vbox_new(FALSE, 5); ++ gtk_container_set_border_width(GTK_CONTAINER(vbox), FRAME_PADDING); ++ gtk_container_add(GTK_CONTAINER(frame), vbox); ++ ctk_prime->prime_button_box = vbox; ++ ++ /* Button for NVIDIA */ ++ radio[0] = prime_radio_button_add(ctk_prime, ++ NULL, ++ "NVIDIA (Performance Mode)", ++ "nvidia", ++ 0); ++ ++ /* Set the tooltip for NVIDIA */ ++ ctk_config_set_tooltip(ctk_config, radio[0], ++ "Enabling this option ensures the best " ++ "graphics performance. This option is " ++ "applied after a log out."); ++ ++ ++ /* Button for Intel */ ++ radio[1] = prime_radio_button_add(ctk_prime, ++ radio[0], ++ "Intel (Power Saving Mode)", ++ "intel", ++ 1); ++ /* Set the tooltip for NVIDIA */ ++ ctk_config_set_tooltip(ctk_config, radio[1], ++ "Enabling this option ensures the best " ++ "battery life. This option is " ++ "applied after a log out."); ++ ++ /* Get the current GPU in use from the switcher*/ ++ gchar *current_gpu = NULL; ++ get_active_gpu(¤t_gpu); ++ ++ int current_button = (strcmp(current_gpu, "nvidia") == 0) ? ++ 0 : 1; ++ g_free(current_gpu); ++ ++ /* Enable the button which matches the current ++ * configuration ++ */ ++ prime_update_radio_buttons(ctk_prime, current_button); ++ ++ alignment = gtk_alignment_new(1, 1, 0, 0); ++ gtk_box_pack_start(GTK_BOX(object), alignment, TRUE, TRUE, 0); ++ ++ /* finally, show the widget */ ++ ++ gtk_widget_show_all(GTK_WIDGET(ctk_prime)); ++ ++ return GTK_WIDGET(ctk_prime); ++ ++} ++ ++ ++GtkTextBuffer *ctk_prime_create_help(GtkTextTagTable *table, ++ CtkPrime *ctk_prime) ++{ ++ GtkTextIter i; ++ GtkTextBuffer *b; ++ ++ b = gtk_text_buffer_new(table); ++ ++ gtk_text_buffer_get_iter_at_offset(b, &i, 0); ++ ++ ctk_help_title(b, &i, "PRIME Profiles Help"); ++ ++ ctk_help_para(b, &i, "The Prime Profiles page gives " ++ "you control over which GPU you " ++ "desire to use."); ++ ++ ctk_help_para(b, &i, "It is recommended that you " ++ "select NVIDIA for the best performance, " ++ "and Intel for the best battery life."); ++ ++ ctk_help_finish(b); ++ ++ return b; ++} ++ +diff --git a/src/gtk+-2.x/ctkprime.h b/src/gtk+-2.x/ctkprime.h +new file mode 100644 +index 0000000..b6312a9 +--- /dev/null ++++ b/src/gtk+-2.x/ctkprime.h +@@ -0,0 +1,77 @@ ++/* ++ * nvidia-settings: A tool for configuring the NVIDIA X driver on Unix ++ * and Linux systems. ++ * ++ * Copyright (C) 2013 Canonical Ltd. ++ * ++ * Author: Alberto Milone ++ * ++ * Based on ctkxvideo.h: ++ * - Copyright (C) 2004 NVIDIA Corporation. ++ * ++ * This program is free software; you can redistribute it and/or modify it ++ * under the terms and conditions of the GNU General Public License, ++ * version 2, as published by the Free Software Foundation. ++ * ++ * This program 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 . ++ */ ++ ++#ifndef __CTK_PRIME_H__ ++#define __CTK_PRIME_H__ ++ ++#include "ctkconfig.h" ++#include "ctkevent.h" ++ ++G_BEGIN_DECLS ++ ++#define CTK_TYPE_PRIME (ctk_prime_get_type()) ++ ++#define CTK_PRIME(obj) \ ++ (G_TYPE_CHECK_INSTANCE_CAST ((obj), CTK_TYPE_PRIME, CtkPrime)) ++ ++#define CTK_PRIME_CLASS(klass) \ ++ (G_TYPE_CHECK_CLASS_CAST ((klass), CTK_TYPE_PRIME, CtkPrimeClass)) ++ ++#define CTK_IS_PRIME(obj) \ ++ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CTK_TYPE_PRIME)) ++ ++#define CTK_IS_PRIME_CLASS(class) \ ++ (G_TYPE_CHECK_CLASS_TYPE ((klass), CTK_TYPE_PRIME)) ++ ++#define CTK_PRIME_GET_CLASS(obj) \ ++ (G_TYPE_INSTANCE_GET_CLASS ((obj), CTK_TYPE_PRIME, CtkPrimeClass)) ++ ++ ++typedef struct _CtkPrime CtkPrime; ++typedef struct _CtkPrimeClass CtkPrimeClass; ++ ++struct _CtkPrime ++{ ++ GtkVBox parent; ++ ++ CtkConfig *ctk_config; ++ ++ GtkWidget *prime_buttons[24]; ++ GtkWidget *prime_button_box; ++}; ++ ++struct _CtkPrimeClass ++{ ++ GtkVBoxClass parent_class; ++}; ++ ++GType ctk_prime_get_type (void) G_GNUC_CONST; ++GtkWidget* ctk_prime_new (CtkConfig *); ++ ++GtkTextBuffer *ctk_prime_create_help(GtkTextTagTable *, CtkPrime *); ++ ++G_END_DECLS ++ ++#endif /* __CTK_PRIME_H__ */ ++ +diff --git a/src/gtk+-2.x/ctkwindow.c b/src/gtk+-2.x/ctkwindow.c +index 83afb24..0109726 100644 +--- a/src/gtk+-2.x/ctkwindow.c ++++ b/src/gtk+-2.x/ctkwindow.c +@@ -46,6 +46,7 @@ + #include "ctkcolorcorrection.h" + #include "ctkcolorcorrectionpage.h" + #include "ctkxvideo.h" ++#include "ctkprime.h" + #include "ctkopengl.h" + #include "ctkglx.h" + #include "ctkmultisample.h" +@@ -1105,6 +1106,15 @@ GtkWidget *ctk_window_new(ParsedAttribute *p, ConfigProperties *conf, + */ + if (driver_major == 0 || driver_major >= 319) { + ++ ++ /* PRIME settings */ ++ widget = ctk_prime_new(ctk_config); ++ if (widget) { ++ help = ctk_prime_create_help(tag_table, CTK_PRIME(widget)); ++ add_page(widget, help, ctk_window, NULL, NULL, "PRIME Profiles", ++ NULL, NULL, NULL); ++ } ++ + /* app profile configuration */ + widget = ctk_app_profile_new(server_target, ctk_config); + if (widget) { +diff --git a/src/src.mk b/src/src.mk +index 0e56ca6..55eb5a6 100644 +--- a/src/src.mk ++++ b/src/src.mk +@@ -221,6 +221,7 @@ GTK_SRC += gtk+-2.x/ctkapcrulemodel.c + GTK_SRC += gtk+-2.x/ctkcolorcontrols.c + GTK_SRC += gtk+-2.x/ctk3dvisionpro.c + GTK_SRC += gtk+-2.x/ctkvdpau.c ++GTK_SRC += gtk+-2.x/ctkprime.c + GTK_SRC += gtk+-2.x/ctkgridlicense.c + + +@@ -269,6 +270,7 @@ GTK_EXTRA_DIST += gtk+-2.x/ctkapcrulemodel.h + GTK_EXTRA_DIST += gtk+-2.x/ctkcolorcontrols.h + GTK_EXTRA_DIST += gtk+-2.x/ctk3dvisionpro.h + GTK_EXTRA_DIST += gtk+-2.x/ctkvdpau.h ++GTK_EXTRA_DIST += gtk+-2.x/ctkprime.h + GTK_EXTRA_DIST += gtk+-2.x/ctkgridlicense.h + + NVIDIA_SETTINGS_EXTRA_DIST += $(GTK_EXTRA_DIST) +-- +2.7.4 + --- nvidia-settings-384.69.orig/debian/patches/09_do_not_complain_if_nvidia_is_missing.patch +++ nvidia-settings-384.69/debian/patches/09_do_not_complain_if_nvidia_is_missing.patch @@ -0,0 +1,31 @@ +From dddd76800c46372693a3e8e8e9f8142614d677c6 Mon Sep 17 00:00:00 2001 +From: Alberto Milone +Date: Thu, 24 Oct 2013 13:28:47 +0200 +Subject: [PATCH 1/1] Do not complain that the NVIDIA driver is not in use + +Suggesting nvidia-xconfig won't help, as we autoload the +driver anyway. That would also break hybrid graphics. +--- + src/gtk+-2.x/ctkui.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/src/gtk+-2.x/ctkui.c ++++ b/src/gtk+-2.x/ctkui.c +@@ -57,7 +57,7 @@ + break; + } + } +- ++#if 0 + if (!has_nv_control) { + GtkWidget *dlg; + dlg = gtk_message_dialog_new (NULL, +@@ -71,7 +71,7 @@ + gtk_dialog_run(GTK_DIALOG(dlg)); + gtk_widget_destroy (dlg); + } +- ++#endif + ctk_window_set_active_page(CTK_WINDOW(window), page); + + gtk_main(); --- nvidia-settings-384.69.orig/debian/patches/10_legacy_vdpau.patch +++ nvidia-settings-384.69/debian/patches/10_legacy_vdpau.patch @@ -0,0 +1,32 @@ +--- a/src/gtk+-2.x/ctkvdpau.c ++++ b/src/gtk+-2.x/ctkvdpau.c +@@ -167,11 +167,13 @@ + {"H264", VDP_DECODER_PROFILE_H264_BASELINE, 0x04}, + {"H264", VDP_DECODER_PROFILE_H264_MAIN, 0x04}, + {"H264", VDP_DECODER_PROFILE_H264_HIGH, 0x04}, ++#ifdef VDP_DECODER_PROFILE_H264_CONSTRAINED_BASELINE + {"H264", VDP_DECODER_PROFILE_H264_CONSTRAINED_BASELINE, 0x04}, + {"H264", VDP_DECODER_PROFILE_H264_EXTENDED, 0x04}, + {"H264", VDP_DECODER_PROFILE_H264_PROGRESSIVE_HIGH, 0x04}, + {"H264", VDP_DECODER_PROFILE_H264_CONSTRAINED_HIGH, 0x04}, + {"H264", VDP_DECODER_PROFILE_H264_HIGH_444_PREDICTIVE, 0x04}, ++#endif + {"VC1", VDP_DECODER_PROFILE_VC1_SIMPLE, 0x08}, + {"VC1" , VDP_DECODER_PROFILE_VC1_MAIN, 0x08}, + {"VC1", VDP_DECODER_PROFILE_VC1_ADVANCED, 0x08}, +@@ -480,6 +482,7 @@ + {"H264 Baseline", VDP_DECODER_PROFILE_H264_BASELINE, 0}, + {"H264 Main", VDP_DECODER_PROFILE_H264_MAIN, 0}, + {"H264 High", VDP_DECODER_PROFILE_H264_HIGH, 0}, ++#ifdef VDP_DECODER_PROFILE_H264_CONSTRAINED_BASELINE + {"H264 Constrained Baseline", + VDP_DECODER_PROFILE_H264_CONSTRAINED_BASELINE, 0}, + {"H264 Extended", VDP_DECODER_PROFILE_H264_EXTENDED, 0}, +@@ -489,6 +492,7 @@ + VDP_DECODER_PROFILE_H264_CONSTRAINED_HIGH, 0}, + {"H264 High 4:4:4 Predictive", + VDP_DECODER_PROFILE_H264_HIGH_444_PREDICTIVE, 0}, ++#endif + {"VC1 Simple", VDP_DECODER_PROFILE_VC1_SIMPLE, 0}, + {"VC1 Main", VDP_DECODER_PROFILE_VC1_MAIN, 0}, + {"VC1 Advanced", VDP_DECODER_PROFILE_VC1_ADVANCED, 0}, --- nvidia-settings-384.69.orig/debian/patches/11_link_as-needed.patch +++ nvidia-settings-384.69/debian/patches/11_link_as-needed.patch @@ -0,0 +1,26 @@ +Author: Andreas Beckmann +Description: link with -Wl,--as-needed to reduce library footprint + +--- a/utils.mk ++++ b/utils.mk +@@ -36,6 +36,9 @@ + LDFLAGS ?= + BIN_LDFLAGS ?= + ++LDFLAGS += -Wl,--as-needed ++ ++ + HOST_CC ?= $(CC) + HOST_LD ?= $(LD) + HOST_CFLAGS ?= $(CFLAGS) +--- a/samples/Makefile ++++ b/samples/Makefile +@@ -59,6 +59,8 @@ + LDFLAGS += -L $(XNVCTRL_DIR) + LIBS += -lXNVCtrl -lXext -lX11 + ++LDFLAGS += -Wl,--as-needed ++ + + ############################################################################## + # samples --- nvidia-settings-384.69.orig/debian/patches/12_nostrip.patch +++ nvidia-settings-384.69/debian/patches/12_nostrip.patch @@ -0,0 +1,22 @@ +Description: Install unstripped binaries, dh_strip takes care of this. +Author: Michael Marley + +--- nvidia-settings-367.18.orig/utils.mk ++++ nvidia-settings-367.18/utils.mk +@@ -55,13 +55,11 @@ HOST_BIN_LDFLAGS ?= + CFLAGS += -Wno-unused-parameter -Wno-format-zero-length + HOST_CFLAGS += -Wno-unused-parameter -Wno-format-zero-length + ++STRIP_CMD ?= true ++DO_STRIP ?= # let dh_strip do the stripping ++ + ifeq ($(DEBUG),1) +- STRIP_CMD ?= true +- DO_STRIP ?= + CFLAGS += -O0 -g +-else +- STRIP_CMD ?= strip +- DO_STRIP ?= 1 + endif + + INSTALL ?= install --- nvidia-settings-384.69.orig/debian/patches/13_libxnvctrl_so_0.patch +++ nvidia-settings-384.69/debian/patches/13_libxnvctrl_so_0.patch @@ -0,0 +1,67 @@ +--- a/src/Makefile ++++ b/src/Makefile +@@ -106,6 +106,9 @@ + XNVCTRL_DIR ?= libXNVCtrl + XNVCTRL_MAKEFILE ?= Makefile + XNVCTRL_ARCHIVE ?= $(XNVCTRL_DIR)/libXNVCtrl.a ++XNVCTRL_SHARED ?= $(XNVCTRL_DIR)/libXNVCtrl.so.0 ++#XNVCTRL_LIB ?= $(XNVCTRL_ARCHIVE) ++XNVCTRL_LIB ?= $(XNVCTRL_SHARED) + XCONFIG_PARSER_DIR ?= XF86Config-parser + COMMON_UTILS_DIR ?= common-utils + COMMON_UNIX_DIR ?= common-unix +@@ -280,14 +283,17 @@ + $(INSTALL) $(INSTALL_BIN_ARGS) $< $(BINDIR)/$(notdir $<) + + $(eval $(call DEBUG_INFO_RULES, $(NVIDIA_SETTINGS))) +-$(NVIDIA_SETTINGS).unstripped: $(OBJS) $(XNVCTRL_ARCHIVE) ++$(XNVCTRL_ARCHIVE) $(XNVCTRL_SHARED): ++ $(MAKE) -C $(XNVCTRL_DIR) ++ ++$(NVIDIA_SETTINGS).unstripped: $(OBJS) $(XNVCTRL_LIB) + $(call quiet_cmd,LINK) $(CFLAGS) $(LDFLAGS) $(BIN_LDFLAGS) \ +- -rdynamic -o $@ $(OBJS) $(XNVCTRL_ARCHIVE) $(LIBS) ++ -rdynamic -o $@ $(OBJS) $(XNVCTRL_LIB) $(LIBS) + + $(eval $(call DEBUG_INFO_RULES, $(GTK2LIB))) + $(GTK2LIB).unstripped: $(GTK2_OBJS) $(XCP_OBJS) $(VERSION_MK) + $(call quiet_cmd,LINK) -shared $(CFLAGS) $(LDFLAGS) $(BIN_LDFLAGS) \ +- $(XNVCTRL_ARCHIVE) $(LIBS) $(GTK2_LIBS) \ ++ $(XNVCTRL_LIB) $(LIBS) $(GTK2_LIBS) \ + -Wl,--unresolved-symbols=ignore-all -o $@ \ + -Wl,-soname -Wl,$(GTK2LIB_SONAME) \ + $(GTK2_OBJS) $(XCP_OBJS) +@@ -296,7 +302,7 @@ + $(eval $(call DEBUG_INFO_RULES, $(GTK3LIB))) + $(GTK3LIB).unstripped: $(GTK3_OBJS) $(XCP_OBJS) $(VERSION_MK) + $(call quiet_cmd,LINK) -shared $(CFLAGS) $(LDFLAGS) $(BIN_LDFLAGS) \ +- $(XNVCTRL_ARCHIVE) $(LIBS) $(GTK3_LIBS) \ ++ $(XNVCTRL_LIB) $(LIBS) $(GTK3_LIBS) \ + -Wl,--unresolved-symbols=ignore-all -o $@ \ + -Wl,-soname -Wl,$(GTK3LIB_SONAME) \ + $(GTK3_OBJS) $(XCP_OBJS) +--- a/src/libXNVCtrl/Makefile ++++ b/src/libXNVCtrl/Makefile +@@ -55,10 +55,17 @@ + .PHONY: clean + + all: $(LIBXNVCTRL) ++all: libXNVCtrl.so + + $(LIBXNVCTRL) : $(OBJS) + $(AR) ru $@ $(OBJS) + ++libXNVCtrl.so: $(OBJS) ++ $(RM) $@ $@.* ++ $(CC) -shared -Wl,-soname=$@.0 -o $@.0.0.0 $(LDFLAGS) $^ -lXext -lX11 ++ ln -s $@.0.0.0 $@.0 ++ ln -s $@.0 $@ ++ + # define the rule to build each object file + $(foreach src,$(SRC),$(eval $(call DEFINE_OBJECT_RULE,TARGET,$(src)))) + +@@ -68,3 +75,4 @@ + clean: + rm -rf $(LIBXNVCTRL) *~ $(STAMP_C) \ + $(OUTPUTDIR)/*.o $(OUTPUTDIR)/*.d ++ rm -f libXNVCtrl.so libXNVCtrl.so.* --- nvidia-settings-384.69.orig/debian/patches/14_nvidia-settings.desktop.patch +++ nvidia-settings-384.69/debian/patches/14_nvidia-settings.desktop.patch @@ -0,0 +1,22 @@ +Author: Andreas Beckmann +Description: substitute placeholders in desktop file + +--- a/doc/nvidia-settings.desktop ++++ b/doc/nvidia-settings.desktop +@@ -1,11 +1,12 @@ + [Desktop Entry] ++Version=1.0 + Type=Application +-Encoding=UTF-8 ++Exec=nvidia-settings ++Terminal=false ++Categories=HardwareSettings;System;Settings; ++Icon=nvidia-settings + Name=NVIDIA X Server Settings + Comment=Configure NVIDIA X Server Settings +-Exec=__UTILS_PATH__/nvidia-settings +-Icon=__PIXMAP_PATH__/nvidia-settings.png +-Categories=__NVIDIA_SETTINGS_DESKTOP_CATEGORIES__ + + # Translations provided by Sun Microsystems + Name[de]=NVIDIA X-Server-Einstellungen --- nvidia-settings-384.69.orig/debian/patches/15_clean.patch +++ nvidia-settings-384.69/debian/patches/15_clean.patch @@ -0,0 +1,13 @@ +Author: Andreas Beckmann +Description: let clean recurse into libXNVCtrl + +--- a/src/Makefile ++++ b/src/Makefile +@@ -323,6 +323,7 @@ + @$(MAKE) -C $(XNVCTRL_DIR) -f $(XNVCTRL_MAKEFILE) + + clean clobber: ++ $(MAKE) -C $(XNVCTRL_DIR) clean + rm -rf $(NVIDIA_SETTINGS) *~ $(STAMP_C) \ + $(OUTPUTDIR)/*.o $(OUTPUTDIR)/*.d \ + $(GTK2LIB) $(GTK3LIB) $(GTK2LIB_DIR) $(GTK3LIB_DIR) --- nvidia-settings-384.69.orig/debian/patches/16_gzip-n.patch +++ nvidia-settings-384.69/debian/patches/16_gzip-n.patch @@ -0,0 +1,11 @@ +Author: Andreas Beckmann +Description: use gzip -n to avoid package-contains-timestamped-gzip + +--- a/doc/Makefile ++++ b/doc/Makefile +@@ -114,4 +114,4 @@ + $< > $@ + + $(MANPAGE_gzipped): $(MANPAGE_not_gzipped) +- $(GZIP_CMD) -9f < $< > $@ ++ $(GZIP_CMD) -9fn < $< > $@ --- nvidia-settings-384.69.orig/debian/patches/series +++ nvidia-settings-384.69/debian/patches/series @@ -0,0 +1,12 @@ +05_add_polkit_support.patch +06_remove_local_prefix.patch +07_remove_features_for_legacy.patch +08_add_prime_support.patch +09_do_not_complain_if_nvidia_is_missing.patch +10_legacy_vdpau.patch +11_link_as-needed.patch +12_nostrip.patch +13_libxnvctrl_so_0.patch +14_nvidia-settings.desktop.patch +15_clean.patch +16_gzip-n.patch --- nvidia-settings-384.69.orig/debian/rules +++ nvidia-settings-384.69/debian/rules @@ -0,0 +1,71 @@ +#!/usr/bin/make -f +# +# Copyright (C) 2009 Canonical Ltd. + +PKG_name := nvidia-settings +PKG_version := $(shell dpkg-parsechangelog | awk -F' ' '/^Version:/ {print $$2}' | awk -F- '{print $$1}') +PKG_version := $(shell echo $(PKG_version) | sed s/.*\.really\.//g) +libdir := /usr/lib +includedir := /usr/include +url := http://cgit.freedesktop.org/~aplattner/nvidia-settings/snapshot +tarball := nvidia-settings-$(PKG_version).tar.gz +file_url := $(url)/$(tarball) + +export NV_USE_BUNDLED_LIBJANSSON = 0 + +.PHONY: download-sources +download-sources: + # Remove any previous extracted tarball + find . -maxdepth 1 \( ! -iname 'debian' ! -iname '.*' ! -iname '..*' \) | xargs rm -rf + # Downloads the new tarball from NVIDIA's website + wget -c $(file_url) -P ../ + tar -xzvf ../$(tarball) --strip 1 + +build: build-arch +build-arch: + dh_quilt_patch + + $(MAKE) -C src/libXNVCtrl EXTINCSRC=/usr/include/X11/extensions \ + CFLAGS="$(CFLAGS) -fPIC" + $(MAKE) + dh build + +clean: + -$(MAKE) -C src/libXNVCtrl clean 2>/dev/null + -$(MAKE) clean + if [ -e src/XF86Config-parser/Makefile ]; then \ + $(MAKE) -C src/XF86Config-parser clean; \ + fi + + rm -Rf $(CURDIR)/_out */_out + + dh_quilt_unpatch + + dh clean + +binary-arch: + #dh_auto_install -- prefix=$(CURDIR)/debian/$(PKG_name)$(PKG_libdir) + $(MAKE) PREFIX=$(CURDIR)/debian/$(PKG_name)/usr install + + #Run the normal stuff + dh binary-arch + +binary: binary-arch binary-indep ; + #Run the normal stuff + dh binary + +override_dh_compress: + dh_compress --exclude=.c --exclude=.mk + +override_dh_installexamples: + dh_installexamples -X"_out" -a + +override_dh_auto_install: + dh_auto_install -- DESTDIR=$(CURDIR)/debian/$(PKG_name) + +override_dh_usrlocal: + rm -Rf $(CURDIR)/debian/$(PKG_name)/usr/local + +%: + dh $@ --with quilt +