diff options
author | Que Quotion | 2017-02-16 02:22:37 +0900 |
---|---|---|
committer | Que Quotion | 2017-02-16 02:22:37 +0900 |
commit | d0a74b48e7645d751c9b91d108fb9b76d4b637e5 (patch) | |
tree | 2324935e77c34ea3d25da1f6551e50d90f8345e0 | |
parent | e99a57dfe695cb7319e974dba37e728d5927925b (diff) | |
download | aur-d0a74b48e7645d751c9b91d108fb9b76d4b637e5.tar.gz |
Transitional: use sysfs instead of mangled cpufreq/cpupower functions
-rw-r--r-- | .SRCINFO | 11 | ||||
-rw-r--r-- | PKGBUILD | 16 | ||||
-rw-r--r-- | indicator-powersave.patch | 2 | ||||
-rw-r--r-- | use-sysfs.patch | 90 |
4 files changed, 110 insertions, 9 deletions
@@ -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 @@ -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) |