® DynBS | Приложение предназначено для экономии батареи за счёт мощности ЦП.



Реп: (566)
DynBS
версия: 1.7

Последнее обновление программы в шапке: 22.09.2017

Прикрепленное изображение


Для функционирования программы необходимы права root пользователя, а также приложение - эмулятор терминала.

Внимание! Запрещено выкладывать программу на любые другие сайты, или задействовать в каких-либо проектах без моего персонального разрешения! В случае несоблюдения этого правила программа будет удалена с форума (мне это не принесёт абсолютно никаких проблем)!

DynBS получил возрождение в проекте, названном по другому, и улучшающем далеко не только экономию. Он предназначается для смартфонов на базе процессоров Snapdragon с 8-ю ядрами и называется Dragonfly Tweaks. Находится он здесь.
Версия DynBS из данной темы закрыта, но это не значит, что её части можно брать без разрешения... Кто хочет использовать проект из этой темы в своём собственном проекте, пишем мне в QMS.

Краткое описание:
Сохраняет энергию батареи с помощью уменьшения мощности ЦП и временно возвращает таковую при необходимости.

Описание:
DynBS поможет существенно сократить энергопотребление без выключения основной функциональности Android-устройства (такой как: Wi-Fi, Bluetooth, мобильный интернет, яркость экрана, фоновые процессы) путём снижения ненужных высоких частот процессора тогда, когда таковые не нужны. С DynBS вы сможете дольше использовать ваше устройство так, как вам нравится. Чуть подробнее можно почитать в разделе "Подробное описание".

По поводу претензий, или если вам просто не нравится программа, или автор...
Своими словами уже не получается, так что вам сюда.


Информация о поддержке...
Если программа не выключает ядра на вашем устройстве и процессор его точно принадлежит к ARM, поищите в настройках governor'а ("/sys/devices/system/cpu/cpufreq/[имя_governor]/[файлы_настроек]") файл, который отвечает за количество работающих ядер ЦП, тогда я смогу адаптировать программу и к вашему устройству.
Если же у вашего устройства процессор x86, поддержки по нему не ждите, она в вашем случае не оказывается. Только ARM. Кстати, ARM64 тоже под вопросом, иногда там могут быть ошибки, а устройства для тестов с таким процессором у меня нет (различия между 32 и 64 битами принципиальны, системные вызовы ядра разные, и я их не изучал).


Подробное описание
DynBS, динамическое энергосбережение (от англ. Dynamic Battery Saving) - это приложение, позволяющее сохранить более 30% заряда батареи вашего Android-устройства.
Немного истории:
Сначала это был скрипт, облечённый интерфейсом в виде приложения под Android, который пусть и экономил, но больше затормаживал систему (да и сам создавал около двух процентов загрузки процессора). Потом Google обновил Android, и у меня возникли проблемы со знаниями для разработки под него. Затем я остановил проект, и ушёл.
Я год занимался разработкой "плавного" и экономного ядра SmoothMod Kernel (SMK) для Samsung Galaxy Tab 3 8.0 3G, и многому научился. На основе появившихся у меня за то время идей я и создал новый DynBS. Теперь я веду разработку обоих проектов, а dynbsd доступен отдельно, но также является и частью ядра SMK (имеется особая интеграция с этим ядром, здесь DynBS создаёт больше экономии при большей плавности)
.
Итак, DynBS во всём является governor, драйвером управления частотами ЦП, за исключением одного: здесь контроль ведётся не за текущей, а за максимальной частотой, что недоступно уже ядру Android.


F.A.Q.

1.
В: Очень простой способ установки вручную, если установщик через Recovery некорректно устанавливает, либо если файл программы просто запакован в zip, без поддержки Recovery.
О:
igaryasha94 @ 31.07.17, 12:23 *

Кидаем файл dynbsd в папку /system/xbin/ при помощи X-plore, предварительно включив в последнем поддержку записи в /system в настройках. Это чудо умеет выставлять разрешения само, образец берёт от соседних файлов.

Далее просто работаем с программой в терминале.

2.
В: Какие-то странные символы на экране, вместо русского текста...
О: Включите в терминале пункт "По умолчанию UTF-8" и перезапустите его.

3.
В: В: Как запустить?
О: О: См. сюда.

4.
В: Выдаёт, что "... нет поддержки init.d ...".
О: Если у вас Root от SuperSU, проверьте существование папки /system/su.d. Если нет, создайте. Киньте туда скрипт 99dynbsd. Всё, автозапуск программы обеспечен. Можно ещё сослать папку init.d на эту. Делается так:

cd /system/etc/
mv init.d/ init.d_bak/
ln -s /system/su.d /system/etc/init.d
mv init.d_bak/* init.d/
mv init.d_bak/.* init.d/
rmdir init.d/
cd init.d/
ls


Если последние две команды выдают в числе прочего (которого может и не быть) 99dynbsd, то всё получилось. Теперь ваша папка init.d работает как в кастомных ядрах, но до тех пор, пока стоит рут от SuperSU.
Либо, если неохота возиться (зря!), установите приложение Kernel Adiutor, в нём много полезного есть, плюс имеется эмуляция init.d (говорят, правда, что она косячная во всех эмуляторах). Она-то вам и нужна. Запускаем, и можно пользоваться.

5.
В: Не запускается, пробовал трижды (или больше), версии X, Y, даже Z, результат один.
О: Значит, сейчас и невозможно запустить.
Решение не очень лёгкое и состоит в том, что вы, и только вы, можете помочь найти и поправить проблемы, мешающие запуску.
Если у вас версия 1.7 pre-release, или выше, то подойдёт то, что ниже. Иначе устанавливайте последнюю версию - отладка предыдущих версий не обсуждается, а поддержки по ним нет.
Запускаем программу в режиме вывода отладочной информации. Для этого вам нужен установленный пакет strace. Проверять не нужно, программа сама напишет вам об ошибке, в этом случае смотрим ниже, ссылка "Скачать". Итак, запускаем программу: 'dynbsd start+debug', выйдет предупреждение о логе. Программа поработает столько же, сколько и обычно, но при этом в файл /sdcard/dynbsd.trace.log будет записано всё, что программа делает при помощи ядра. Получившийся лог присылайте мне, я его проанализирую и выявлю проблемы, ведущие к вылетам.
Скачать программу-зависимость strace.
Установка: Кидаем программу в /system/xbin/ (способ установки вручную как для DynBS: см. F.A.Q. пункт 1).

6.
В: Включённый автозапуск не срабатывает при перезагрузке.
О: Пробуйте включить в SuperSU "Доверять системному суперпользователю".
Не работает? См. пункт выше. Также можно на основе того метода подправить init.d-скрипт dynbsd, исправив строку 'dynbsd start' на 'dynbsd start+debug'

7.
В: После удаления Kernel Adiutor автозапуск не работает. Почему?!
О:
Dimo4ka_2012 @ 30.09.2016, 22:07 *
*если поддержка init.d активирована в Kernel Adiutor-е, то удалять его нельзя, т.к. он сам и эмулирует поддержку init.d, запуская скрипты.
На работе программы никак не отразится, но, что логично, нет init.d - нет автозапуска.


8.
В: Программа выключает не все ядра, или вообще не выключает. Что делать?
О: Дело в governor, судя по всему он берёт на себя контроль за ядрами ЦП.
Вышлите мне содержимое папки /sys/devices/system/cpu/cpufreq/[текущий_governor] и я добавлю в следующую версию dynbsd поддержку вашей системы, если это возможно (т.е., если ваш governor поддерживает настройку управления ядрами).

9.
В: Почему после установки слетает рут?
О: DynBS не может снести рут (таких действий у него в коде нет совсем, он сам даже к /system/xbin/su не обращается ни разу, хотя и это действие рут снести не может, так как именно ради этого действия рут и существует), максимум того, что он делает - это ругается на его отсутствие при таковом.
Если проблема возникнет снова, проверьте, есть ли файл /system/xbin/su ('ls /system/xbin/su' в терминале: если выдаёт ошибку, значит файла нет, иначе выдаст файл). Если существует, простая перезагрузка должна помочь, и нет проблем (если всё же есть, сделайте fix permissions в TWRP/CWM).

10.
В: Поставил DynBS на максимальную экономию. Программа работает (частоты меняет), но эффекта - ноль. Как так?
О: Экономия у всех разная будет, даже в пределах одной и той же модели устройства. Знаю по своему огромному опыту.
Лично у меня на планшете DynBS работает, только незаметно: частоту понижает, а видимой экономии батареи это не даёт (хоть по тестам и выходит минут десять в итоге). Это на планшете. Если здесь убрать весь жор заряда, создаваемый работающим экраном, то эффект от DynBS будет просто супер (около 70%). А сейчас - так, просто капля в океане... И переделать это нельзя никак, только своё собственное ядро сделать, да и там тоже тяжело так, что в одиночку посоветую и не пытаться.
То же относится и к любым другим устройствам, везде по разному. Если не экономит, значит не судьба. Виноват в этом не я, а разработчики вашего устройства, которые не продумали энергосбережение и возможности для его улучшения как следует.

11.
В: А флаги запуска вообще обязательны?
О: Нет. Главное по флагам помнить лишь это:
1) Флаги полностью опциональны, для нормальной работы не требуются, только для себя же (подстройка под свои нужды / кастомизация), обеспечивают регулировку плавность<->батарея.
2) Флаги принимаются опциями 'start' и 'auto', полностью одинаково. Разница только в применении: 'start' мгновенно запускает программу с флагами (или без, если не указать), если она не была запущена (иначе ошибка), 'auto' запускает отложенно, то есть, после перезагрузки. Также флаги принимает совмещённая опция 'start+auto'. Другие опции не принимают флагов и могут выдать ошибку.

12.
В: Хочу узнать про флаги ещё подробнее.
О: Читайте здесь.

13.
В: Где версия 1.6? Куда делась?
О: 1.6 я пропустил, она так и останется неофициальной, но по факту действительно существовала, в оффлайне.

14.
В: В apk не будет? Подумайте про большинство юзеров.
О: Нет, это невозможно.

15.
В: Меня беспокоят причины перезагрузок устройства. В чём они могут быть?
О: Основная (могут быть и ещё) причина в SELinux. Подробностей не знаю, но пользователь Kucher2000 опытным путём выяснил, что в его случае перезагрузки были вызваны именно из-за этой защиты. Сейчас SELinux автоматически выключается программой при первом же запуске.

16.
В: У меня процессор ARM64 (ARM 64-битный), вылетает при запуске.
О: Пока не знаю причин, и вряд ли узнаю в ближайшее время, т.к. у меня нет и не предвидится устройства на таком процессоре...

17.
В: Тормозит, больше тормозов, чем экономии.
О: Ответ здесь.

18.
В: А как вообще работает программа?
О: Ответ ®DynBS (Пост igaryasha94 #78522706)


Скачать ZIP для Recovery:
Версия 1.7: Прикрепленный файлDynBS 1.7 FLASHABLE.zip ( 30.59 КБ )

Прошлые версии

Версия 1.5.1: Прикрепленный файлdynbsd.zip ( 11.91 КБ )

Версия 1.5: Прикрепленный файлdynbsd.zip ( 11.75 КБ )

Версия 1.4: Прикрепленный файлdynbsd.zip ( 14.66 КБ )



Старый ник автора: @igaryasha94, новый - @DfP_DEV

Сообщение отредактировал DfP_DEV - 30.10.22, 17:56
Причина редактирования: Обновил описание DfT (уже не только для Redmi/Xiaomi)



Реп: (206)
ТЫНЦ



Реп: (166)
Надеялся,что прога с этой командой заработает(Dynbsd -s -h 1),жаль,но не чего не вышло.
скриншот
Прикрепленное изображение
скриншот

частоту понижает,но при этом работает всегда все 2 ядра(

Сообщение отредактировал varkanis - 02.06.16, 14:58



Реп: (-13)
Ребята подскажите,как установить прогу,с меня плюс



Реп: (206)
varkanis так это ж хорошо! у меня после нагрузки держит два ядра на минимуме. А потом отключает одно. Это же хорошо по той простой причине что два ядра которые работают они справляются со всеми минимальными процессами без услилий. На стоке без программы наблюдалось такое что подскакивали все ядра при нагрузке, а тут оптимизирована нагрузка



Реп: (316)
Поставил сегодня - до полудня стоял набор твиков Fera, цель была - нормализовать заряд, потому что режим ожидания, стоял на первом месте, обычно это Экран. После обеда, снес Fera, поставил данное чудо. Пока цель выполнена, Экран на первом месте в списке энергопотребления. Тестирую дальше.



Реп: (166)
* alteregoss,
Да,но на стоке,по тому графику,у меня п ростое 1 ядро а второе на минимуме,просто не понижается максимальная частота,а с твиком работают 2 ядра но максимальная частота почти на минимуме.Думаю экономия будет если будет работать 1 ядро только. Это сугубо у меня на девайсе,хотя в апк версии,1 ядро уходило в сон и второе работало на пониженной частоте.

Сообщение отредактировал varkanis - 02.06.16, 18:34



Реп: (2)
Выдаёт ошибку после
su
dynbsd
статус работает
автозапуск неиспользуется
dynbsd -s
dynbsd -a
segmentation fault



Реп: (193)
amir1202 @ 02.06.2016, 15:38 *
Ребята подскажите,как установить прогу,с меня плюс

SiBiRoN @ 03.06.2016, 03:46 *
Ничего не понятно.. Как установить то?

Автор расписал же как и что в шапке темы (FAQ)... :yes2:

Ну давайте я напишу еще раз, как делала я и многие тут, за что им спасибо за помощь :D
Скачиваешь свежий файл в архиве (скачать dynbsd) на комп или смарт и разархивируешь. (Если на компе, то кидаешь его на SDcard телефона в корень или папку - куда привык.)
Файл должен быть dynbsd без расширения. На телефоне нужен установленный рут доступ и ядро должно поддерживать init.d.
Потом этот файл переносишь ручками (меньше возни в терминале) рутэксплоером в system/xbin и выставляешь права "П" и перезагружаешь телефон.
Прикрепленное изображение

Качаешь программу терминал Прикрепленный файлТерминал.apk ( 551.44 КБ )
запускаешь ее и вводишь команду su, будет запрос на предоставление рут прав.
Соглашаешься и в следующей строчке вводишь уже dynbsd, будет типа менюшки с описанием команд.
У кого кракозябры при ввводе, то меняем в настройках терминала кодировку на UTF-8
Далее ввести надо dynbsd -s, тебе напишет что сервис запущен, потом вводишь еще одну команду dynbsd -a это уже на автозагрузку проги (скрипта).
Автор сделал, что можно вводить сразу dynbsd -sa, но мне удобнее по отдельности. Можешь сделать как автор. Вот собственно и все.
В окошке терминала будет вот так. В папке system/etc/init.d автоматически создается файл (скрипт) программы 99dynbsd
Прикрепленное изображение

Перезагружаешь смарт еще раз и все прога (скрипт) - запущено в фоне и работает.
Файл от 03.06.2016 (Версия: 1.0 beta 5) Прикрепленный файлdynbsd.tar.gz ( 14.12 КБ )

-----
Прикрепленный файлdynbsd_beta_7.tar.gz ( 15.93 КБ )


Сообщение отредактировал Fantom-Zone - 16.06.16, 19:54
Причина редактирования: правка команды от автора



Реп: (4)
У меня вот так
Прикрепленное изображение
сорри, Незнаю как под спойлер убрать

Сообщение отредактировал krock - 03.06.16, 08:42



Реп: (193)
krock @ 03.06.2016, 08:38 *
У меня вот так

в настройках терминала поставь кодировку UTF-8 (галочка там) и по новой вводи.

krock @ 03.06.2016, 08:38 *
Незнаю как под спойлер убрать

или нажать на панельке голубой квадратик с + и - или руками вбить [SPОILER]ваш скрин[/SPОILER]
Прикрепленное изображение


Сообщение отредактировал Fantom-Zone - 03.06.16, 08:48



Реп: (566)
Fantom-Zone @ 03.06.2016, 07:57 *
можно вводить сразу dynbsd -s -a

Только это не совсем верно: надо -sa вводить, т.е., как одну опцию.
А остальное всё точно)
* us8isg,
Сейчас добавлю проверку на поддержку init.d (простенькую, на существование папки), чтобы программа не вылетала (Segmentation fault) при попытке записать скрипт автозапуска, а выдавала рекомендации, что можно сделать для решения проблемы (хотя бы временно).

Кстати, в последних версиях DynBS есть флаг '-a' (он же '--agressive'), который увеличивает экономию за счёт понижения в два раза всех частот, которые будут использоваться. Для запуска с ним: 'dynbsd -s -a 1'.

Сообщение отредактировал DfP_DEV - 05.06.16, 10:20



Реп: (193)
igaryasha94 @ 05.06.2016, 10:06 *
Для запуска с ним: 'dynbsd -s -a 1'.

* igaryasha94, чего то не запускает так, версия 6 бета у меня :(
Прикрепленное изображение



Реп: (566)
* Fantom-Zone,
Странно. Сейчас перевыложу.. Всё, теперь должно точно работать.
Прикрепленное изображение


Сообщение отредактировал DfP_DEV - 05.06.16, 11:42



Реп: (2550)
Fantom-Zone @ 05.06.2016, 11:35 *
не запускает так, версия 6 бета у меня

У меня без проблем запустилось...(тоже 6).

Сообщение отредактировал Dikman_161 - 05.06.16, 11:39



Реп: (566)
Обновил, уже как седьмую (чтоб путаницы не было)...
Путаюсь сам, т.к. я отвечаю за разработку двух подобных программ) Одна для моего ядра, она ускоряет систему, вторая - DynBS.

Сообщение отредактировал DfP_DEV - 05.06.16, 11:45



Реп: (193)
* igaryasha94,
а как узнать что режим агрессив то работает, вроде пишет запущено и автозапуск и все...
заменила на 7 бетку, попробую сейчас ее.

Сообщение отредактировал Fantom-Zone - 05.06.16, 11:50



Реп: (566)
* Fantom-Zone,
Пока никак.. Думаю над этим.
Но вообще - это будет понятно по вдвое пониженной частоте процессора (через SetCPU и подобные, которые показывают текущую и максимальную частоты).

Сообщение отредактировал DfP_DEV - 05.06.16, 11:52



Реп: (193)
* igaryasha94, еще такой вопрос, dynbsd я так понимаю сразу не запускается после перезагруза минимум минута или две
надо ждать. Попробовала сразу после и пишет что незапущен, а через пару минут уже типа работает... Так?



Реп: (566)
* Fantom-Zone,
Видимо, зависит от устройства.. Скрипт автозапуска DynBS у меня запускается уже через пять секунд после включения. Иногда через шесть.

Сообщение отредактировал DfP_DEV - 05.06.16, 12:02



Реп: (193)
igaryasha94 @ 05.06.2016, 11:59 *
Скрипт автозапуска DynBS у меня запускается уже через пять секунд после включения.

ну значит мой ®FeraDroid Engine ступорит чуток, ну не критично... :D

Сообщение отредактировал Fantom-Zone - 05.06.16, 12:05


Полная версия   Текстовая версия

Помощь   Правила

Сейчас: 29.03.24, 04:24