summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorQue Quotion2017-02-16 02:22:37 +0900
committerQue Quotion2017-02-16 02:22:37 +0900
commitd0a74b48e7645d751c9b91d108fb9b76d4b637e5 (patch)
tree2324935e77c34ea3d25da1f6551e50d90f8345e0
parente99a57dfe695cb7319e974dba37e728d5927925b (diff)
downloadaur-d0a74b48e7645d751c9b91d108fb9b76d4b637e5.tar.gz
Transitional: use sysfs instead of mangled cpufreq/cpupower functions
-rw-r--r--.SRCINFO11
-rw-r--r--PKGBUILD16
-rw-r--r--indicator-powersave.patch2
-rw-r--r--use-sysfs.patch90
4 files changed, 110 insertions, 9 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 7f0bb428b454..7c5221da23d2 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,9 +1,9 @@
# Generated by mksrcinfo v8
-# Sun Oct 23 11:47:10 UTC 2016
+# Wed Feb 15 17:17:43 UTC 2017
pkgbase = indicator-powersave
pkgdesc = User discretion power managment utility forked from CPU frequency indicator (bzr version)
pkgver = r98
- pkgrel = 5
+ pkgrel = 6
url = https://launchpad.net/indicator-cpufreq
arch = i686
arch = x86_64
@@ -31,12 +31,17 @@ pkgbase = indicator-powersave
source = 0001_Use_cpupower.patch
source = indicator-powersave.patch
source = cpu-online.patch
+ source = schedutil.patch
+ source = use-sysfs.patch
source = throttle
source = throttle-cut.service
sha512sums = SKIP
sha512sums = 5427f1dcd51fe7fb43bbce1bc020a32312e2f82ccf643129b9887262730989197e2ce2cd4494922df058e78bdb8fbe220eccd69588ff917a891d5a56b3366a24
sha512sums = 8aad00c00a95d71f221647263422eef89a0207bdb55d883520f3871f28551c316860560207c96144e22dda2ab5f5fc9b8c7bfa0fc642283de160bfd61458b8c0
- sha512sums = de7f3471d842700811869ff388906218ec19fb85b7fd2faecff2eb9b341c5c5acbdfdc246e67b556c2d45eafbe25ca13d860dc09825c913a11b49532d6982ee5
+ sha512sums = d9ea712c0a0d6da9dc291b75322a207d83f73bd2a6e92111167679e53469cf3608e56ca40437bdc4a584d519d07e799292905d33d4dca65fff35bc7b0987b0a5
+ sha512sums = 8e929aa5d00a17be32b33085eb09aa66002a48696651adcd99678663230d73ed215b88634bb6364867140b8a336566cd02e0b04927423980ca4be9833f316b2a
+ sha512sums = 56f87addd1d2479446bfed262f4e95b5494fd958c6138dc68c03071b74dacba24c40e7cd946233816fde963e3bcbaf5cab4b1cf19288dfb8058ee9ff424ca367
+ sha512sums = b39f5bf06ce8c65f315582e92db34649f5967936ba2e5b27b61532314dc5e39cd6172f7e2da701e5f1de962e29021d041a770384a91267d819daa35fc8d45384
sha512sums = 99983956adefafd45292c86616ab847e9221745dff47120b0a28f00002c46ed1e5abd270a7320088513db10a7f647ebf6d5a3423de5aa9af95ee7fe819c21c14
sha512sums = aa86b5d6028033d6fbcc3d74d63c33298c0d437972d576990dfc4cae51d5c5128d789695e98fc5612ec7f8a4e2e68ea0576cf072e98fce4e0c22896be2f8b996
diff --git a/PKGBUILD b/PKGBUILD
index 6fdef3149f25..1a1ec62f6575 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,7 +3,7 @@
pkgname=indicator-powersave
pkgver=r98
-pkgrel=5
+pkgrel=6
pkgdesc="User discretion power managment utility forked from CPU frequency indicator (bzr version)"
arch=('i686' 'x86_64')
url="https://launchpad.net/indicator-cpufreq"
@@ -18,13 +18,17 @@ source=("bzr+lp:indicator-cpufreq"
'0001_Use_cpupower.patch'
'indicator-powersave.patch'
'cpu-online.patch'
+ 'schedutil.patch'
+ 'use-sysfs.patch'
'throttle'
'throttle-cut.service')
sha512sums=('SKIP'
'5427f1dcd51fe7fb43bbce1bc020a32312e2f82ccf643129b9887262730989197e2ce2cd4494922df058e78bdb8fbe220eccd69588ff917a891d5a56b3366a24'
'8aad00c00a95d71f221647263422eef89a0207bdb55d883520f3871f28551c316860560207c96144e22dda2ab5f5fc9b8c7bfa0fc642283de160bfd61458b8c0'
- 'de7f3471d842700811869ff388906218ec19fb85b7fd2faecff2eb9b341c5c5acbdfdc246e67b556c2d45eafbe25ca13d860dc09825c913a11b49532d6982ee5'
+ 'd9ea712c0a0d6da9dc291b75322a207d83f73bd2a6e92111167679e53469cf3608e56ca40437bdc4a584d519d07e799292905d33d4dca65fff35bc7b0987b0a5'
'8e929aa5d00a17be32b33085eb09aa66002a48696651adcd99678663230d73ed215b88634bb6364867140b8a336566cd02e0b04927423980ca4be9833f316b2a'
+ '56f87addd1d2479446bfed262f4e95b5494fd958c6138dc68c03071b74dacba24c40e7cd946233816fde963e3bcbaf5cab4b1cf19288dfb8058ee9ff424ca367'
+ 'b39f5bf06ce8c65f315582e92db34649f5967936ba2e5b27b61532314dc5e39cd6172f7e2da701e5f1de962e29021d041a770384a91267d819daa35fc8d45384'
'99983956adefafd45292c86616ab847e9221745dff47120b0a28f00002c46ed1e5abd270a7320088513db10a7f647ebf6d5a3423de5aa9af95ee7fe819c21c14'
'aa86b5d6028033d6fbcc3d74d63c33298c0d437972d576990dfc4cae51d5c5128d789695e98fc5612ec7f8a4e2e68ea0576cf072e98fce4e0c22896be2f8b996')
@@ -37,12 +41,14 @@ pkgver() {
prepare() {
cd "${srcdir}/indicator-cpufreq"
+ #Indicator-Powersave
+ patch -Np1 -i "${srcdir}/indicator-powersave.patch"
+
#Fixes
patch -Np1 < "${srcdir}/0001_Use_cpupower.patch"
patch -Np2 < "${srcdir}/cpu-online.patch"
-
- #Indicator-Powersave
- patch -Np1 -i "${srcdir}/indicator-powersave.patch"
+ patch -Np2 < "${srcdir}/schedutil.patch"
+ patch -Np2 < "${srcdir}/use-sysfs.patch"
}
package() {
diff --git a/indicator-powersave.patch b/indicator-powersave.patch
index ba6a98ecd080..986a49b7b2a6 100644
--- a/indicator-powersave.patch
+++ b/indicator-powersave.patch
@@ -118,7 +118,7 @@
+
+
</policyconfig>
---- indicator-cpufreq/indicator_cpufreq/indicator.py.orig 2015-09-10 14:46:45.814511000 +0900
+--- 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 _
diff --git a/use-sysfs.patch b/use-sysfs.patch
new file mode 100644
index 000000000000..9b06a5071e0e
--- /dev/null
+++ b/use-sysfs.patch
@@ -0,0 +1,90 @@
+--- src/indicator-cpufreq/indicator_cpufreq/indicator.py 2016-10-23 20:53:24.066983494 +0900
++++ src/indicator-cpufreq/indicator_cpufreq/indicator.py 2017-02-16 01:09:11.625695652 +0900
+@@ -29,6 +29,7 @@
+ from gettext import gettext as _
+ #gettext.textdomain('indicator-cpufreq')
+
++import glob
+
+ def readable_throttle(t):
+ return t
+@@ -101,24 +103,26 @@
+
+ # 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()
+- freqmenu.append(menu_item)
+- menu_item.connect("activate", self.select_activated, 'frequency', freq)
+- self.select_items[freq] = menu_item
+- menu.append(freqm)
++ #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()
++ # freqmenu.append(menu_item)
++ # menu_item.connect("activate", self.select_activated, 'frequency', freq)
++ # self.select_items[freq] = menu_item
++ #menu.append(freqm)
+
+ # governor menu items
+- governors = cpufreq.get_available_governors(self.cpus[0])
++ govFile = open("/sys/devices/system/cpu/cpufreq/policy0/scaling_available_governors")
++ governors = govFile.readline().strip("\n")
++ govList = governors.split(" ")
+ govmenu = Gtk.Menu()
+ govm = Gtk.MenuItem("CPU Governor")
+ govm.set_submenu(govmenu)
+- for governor in governors:
++ for governor in govList:
+ if governor == 'userspace':
+ continue
+ menu_item = Gtk.RadioMenuItem.new_with_label(group, readable_governor(governor))
+@@ -127,6 +131,7 @@
+ menu_item.connect('activate', self.select_activated, 'governor', governor)
+ self.select_items[governor] = menu_item
+ menu.append(govm)
++ govFile.close
+
+ # p-state turbo menu items
+ psturbo = ['on', 'off']
+@@ -182,13 +187,29 @@
+ for i in self.select_items.values():
+ i.handler_block_by_func(self.select_activated)
+
+- fmin, fmax, governor = cpufreq.get_policy(self.cpus[0])
++ govFile = open("/sys/devices/system/cpu/cpufreq/policy0/scaling_governor", 'r')
++ governor = govFile.readline().strip("\n")
++ fmnFile = open("/sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq", 'r')
++ fmin = int(fmnFile.readline().strip("\n"))
++ fmxFile = open("/sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq", 'r')
++ fmax = int(fmxFile.readline().strip("\n"))
+ # use the highest freq among cores for display
+- freq = max([cpufreq.get_freq_kernel(cpu) for cpu in self.cpus])
++ freq_list = glob.glob('/sys/devices/system/cpu/cpufreq/policy*/scaling_cur_freq')
++ freqs = []
++ for cur_freq in freq_list:
++ f = open(cur_freq, 'r')
++ freqs.append(int(f.readline().strip("\n")))
++ f.close
++
++ freq = max(freqs)
+
+ ratio = min([25, 50, 75, 100], key=lambda x: abs((fmax - fmin) * x / 100.0 - (freq - fmin)))
+ if freq < fmax and ratio == 100:
+ ratio = 75
++
++ govFile.close
++ fmnFile.close
++ fmxFile.close
+
+ #self.set_icon(get_data_file('media', 'indicator-cpufreq-%d.png' % ratio))
+ self.ind.set_icon('indicator-cpufreq-%d' % ratio)