From a03e15c8d1a9bcdfcacf3042a5cba81329852094 Mon Sep 17 00:00:00 2001 From: Tim Crawford Date: Tue, 23 Sep 2025 09:28:35 -0600 Subject: [PATCH 1/2] Bump version to 24.04.13~~alpha --- debian/changelog | 6 ++++++ system76driver/__init__.py | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index fddbc594..a1cf128c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +system76-driver (24.04.13~~alpha) noble; urgency=low + + * Daily WIP for 24.04.13 + + -- Tim Crawford Tue, 23 Sep 2025 09:28:34 -0600 + system76-driver (24.04.12) noble; urgency=low * Add oryp13 diff --git a/system76driver/__init__.py b/system76driver/__init__.py index 835a311a..38f8d390 100644 --- a/system76driver/__init__.py +++ b/system76driver/__init__.py @@ -25,7 +25,7 @@ import logging -__version__ = '24.04.12' +__version__ = '24.04.13' datadir = path.join(path.dirname(path.abspath(__file__)), 'data') log = logging.getLogger(__name__) From 2fb3e1db2a11adade4fd5bd9b984ac31d84be883 Mon Sep 17 00:00:00 2001 From: Tim Crawford Date: Thu, 11 Sep 2025 10:02:20 -0600 Subject: [PATCH 2/2] Set NVreg_DynamicPowerManagement on affected models Move this setting out of system76-power. Add addw4 to the list of models that needs it to avoid issue where GSP firmware crashes on GPU power-on after GC6. Signed-off-by: Tim Crawford --- debian/changelog | 1 + system76driver/actions.py | 26 ++++++++++++++++++++++++-- system76driver/products.py | 9 +++++++-- 3 files changed, 32 insertions(+), 4 deletions(-) diff --git a/debian/changelog b/debian/changelog index a1cf128c..3235fb39 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,7 @@ system76-driver (24.04.13~~alpha) noble; urgency=low * Daily WIP for 24.04.13 + * Set NVreg_DynamicPowerManagement on affected models -- Tim Crawford Tue, 23 Sep 2025 09:28:34 -0600 diff --git a/system76driver/actions.py b/system76driver/actions.py index 145de744..8cdac5c9 100644 --- a/system76driver/actions.py +++ b/system76driver/actions.py @@ -1670,7 +1670,7 @@ def perform(self): class bmc_usb_ethernet(FileAction): relpath = ('etc', 'network', 'interfaces.d', 'system76-driver_bmc-usb-ethernet') _content = None - + @property def content(self): if self._content is None: @@ -1681,4 +1681,26 @@ def content(self): return self._content def describe(self): - return _('Manual configuration of BMC USB ethernet') \ No newline at end of file + return _('Manual configuration of BMC USB ethernet') + +class nvidia_coarse_power_management(FileAction): + relpath = ('etc', 'modprobe.d', 'nvidia-runtimepm.conf') + content = 'options nvidia NVreg_DynamicPowerManagement=0x01' + + def describe(self): + return _("Use coarse-grained power control for NVIDIA driver") + +class remove_nvidia_coarse_power_management(FileAction): + relpath = ('etc', 'modprobe.d', 'nvidia-runtimepm.conf') + + def describe(self): + return _("Remove power control override for NVIDIA driver") + + def get_isneeded(self): + return os.path.exists(self.filename) + + def perform(self): + try: + os.remove(self.filename) + except: + pass diff --git a/system76driver/products.py b/system76driver/products.py index 123e00fb..1c4f064c 100644 --- a/system76driver/products.py +++ b/system76driver/products.py @@ -50,6 +50,7 @@ 'drivers': [ actions.blacklist_nvidia_i2c, actions.blacklist_psmouse, + actions.nvidia_coarse_power_management, ], }, 'addw5': { @@ -145,11 +146,15 @@ }, 'bonw15': { 'name': 'Bonobo WS', - 'drivers': [], + 'drivers': [ + actions.nvidia_coarse_power_management, + ], }, 'bonw15-b': { 'name': 'Bonobo WS', - 'drivers': [], + 'drivers': [ + actions.nvidia_coarse_power_management, + ], }, 'bonw16': { 'name': 'Bonobo WS',