diff options
Diffstat (limited to 'indicator-powersave.patch')
-rw-r--r-- | indicator-powersave.patch | 267 |
1 files changed, 0 insertions, 267 deletions
diff --git a/indicator-powersave.patch b/indicator-powersave.patch deleted file mode 100644 index 986a49b7b2a6..000000000000 --- a/indicator-powersave.patch +++ /dev/null @@ -1,267 +0,0 @@ ---- indicator-cpufreq/bin/indicator-cpufreq-selector 2014-12-27 02:48:58.330816000 +0900 -+++ indicator-cpufreq/bin/indicator-cpufreq-selector 2014-12-27 02:25:45.903998358 +0900 -@@ -21,6 +21,8 @@ - import dbus.service - import dbus.mainloop.glib - -+import subprocess -+ - from indicator_cpufreq import cpufreq - - class PermissionDeniedByPolicy(dbus.DBusException): -@@ -42,6 +44,15 @@ - self._package_operation_in_progress = False - - @dbus.service.method(dbus_interface='com.ubuntu.IndicatorCpufreqSelector', -+ in_signature='as', -+ out_signature='', -+ sender_keyword='sender', -+ connection_keyword='conn') -+ def SetThrottle(self, throttle, sender=None, conn=None): -+ self._check_polkit_privilege(sender, conn, 'com.ubuntu.indicatorcpufreqselector.setthrottle') -+ error = subprocess.Popen(["/bin/sh", "throttle", throttle]) -+ -+ @dbus.service.method(dbus_interface='com.ubuntu.IndicatorCpufreqSelector', - in_signature='auu', - out_signature='', - sender_keyword='sender', -@@ -61,6 +72,33 @@ - for cpu in cpus: - error = cpufreq.modify_policy_governor(cpu, governor) - -+ @dbus.service.method(dbus_interface='com.ubuntu.IndicatorCpufreqSelector', -+ in_signature='as', -+ out_signature='', -+ sender_keyword='sender', -+ connection_keyword='conn') -+ def SetPSTurbo(self, psturbo, sender=None, conn=None): -+ self._check_polkit_privilege(sender, conn, 'com.ubuntu.indicatorcpufreqselector.setpsturbo') -+ error = subprocess.Popen(["/bin/sh", "throttle", psturbo]) -+ -+ @dbus.service.method(dbus_interface='com.ubuntu.IndicatorCpufreqSelector', -+ in_signature='as', -+ out_signature='', -+ sender_keyword='sender', -+ connection_keyword='conn') -+ def SetHyperthreads(self, hyperthreads, sender=None, conn=None): -+ self._check_polkit_privilege(sender, conn, 'com.ubuntu.indicatorcpufreqselector.sethyperthreads') -+ error = subprocess.Popen(["/bin/sh", "throttle", hyperthreads]) -+ -+ @dbus.service.method(dbus_interface='com.ubuntu.IndicatorCpufreqSelector', -+ in_signature='as', -+ out_signature='', -+ sender_keyword='sender', -+ connection_keyword='conn') -+ def SetGPUThrottle(self, gputhrottle, sender=None, conn=None): -+ self._check_polkit_privilege(sender, conn, 'com.ubuntu.indicatorcpufreqselector.setgputhrottle') -+ error = subprocess.Popen(["/bin/sh", "throttle", gputhrottle]) -+ - def _check_polkit_privilege(self, sender, conn, privilege): - '''Verify that sender has a given PolicyKit privilege. - ---- indicator-cpufreq/indicator_cpufreq/com.ubuntu.indicatorcpufreq.policy.in 2014-12-27 02:48:58.330816000 +0900 -+++ indicator-cpufreq/indicator_cpufreq/com.ubuntu.indicatorcpufreq.policy.in 2014-12-27 02:29:19.809678757 +0900 -@@ -13,13 +13,55 @@ - <vendor_url>https://launchpad.net/indicator-cpufreq</vendor_url> - <icon_name>indicator-cpufreq</icon_name> - -+ <action id="com.ubuntu.indicatorcpufreqselector.setthrottle"> -+ <_description>Change device powersaving settings</_description> -+ <_message>System policy prevents you from changing system throttle.</_message> -+ -+ <defaults> -+ <allow_inactive>no</allow_inactive> -+ <allow_active>yes</allow_active> -+ </defaults> -+ </action> -+ - <action id="com.ubuntu.indicatorcpufreqselector.setfrequencyscaling"> - <_description>Change CPU frequency scaling</_description> - <_message>System policy prevents you from changing CPU frequency scaling.</_message> - - <defaults> - <allow_inactive>no</allow_inactive> -- <allow_active>auth_admin_keep</allow_active> -+ <allow_active>yes</allow_active> -+ </defaults> -+ </action> -+ -+ <action id="com.ubuntu.indicatorcpufreqselector.setpsturbo"> -+ <_description>Change Intel P-State Turbo settings</_description> -+ <_message>System policy prevents you from changing P-State Turbo.</_message> -+ -+ <defaults> -+ <allow_inactive>no</allow_inactive> -+ <allow_active>yes</allow_active> -+ </defaults> -+ </action> -+ -+ <action id="com.ubuntu.indicatorcpufreqselector.sethyperthreads"> -+ <_description>Change hyperthreading settings</_description> -+ <_message>System policy prevents you from changing hyperthreading.</_message> -+ -+ <defaults> -+ <allow_inactive>no</allow_inactive> -+ <allow_active>yes</allow_active> - </defaults> - </action> -+ -+ <action id="com.ubuntu.indicatorcpufreqselector.setgputhrottle"> -+ <_description>Change GPU throttle settings</_description> -+ <_message>System policy prevents you from changing GPU throttle.</_message> -+ -+ <defaults> -+ <allow_inactive>no</allow_inactive> -+ <allow_active>yes</allow_active> -+ </defaults> -+ </action> -+ -+ - </policyconfig> ---- indicator-cpufreq/indicator_cpufreq/indicator.py 2015-09-10 14:46:45.814511000 +0900 -+++ indicator-cpufreq/indicator_cpufreq/indicator.py 2015-09-10 14:46:45.989929097 +0900 -@@ -29,6 +29,10 @@ - from gettext import gettext as _ - #gettext.textdomain('indicator-cpufreq') - -+ -+def readable_throttle(t): -+ return t -+ - def readable_frequency(f): - # temp hack for properly displaying intel turbo mode (actual freq + 1000kHz) - label = _("%s GHz") % locale.format(_("%.2f"), f / 1.0e6) -@@ -50,6 +54,15 @@ - else: - return g - -+def readable_psturbo(t): -+ return t -+ -+def readable_hyperthreads(h): -+ return h -+ -+def readable_gputhrottles(gt): -+ return gt -+ - class MyIndicator(object): - def __init__(self, show_frequency=False): - self.show_frequency = show_frequency -@@ -71,28 +84,90 @@ - maxcpu += 1 - self.cpus = range(maxcpu) - -+ # throttle menu items -+ throttles = ['full', 'cut'] -+ throtmenu = Gtk.Menu() -+ throtm = Gtk.MenuItem("System Throttle") -+ throtm.set_submenu(throtmenu) -+ for toggle in throttles: -+ menu_item = Gtk.RadioMenuItem.new_with_label(group, readable_throttle(toggle)) -+ group = menu_item.get_group() -+ throtmenu.append(menu_item) -+ menu_item.connect('activate', self.select_activated, 'throttle', toggle) -+ self.select_items[toggle] = menu_item -+ menu.append(throtm) -+ -+ menu.append(Gtk.SeparatorMenuItem()) -+ - # frequency menu items - #freqs = cpufreq.get_available_frequencies(self.cpus[0]) - freqs = reversed(sorted(set(cpufreq.get_available_frequencies(self.cpus[0])))) -+ freqmenu = Gtk.Menu() -+ freqm = Gtk.MenuItem("CPU Frequency") -+ freqm.set_submenu(freqmenu) - for freq in freqs: - menu_item = Gtk.RadioMenuItem.new_with_label(group, readable_frequency(freq)) - group = menu_item.get_group() -- menu.append(menu_item) -+ freqmenu.append(menu_item) - menu_item.connect("activate", self.select_activated, 'frequency', freq) - self.select_items[freq] = menu_item -- -- menu.append(Gtk.SeparatorMenuItem()) -+ menu.append(freqm) - - # governor menu items - governors = cpufreq.get_available_governors(self.cpus[0]) -+ govmenu = Gtk.Menu() -+ govm = Gtk.MenuItem("CPU Governor") -+ govm.set_submenu(govmenu) - for governor in governors: - if governor == 'userspace': - continue - menu_item = Gtk.RadioMenuItem.new_with_label(group, readable_governor(governor)) - group = menu_item.get_group() -- menu.append(menu_item) -+ govmenu.append(menu_item) - menu_item.connect('activate', self.select_activated, 'governor', governor) - self.select_items[governor] = menu_item -+ menu.append(govm) -+ -+ # p-state turbo menu items -+ psturbo = ['on', 'off'] -+ pstmenu = Gtk.Menu() -+ pstm = Gtk.MenuItem("P-State Turbo") -+ pstm.set_submenu(pstmenu) -+ for toggle in psturbo: -+ menu_item = Gtk.RadioMenuItem.new_with_label(group, readable_psturbo(toggle)) -+ group = menu_item.get_group() -+ pstmenu.append(menu_item) -+ menu_item.connect('activate', self.select_activated, 'psturbo', toggle) -+ self.select_items[toggle] = menu_item -+ menu.append(pstm) -+ -+ # hyperthreading menu items -+ hyperthreads = ['on', 'off'] -+ htmenu = Gtk.Menu() -+ htm = Gtk.MenuItem("Hyperthreads") -+ htm.set_submenu(htmenu) -+ for toggle in hyperthreads: -+ menu_item = Gtk.RadioMenuItem.new_with_label(group, readable_hyperthreads(toggle)) -+ group = menu_item.get_group() -+ htmenu.append(menu_item) -+ menu_item.connect('activate', self.select_activated, 'hyperthreads', toggle) -+ self.select_items[toggle] = menu_item -+ menu.append(htm) -+ -+ menu.append(Gtk.SeparatorMenuItem()) -+ -+ # gpu runtime pm menu items -+ gputhrottles = ['full', 'cut'] -+ gpumenu = Gtk.Menu() -+ gpum = Gtk.MenuItem("GPU Throttle") -+ gpum.set_submenu(gpumenu) -+ for toggle in gputhrottles: -+ menu_item = Gtk.RadioMenuItem.new_with_label(group, readable_gputhrottles(toggle)) -+ group = menu_item.get_group() -+ gpumenu.append(menu_item) -+ menu_item.connect('activate', self.select_activated, 'gputhrottle', toggle) -+ self.select_items[toggle] = menu_item -+ menu.append(gpum) - - menu.show_all() - self.ind.set_menu(menu) -@@ -134,9 +209,21 @@ - bus = dbus.SystemBus() - proxy = bus.get_object("com.ubuntu.IndicatorCpufreqSelector", "/Selector", introspect=False) - cpus = [dbus.UInt32(cpu) for cpu in self.cpus] -- if select == 'frequency': -+ if select == 'throttle': -+ proxy.SetThrottle(value, -+ dbus_interface='com.ubuntu.IndicatorCpufreqSelector') -+ elif select == 'frequency': - proxy.SetFrequency(cpus, dbus.UInt32(value), - dbus_interface='com.ubuntu.IndicatorCpufreqSelector') -+ elif select == 'psturbo': -+ proxy.SetPSTurbo("turbo-" + value, -+ dbus_interface='com.ubuntu.IndicatorCpufreqSelector') -+ elif select == 'hyperthreads': -+ proxy.SetHyperthreads("ht-" + value, -+ dbus_interface='com.ubuntu.IndicatorCpufreqSelector') -+ elif select == 'gputhrottle': -+ proxy.SetGPUThrottle("gpu-" + value, -+ dbus_interface='com.ubuntu.IndicatorCpufreqSelector') - else: - proxy.SetGovernor(cpus, value, - dbus_interface='com.ubuntu.IndicatorCpufreqSelector') |