Menghilangkan Kedipan Layar LED Di Thinkpad T520

Saya telah lama menyadari bahwasanya layar komputer memang selalu berkedip, namun baru tahu jika kedipan pada layar komputer ini bisa membuat sebagian orang merasa pusing dan atau mual.

Kedipan pada layar komputer disebabkan oleh pengatur kecerahan layar. Hingga kini, teknologi yang paling efisien untuk mengatur kecerahan layar adalah dengan mematikan dan menghidupkan LED secara cepat dan dengan waktu yang bervariasi. Namun kekerapan pensaklaran ini mungkin tidak cukup cepat bagi sebagian orang yang bermata sensitif hingga mereka masih akan tetap melihat kedipan di layar.

Saya pribadi sepertinya tidak pernah merasa pusing atau mual ketika menatap layar komputer, namun memang jika berlama-lama mata akan terasa kaku dan lelah. Jadi terpikir jika kedipan di layar komputer ini diredam atau dihilangkan maka ia tidak akan terlalu merusak atau membuat mata lelah.

Beruntung, ada orang yang juga berpendapat sama dan telah mengupayakan solusinya. Anda bisa langsung membaca artikel berikut yang saya jadikan sumber bagi artikel ini: http://devbraindom.blogspot.com/2013/03/eliminate-led-screen-flicker-with-intel.html

Dan sungguh sebuah kebetulan, orang tersebut menerapkannya di laptop ThinkPad X220 yang adalah sangat serupa dengan ThinkPad T520 yang saya miliki.

Singkatnya, berikut inilah yang saya lakukan untuk menghilangkan kedipan pada layar ThinkPad T520 sesuai dengan langkah yang saya baca di tiga laman di atas.
Dan seperti biasa, saya berlepas tangan jika dengan mengikuti tutorial ini komputer Anda kemudian rusak, meledak, meleleh atau apa lah. Do it with your own risk!

  • Gunakan kamera atau hape berkamera untuk melihat tampilan layar komputer. Atur kecerahan layar hingga gambar tampak jelas. Jika mendapati garis hitam bergerak turun atau naik, lanjutkan ke langkah di bawah. Jika tidak, mungkin layar komputer Anda sudah berteknologi flicker free dan tidak perlu mengikuti tutorial ini.

  • Pasang paket intel-gpu-tools.

    sudo apt install intel-gpu-tools
    
  • Gunakan rumus berikut untuk menghitung periode frekuensi yang akan kita pakai di komputer:

    Frekuensi PWM = frekuensi_jam_acuan / 128 / periode_pwm
    

    frekuensi_jam_acuan adalah PCH display raw clock, yang untuk keluarga Intel i915 adalah bernilai 125 MHz (0x7D).
    Nilai 128 adalah bakuan yang didapat dari dokumen yang dikeluarkan Intel. Untuk lebih jelasnya silakan baca http://devbraindom.blogspot.com/2013/03/eliminate-led-screen-flicker-with-intel.html.

    Misal jika kita akan mencoba frekuensi PWM di 600 Hz:

    600 = 125.000.000 / 128 / periode_pwm
    periode_pwm = (125.000.000 / 128) / 600
    1628
    

    Ubah nilai periode_pwm ini menjadi hexadecimal. Misal dengan menggunakan perintah berikut:

    echo "ibase=16; 1628" | bc
    

    Diketahui, bentuk hex dari 1628 adalah 65C.

    Jika enggan berpusing-ria menghitung rumus di atas, gunakan kalkulator di laman http://devbraindom.blogspot.com/2013/03/eliminate-led-screen-flicker-with-intel.html dan masukkan frekuensi yang hendak dicoba pada kolom di nomor 3.

  • Saatnya mencoba frekuensi hasil penghitungan di atas. Kita tempatkan nilai yang didapat pada 4 angka hex tertinggi (untuk PWM periode). Untuk 4 angka terendahnya (untuk PWM cycle) jangan melebihi nilai frekuensi yang akan kita coba. Singkatnya, jika kita hendak mencoba 65C pada periode PWM maka kita juga pakai nilai 65C ini untuk PWM cycle-nya.

    sudo intel_reg write 0xC8254 0x65C065C
    

    Kembali gunakan kamera untuk melihat layar. Jika kedipan masih tampak, gunakan kembali rumus di atas untuk menghitung frekuensi yang lain. Terapkan ulang dan lihat di kamera. Demikian seterusnya hingga kita tidak mendapati kedipan di kamera.

    Gunakan frekuensi terendah yang menghilangkan kedipan di layar. Dikhawatirkan frekuensi PWM yang terlalu tinggi akan berakibat buruk pada layar.

    Jika kedipan layar sudah tidak tampak di kamera, lanjutkan ke langkah berikut untuk menetapkan pengaturan agar bertahan walau komputer dihidup-matikan.

  • Buat berkas aturan udev di /usr/lib/udev/rules.d/99-intelpwm.rules untuk menjalankan skrip pengatur frekuensi kedipan pengatur kecerahan layar.

    KERNEL!="intel_backlight", SUBSYSTEM!="backlight", ACTION!="change", GOTO="backlight_pwm_rules_end"
    
    RUN="/usr/bin/intelpwm"
    
    LABEL="backlight_pwm_rules_end"
    
  • Buat berkas /usr/bin/intelpwm untuk mengatur frekuensi kedipan pengatur kecerahan layar.

    #!/usr/bin/env bash
    
    PERIOD=65C
    RAWDATA="$(intel_reg read 0xc8254)"
    CYCLE="${RAWDATA:56:4}"
    
    intel_reg write "0xc8254" "0x${PERIOD}${CYCLE}"
    

    Berikan berkas ini permission 744:

    sudo chmod 744 /usr/bin/intelpwm
    
  • Muat ulang aturan udev baru ini menggunakan perintah:

    sudo udevadm control --reload-rules
    

That’s it. Tidak tampak perubahan yang mencolok. Hanya ada satu temuan pada pengaturan kecerahan layar, kini walau telah diturunkan sampai paling rendah namun layar tidak sampai gelap benar sebagaimana pengaturan brightness sebelum menerapkan trik di atas.