Siema, jako, że ostatnio zmieniłem telefon na N3 i zakończyłem jakiekolwiek kombinowanie z i9300 to przeleję tu całą wiedzę, jaką zdobyłem. Być może komuś się to jeszcze przyda... Chciałbym zaznaczyć na wstępie, że nie jestem developerem, nie znam się na linuxie i innych cudach, ot lubię się bawić elektroniką i ogarniam mniej więcej jak to wszystko działa. Proszę też o wyrozumiałość, nigdy nie byłem dobry z j. polskiego 🙂
NIE ODPOWIADAM, ZA JAKIEKOLWIEK USZKODZENIA SPRZĘTU/SOFTU (mimo iż to chyba nawet nie jest możliwe)
Zainteresowanych tematem, zapraszam do przeczytania moich uwag, na samym dole 🙂
Przejdźmy zatem do rzeczy, oto co nam będzie potrzebne:
-Custom kernel (AK / Boeffla)
-Aplikacja do konfigurowania ów kerneli
-Ewentualnie terminal
-ASV Level z aplikacji konfiguracyjnej
Tutaj odpalamy apkę konfiguracyjną i przechodzimy do CPU
Mój proc działał po wszystkim tak:
ASV LVL = 3
Gov: LulzactiveQ
200MHz, 300MHz, 400MHz - 800mV
500MHz - 825mV
600MHz - 850mV
700MHz - 875mV
800MHz - 900mV
900MHz - 925mV
1000MHz - 950mV
1100MHz - 1025mV
1200MHz - 1075mV
1300MHz - 1100mV
1400MHz - 1150mV
Uwaga: Jeżeli masz ASV niższe od mojego, to dla każdego napięcia dolicz dodatkowe 12.5mV
A jak to zrobić w BC, który nie obsługuje liczb po przecinku?
Więc, jak w mojej tabeli jest napięcie zakończone na 5, to dodajemy do tego napięcia 13 a jak jest zakończone na 0 to dodajemy 12.
Np.
800mV -> 812mV
825mV -> 838mV
GPU
Natywne ustawienie:
160MHz - 900mV
266MHz - 925mV
350MHz - 1000mV
440MHz - 1050mV
533MHz - 1112mV
W moim przypadku na boeffli przez aplikacje konfiguracyjną osiągnąłem ostatecznie takie coś
300Mhz - 825mV
300MHz - 825mV
300MHz - 825mV
600MHz - 1075mV
700MHz - 1175mV
Jest jeszcze jeden profil: 200MHz @ 725mV, ale pominąłem go, bo nie wszędzie działa stabilnie, na Boeffli można ustawić z poziomu aplikacji, na AK trzeba pokombinować z terminalem:
sudo
echo 150 300 300 600 700 > /sys/class/misc/gpu_clock_control/gpu_control
Objawy przedawkowania:
CPU:
-Restarty
GPU:
-Freezowanie się telefonu, a potem glicze (kwadraty) na obrazie
-[rzadkie] znikający obraz z wyświetlacza w paskach, a potem czarny ekran (za niskie napięcie na najniższym poziomie)
Jak występują, to nie ma się czego bać, po prostu trzeba włączyć telefon i zwiększyć napięcie.
Moje Uwagi: (dla zainteresowanych)
CPU:
1. Warto zauważyć, że skoki od 200 do 1000 są liniowe i wynoszą 25mV, można wywnioskować, że 1000Mhz jest najwyższym racjonalnym taktowaniem dla TouchBoosta (osobiście jadę na 800Mhz)
2. Samsung chyba nie zna swojego SoC'a, bo tutaj na stocku zastosował -/+ równomierne skoki między kolejnymi frekwencjami, wystarczy porównać moją tablicę napięć z tym, co jest na stocku.
3. Testowałem dwie S3, każda z rootem, jedna ASV 2 druga ASV 3 i na ASV 2 napięcia się ciutkę różniły (dwa najniższe profile miały jakieś dziwne napięcia)
4. Jak widać, nie podałem tutaj napięć dla 1500 1600 i 1700 / 1704, a to dla tego, że 1500 nie ma w boeffli ( 😃) i dlatego, że z nieznanych mi powodów, przy nawet lekkim undervoltingu ów profile nie działają stabilnie (czyt. zawieszają się) natomiast, działają bez problemu gdy ustawimy na sztywno undervolt -50mV. Więc tutaj macie wybór, albo wydajniejszy cpu, albo dłuższy czas pracy na baterii i chłodny telefon.
5. W czystej teorii można ustawić minimalne taktowanie na 400Mhz i nie stracimy nic z czasu pracy na baterii, aczkolwiek nie wiem jak do końca działa procesor, więc nie mogę zagwarantować, że pobór prądu będzie ten sam, aczkolwiek u siebie ustawiłem minimum na 400Mhz i nie zauważyłem krótszej pracy baterii (albo nie skojarzyłem faktów) natomiast telefon był jakby bardziej responsywny.
6. Jako Zarządcę procesora polecam LulzactiveQ, telefon na nim jest baardzo responsywny i wszelkie animacje są znacznie płynniejsze.
GPU
1. Paradoksalnie GPU to pracuje na znacznie niższych napięciach przy okrągłych taktowaniach (200Mhz, 300Mhz ...)
2. 150MHz i 200Mhz to to samo
3. Z w/w profilami taktowań mogą się dziać różne cuda, 200Mhz raz działa, raz nie, generalnie jest interpretowane jako 150Mhz przez synapse, czasem coś oszaleje i leci na 133Mhz, więc do idealnej stabilności temu daleko, ale telefon przy tym nigdy mi się nie wysypał na Lolku 5.1.1, na MM coś działa inaczej, nie wiem co więc odpuściłem sobie i zostałem na 300Mhz.
Metoda jaką doszedłem do takich napięć:
CPU: Ustawianie minimalnego zegara na testowaną częstotliwość, klikanie w minusa w Boeffla Config przy danym profilu, smarowanie palcem po ekranie. Powtarzane aż telefon się zawiesi.
Potem test niskiej temperatury (lodówka, podłoga, te sprawy), test wysokiej temperatury (test stabilności antutu) i nagłe skoki do danego profilu (Touchboost) Dlaczego akurat tak?
Procesor składa się z miedzi i krzemu, przez oba pierwiastki płynie prąd, miedź jest przewodnikiem, czyli wraz z temperaturą rośnie opór, a w krzemie który jest półprzewodnikiem jest odwrotnie, z temperaturą opór spada, więc w teorii procesor jest ograniczony temperaturą z obu stron, a ja nie wiem na co to napięcie daję (krzem czy miedź?). A test skoków do danego napięcia, to wynik mojej fantazji, otóż ubzdurałem sobie, że przed prockiem mogą być kondensatory. Zbyt małe napięcie może nie naładować kondensatora, po drodze procesorowi może zabraknąć prundu i się zwiesi.
GPU: Podobnie, testowany profil jako minimum i testowane na Blobby Volleyball (nie miałem nic pod ręką), potem testowałem na fifie, nfs mw i minecrafcie. Wszędzie wyszło, że jest ok.
Jeżeli ktoś wie jak działa procesor na poziomie bramek logicznych, to byłbym wdzięczny jakby wytłumaczył, pomogłoby mi to w przyszłych badaniach
Jeżeli o czymś zapomniałem, gdzieś jest jakiś błąd to proszę mnie poprawić, piszę to późno i mogą się różne błędy wkraść... Proszę też o wyrozumiałość, to mój pierwszy temat przypominający tutorial :>
Mile widziane screeny z różnymi napięciami z różnych ASV...