Kami akan memandu langkah praktis supaya perangkat Anda bekerja lebih dingin saat gaming. Di sini kita jelaskan cara kerja thermal daemon untuk menurunkan temperature dan menjaga performance stabil tanpa aksesori tambahan.
Kami tunjukkan bagaimana service membaca sensor di /sys/class/thermal dan memicu cooling device seperti rapl_controller, intel_pstate, dan powerclamp. Selanjutnya kita jelaskan pemeriksaan status service dan langkah diagnosa singkat: sudo systemctl status thermald.service dan sudo thermald –no-daemon –loglevel=info.
Kami juga ringkas prasyarat dan configuration yang diperlukan, termasuk versi dan file yang perlu dicek agar system tidak gagal start. Di artikel ini kita beri gambaran singkat opsi mode adaptive, contoh file thermal-conf.xml, dan perubahan aman untuk menekan lonjakan suhu tanpa mengorbankan CPU.
Mengapa kita perlu Thermal Daemon untuk gaming yang lebih dingin
Kita sering lihat fps turun saat sesi game berat. Sebabnya jelas: temperature naik dan cpu bekerja pada batasnya.
Jika sistem menunggu sampai suhu ekstrem, hardware akan menurunkan clock. Itu memicu throttling dan mengorbankan performance. Dengan mekanisme yang merespon lebih awal, tindakan pencegahan dimulai pada tingkat yang lebih rendah sehingga penurunan kinerja jadi lebih ringan.
Di laptop tipis, ruang pada case dan headroom thermal terbatas. Fan bisa berputar cepat, tapi aliran udara tetap kurang efektif. Di sini daemon termal membantu mengatur daya CPU dan GPU supaya panas tidak menumpuk.
- Kita butuh kontrol proaktif agar cpu temperature tidak cepat memicu throttling.
- BIOS/UEFI via ACPI menyediakan zones dan fan devices supaya OS bisa membuat kebijakan cooling kontekstual.
- Pemantauan sensor untuk GPU penting agar tindakan pendinginan seimbang dan tidak menciptakan bottleneck pada komponen lain.
| Situasi | Aksi | Manfaat |
|---|---|---|
| Sesi game berat | Penurunan daya bertahap | Lebih stabil fps |
| Laptop tipis | Optimasi fan & power | Suara lebih halus |
| GPU panas | Monitor sensor tambahan | Hindari bottleneck |
Kami percaya pendekatan ini memberi jendela performa lebih lama tanpa harus menambah aksesoris. Langkah kecil menurunkan beberapa derajat Celsius bisa membuat perbedaan pada pengalaman gaming dan umur hardware.
Apa itu thermal daemon dan bagaimana cara kerjanya di Linux/Android
Kami jelaskan singkat: service ini memindai daftar sensor pada /sys/class/thermal, membaca values suhu, lalu menentukan tindakan pendinginan saat trip point tercapai.
Saat sebuah sensor melewati ambang temperature, daemon mengaktifkan device pendingin sesuai mapping di file thermal-conf.xml. Mapping itu menghubungkan sensor ke devices seperti rapl_controller atau intel_powerclamp.
- Daemon membaca class sysfs dan menginterpretasi nilai mentah.
- Jika trip tercapai, actions dimulai: turunkan P-state, batasi power, atau jalankan fan lewat driver.
- Kita bisa ubah configuration di file xml untuk menambah sensor virtual atau atur control SEQUENTIAL/ PARALLEL.
| Input | Aksi | Output |
|---|---|---|
| Sensor temp | Bandingkan trip | Aktifkan cooling device |
| XML mapping | Terapkan methods | Kontrol cpu/power |
| Mode diag | –no-daemon –loglevel=info | Dump zone & status |
Catatan: akses root diperlukan untuk menulis ke sysfs. Pastikan file xml valid agar service dapat start dan menerapkan control tanpa error.
Prasyarat, dukungan kernel, dan driver yang wajib ada
Agar kontrol suhu bekerja, kita perlu memverifikasi dukungan kernel dan driver pada perangkat. Periksa versi kernel karena fitur tertentu hanya hadir pada release tertentu.
Driver kunci yang harus aktif meliputi Intel RAPL power capping (>= 3.13-rc1), RAPL-mmio (>= 5.3-rc1), intel_pstate, intel_powerclamp, dan INT340x class untuk integrasi ACPI.
Versi kernel dan mode adaptive
Mode adaptive tersedia sejak thermald 2.3 dan memerlukan kernel minimal version 5.8 agar kontrol responsif terhadap naiknya temperature CPU. Rilis 2.5.x menambahkan Android support, banyak changes dan updates untuk platform modern.
- Periksa status service dengan: sudo systemctl start|status|stop thermald.service.
- Jika membangun dari source, pasang automake, autoconf-archive, gcc/g++, glib2, libxml2, gtk-doc, upower, libevdev lalu jalankan ./autogen.sh prefix=/; make; sudo make install.
- Untuk beberapa hardware, RAPL-mmio membuka kontrol power lebih luas sehingga mengurangi ketergantungan hanya pada P-state.
| Item | Minimum | Manfaat |
|---|---|---|
| RAPL power capping | 3.13-rc1 | Limit power CPU |
| RAPL-mmio | 5.3-rc1 | Kontrol power lebih universal |
| Mode adaptive | Kernel ≥ 5.8 | Respons suhu lebih halus |
Kami juga sarankan mengecek file konfigurasi default dan bit arsitektur paket sebelum install. Perubahan kecil pada implementation dan print format time_t di rilis terbaru membuat logging lebih andal seiring waktu.
Thermal Daemon Android: arsitektur, Thermal HAL, dan thermal mediation
Kami jelaskan arsitektur singkat agar alur data suhu jelas dari host ke framework. Fokusnya adalah peran HAL-VirtIO VSOCK, bridging CIV, dan verifikasi nilai suhu pada guest.
HAL-VirtIO VSOCK: client, utility host, dan hubungan ke framework
Implementasi thermal hal memakai client VirtIO VSOCK di guest untuk meminta value suhu dari utility host. Host menjalankan utility yang membaca zone di /sys/class/thermal lalu meneruskan values via VSOCK.
Client HAL menerima data itu dan menyediakan interface ke Android framework. Dengan model ini, keputusan cooling di level system bisa memanfaatkan sensor host tanpa akses langsung ke kernel host.
Mengaktifkan mediation di CIV lewat file .ini
Untuk mengaktifkan mediation, tambahkan baris pada file <home>/.intel/.civ/<guest ini file> di bagian [mediation] seperti: thermal_med=/home/intel/civ/scripts/thermsys.
Baris tersebut memberi path dan akses ke utility host. Pastikan permission dan path benar agar HAL client tidak kehilangan koneksi saat load tinggi.
Validasi nilai suhu: adb shell dumpsys thermalservice
Setelah konfigurasi, jalankan adb shell dumpsys thermalservice untuk melihat values yang diterima guest. Perintah ini menampilkan sensor list, status trip, dan nilai terkini.
Ingat, thermald di host tetap mengelola kebijakan cooling; HAL hanya memfasilitasi pelaporan ke framework sehingga devices di guest merespon sesuai mapping.
- Periksa bahwa service host berjalan dan file .ini menunjuk ke skrip yang benar.
- Verifikasi bahwa client memiliki access dan permission baca ke socket VSOCK.
- Gunakan dumpsys untuk memastikan values dan status muncul di framework.
| Komponen | Status yang Diperiksa | Keterangan |
|---|---|---|
| HAL-VirtIO VSOCK | Connected | Menyalurkan sensor host ke guest |
| File .ini CIV | Path valid | Baris [mediation] thermal_med harus benar |
| Framework | Values tampil | Periksa via adb dumpsys thermalservice |
Menjalankan service thermald: service, status, dan mode diagnostik
Kita mulai dengan memastikan proses berjalan sebelum tuning lebih lanjut. Jalankan service, cek keluaran status, lalu aktifkan mode diagnostik bila perlu.
Start/stop/status via systemd dan opsi –adaptive
Kita menggunakan systemd untuk kontrol dasar: sudo systemctl start thermald.service, sudo systemctl status thermald.service, dan sudo systemctl stop thermald.service.
Gunakan opsi –adaptive agar daemon mencoba kontrol adaptif lalu fallback ke mode default bila tidak tersedia. Opsi tambahan seperti –ignore-cpuid-check, –disable-active-power, dan –workaround-enabled membantu di platform lawas.
Mode baris perintah untuk membaca sensor dan cdev
Untuk diagnosa langsung jalankan: sudo thermald –no-daemon –loglevel=info. Perintah ini menampilkan sensor, zone dump, urutan cooling device, dan batas power (PPCC/PL1/PL2).
Kami lihat apakah control default terlalu pasif atau memerlukan action tambahan. Jika platform menunjukkan throttling berat, pertimbangkan –disable-active-power atau –workaround-enabled lalu restart service.
- Gunakan journalctl -u thermald untuk log realtime saat beban CPU/GPU.
- Periksa trip level dan cdev states di zone dump untuk menyesuaikan threshold.
- Pastikan hak akses root agar write ke sysfs berhasil dan kontrol power berjalan semestinya.
| Langkah | Command | Hasil |
|---|---|---|
| Start service | sudo systemctl start thermald.service | Daemon aktif |
| Diagnostik | sudo thermald –no-daemon –loglevel=info | Dump sensor & cdev |
| Lihat log | journalctl -u thermald | Jejak action saat load |
Mengonfigurasi thermal-conf.xml untuk menekan throttling tanpa cooler
Kita mulai dari struktur dasar file configuration. Definisikan elemen Platform lalu daftarkan ThermalSensors seperti x86_pkg_temp. Selanjutnya buat ThermalZones yang berisi TripPoints dengan Temperature (°C) dan jenis control.
Struktur XML dan TripPoints
Pada xml, setiap ThermalZone perlu TripPoints untuk passive dan max. Untuk menekan throttling, turunkan passive sekitar 3 °C dari nilai default agar actions dimulai lebih awal.
ControlType dan CoolingDevices
Pilih ControlType SEQUENTIAL jika kita ingin satu methods selesai dulu (mis. rapl_controller) sebelum pindah ke intel_pstate atau intel_powerclamp. Gunakan PARALLEL untuk respon serentak saat lonjakan.
- Atur levels aksi dan PidControl konservatif (kp/ki/kd kecil).
- Set SamplingPeriod dan DebouncePeriod untuk mengurangi flip-flop state.
- Gunakan Influence untuk urutkan device paling efektif (rapl_controller 100, intel_pstate 80, powerclamp 60).
| Elemen | Contoh nilai | Manfaat |
|---|---|---|
| TripPoints passive | −3 °C dari default | Mulai pendinginan lebih awal |
| PidControl | kp=0.5 ki=0.1 kd=0.05 | Hindari overshoot |
| SamplingPeriod | 1000 ms | Stabilkan loop control |
Verifikasi bahwa xml valid agar status service tidak gagal. Setelah simpan file, restart service dan lakukan stress singkat. Pantau values suhu, cdev level, dan kembalikan ke default bila user melihat dampak performa yang signifikan.
Tuning performa gaming: power limits, P-state, monitoring CPU/GPU
Untuk menjaga frame rate stabil, kita perlu menyelaraskan batas daya dan P-state agar cpu tidak langsung memuncak saat beban tiba-tiba.
ThermalMonitor di folder tools repositori menyediakan GUI untuk memantau sensor, trip, dan cdev levels secara real-time. Gunakan juga dptfxtract sebagai example awal untuk menghasilkan konfigurasi dari tabel DPTF lalu refine nilai PID, SamplingPeriod, dan influence.
Monitoring real-time dan diagnostik
Jalankan mode diagnostic line: sudo thermald –no-daemon –loglevel=info untuk melihat pembacaan sensor, cdev, dan PPCC power limits. Periksa status tiap device dan catat limits yang aktif saat beban.
Checklist cepat tuning
- Optimalkan power limit via RAPL agar cpu tidak memuncak; atur PL1 lebih konservatif untuk session panjang.
- Manfaatkan intel_pstate untuk menahan puncak frekuensi tanpa mengorbankan respons interaktif.
- Perbarui driver dan firmware pada hardware agar control power dan pembacaan sensor akurat.
- Tinjau GPU dan airflow case; tambahkan atau sesuaikan fan bila GPU mendominasi panas.
- Uji selama 10–15 menit; bila suhu turun ~3 °C dan performance stabil, simpan perubahan dan catat konfigurasi untuk rollback.
| Langkah | Command/Tool | Hasil yang Diharapkan |
|---|---|---|
| Monitor real-time | ThermalMonitor / thermald –no-daemon | Lihat status & levels cdev |
| Generate config | dptfxtract | Example baseline XML |
| Tune & test | Uji beban 10–15 menit | Stabilkan suhu tanpa drop fps |
Kombinasikan langkah kecil: atur PL1, refine P-state, dan gunakan powerclamp hanya bila perlu agar device tetap responsif. Simpan setiap perubahan agar kita bisa cepat rollback bila performance menurun.
Kesimpulan
Kami tekankan poin inti: gunakan configuration xml yang teruji, pilih release dan version thermald sesuai kebutuhan (Android support tercatat di rilis 2.5.4; mode adaptive sejak 2.3 dan kernel ≥ 5.8).
Pastikan driver penting aktif seperti Intel RAPL, p-state, powerclamp, dan INT340x. Cek service via systemd dan jalankan diagnostik CLI untuk memverifikasi status dan koneksi Thermal HAL.
Simpan file default dan simpan varian tuning untuk tiap case penggunaan. Lakukan updates secukupnya, catat time dan hasil uji, serta dokumentasikan setiap perubahan.
Dengan implementasi bertahap ini kita dapat menurunkan temperature sekitar 3 °C saat beban game, mengurangi throttling, dan menjaga konsistensi fps tanpa cooler tambahan.
