Mengapa kontrol kecerahan Thinkpad saya melewati langkah-langkah?

15

Masalahnya: ada 16 tingkat kecerahan di laptop saya, tetapi menekan tombol pintas Fn+Home, Fn+Endmenyesuaikan kecerahan 3 langkah sekaligus (mis. Dari 0 hingga 3, atau dari 15 hingga 12).

Saya merasa penting untuk memperhatikan bahwa di layar masuk hotkey berfungsi dengan baik . Tetapi setelah login perilaku aneh itu muncul.

Juga, jika saya memberi fokus ke menu (mis. Klik pada menu File di firefox), hotkeys berfungsi dengan baik .

xdotool key XF86MonBrightnessDownberfungsi dengan baik, menyesuaikan kecerahan dengan 1 langkah (diperiksa dengan cat /sys/devices/pci0000:00/0000:00:02.0/backlight/acpi_video0/brightness).

Saya juga menginstal indicator-brightness- ini menunjukkan 16 leves (0-15).

Saya mencoba pengaturan acpi_backlight=vendordi grub (terinspirasi oleh topik ini: http://ubuntuforums.org/showthread.php?t=1909184 dengan masalah yang sama). Itu berhasil di hotkey menjadi berfungsi dengan baik. Tetapi masalah dengan pemberitahuan OSD, xdotool dan indikator kecerahan muncul. Jadi saya pikir itu bukan solusi yang tepat.

Tampaknya setelah login ada sesuatu yang mengganggu dalam skema pemrosesan hotkey. Ada ide?

Edit (info tambahan)

  • Saya membuat pengamatan bahwa hotkeys bekerja pada tingkat perangkat keras - Saya dapat mengatur kecerahan segera setelah menyalakan laptop saya (misalnya di layar BIOS).

  • Setelah $ killall gnome-settings-daemonhotkey menyesuaikan kecerahan dengan satu langkah, tetapi tidak ada pemberitahuan yang muncul. Segera gnome-settings-daemonpulih, dan masalah tiga langkah kembali.

  • acpi_listen memberikan output berikut (kedua tombol berurutan):

    $ acpi_listen
    ibm/hotkey HKEY 00000080 00001010
    video LCD0 00000086 00000000
    ibm/hotkey HKEY 00000080 00001011
    video LCD0 00000087 00000000
    

    Pada titik ini saya berpikir bahwa (1) hotkey bekerja pada level perangkat keras; (2) ibm/hotkeymerawat hotkey; (3) videoberhati-hatilah juga. Dengan demikian, masalah tiga langkah muncul.

    Saya mencoba daftar hitam video (saya berharap ini akan mengarah pada perilaku langkah ganda), tetapi tidak ada yang berubah.

Sebagai solusinya, saya membuat hotkey saya sendiri di CompizConfig Settings Manager - seperti yang dijelaskan di sini , tetapi dengan --clearmodifiersargumen:

xdotool key --clearmodifiers XF86MonBrightnessUp
xdotool key --clearmodifiers XF86MonBrightnessDown

Jadi sekarang saya bisa menggunakan hotkey awal atau yang baru untuk penyesuaian yang lebih baik.

Pertanyaan-pertanyaan terbuka

Sudah ada diskusi untuk kasus ini dengan langkah ganda: Lenovo ThinkPads, tombol fungsi kecerahan membuat dua langkah alih-alih satu, mencari solusi :

perangkat keras hanya melakukannya dan kemudian juga mengirimkan sinyal yang mengatakan tombol telah ditekan. Mungkin Anda dapat menghapus pintasan di System -> Preferences -> Shortcut Keyboard untuk tindakan ini?

Tapi saya ingin tahu,

  1. Mengapa saya mendapatkan masalah tiga langkah?
  2. Bagaimana saya bisa menghapus pemrosesan tombol pintas ini?

Saya akan sangat berterima kasih jika seseorang menjelaskannya.

Andrey
sumber

Jawaban:

14

Dari mana 3 langkah untuk 1 penekanan tombol berasal?

Anda mendapatkan tiga langkah kecerahan untuk satu penekanan tombol karena:

  1. Driver ACPI / video standar menyesuaikan langkah 1
  2. The thinkpad_acpisopir memberitahu BIOS untuk menyesuaikan langkah 2 tapi masih depan acara menekan tombol
  3. Daemon daya GNOME menyadap penekanan tombol ini dan memberi tahu ACPI untuk menyesuaikan sekali lagi langkah 3

1. Nonaktifkan driver video dari menyesuaikan kecerahannya sendiri

Ini menghilangkan salah satu dari tiga langkah (langkah 1) di atas.

  • Buka terminal
  • Tipe sudo sh -c 'echo -n 0 > /sys/module/video/parameters/brightness_switch_enabled'
  • Tes, sekarang Anda harus memiliki kontrol kecerahan dalam langkah dua
  • Untuk menonaktifkan ini secara otomatis saat startup, buka /etc/rc.localdi editor favorit Anda, dan sebelum baris terakhir ( exit 0), tambahkan:

    echo -n 0> / sys / module / video / parameter / brightness_switch_enabled

2. Kompilasi ulang thinkpad_acpimodul untuk menyelesaikan masalah pers ganda

  • Kita harus berhenti thinkpad_acpimenyesuaikan kecerahan melalui BIOS dan membuatnya hanya meneruskan penekanan tombol ke GNOME, sehingga GNOME membuat satu-satunya langkah penyesuaian
  • Ini adalah bug yang dikenal yang diperbaiki di kernel 3.4+
  • Untuk memperbaikinya untuk Ubuntu 12.04 / Precise, kami harus menambal versinya thinkpad_acpidan mengkompilasinya:

    1. Instal header kernel: sudo apt-get install linux-headers-$(uname -r)
    2. Instal alat membangun sudo apt-get install build-essential
    3. Buat direktori sementara dan ubah menjadi:
      mkdir ~ / tpacpi-bright && cd ~ / tpacpi-bright
    4. Unduh dan patch file sumber thinkpad_acpi.cdari repositori Ubuntu Kernel git:

      wget -O- "http: //kernel.ubuntu.com/git? p = ubuntu / ubuntu-exact.git; \
      a = blob_plain; f = driver / platform / x86 / thinkpad_acpi.c; hb = HEAD "\
      | sed -e / tp_features.bright_acpimode && acpi_video / acpi_video / g '\
      > thinkpad_acpi.c
    5. Dalam folder yang sama dengan yang thinkpad_acpi.ctelah diunduh, Anda memerlukan "Makefile". Anda dapat mengunduhnya langsung dari Pastebin ini , menggunakan:

      wget -OMakefile http://pastebin.com/raw.php?i=ybpnxeUT

    ATAU rekatkan di bawah ini ke dalam file bernama Makefile,:

    obj-m + = thinkpad_acpi.o
    semua: make -C / lib / modules / $ (shell uname -r) / build M = $ (PWD) modul
    bersih: make -C / lib / modules / $ (shell uname -r) / build M = $ (PWD) bersih
    1. Sekarang ketik makeuntuk membuat modul; Anda akan melihat thinkpad_acpi.kofile di folder setelah selesai.
  • Tes modul yang ditambal setelah memuatnya dengan:

    sudo rmmod thinkpad_acpi && sudo lsmod thinkpad_acpi.ko
  • Jika kecerahan sekarang diperbaiki dan memberi Anda kontrol penuh, ganti modul persediaan dengan modul yang ditambal:

    TPDIR = / lib / modules / $ (uname -r) / kernel / drivers / platform / x86
    sudo mv $ TPDIR / thinkpad_acpi.ko $ TPDIR / thinkpad_acpi.ko.stock
    sudo mv ~ / tpacpi-bright / thinkpad_acpi.ko $ TPDIR / thinkpad_acpi.ko
    
  • Anda dapat membersihkan folder build dengan make clean; pertahankan agar upgrade kernel di masa depan!

ish
sumber
terima kasih atas jawabannya! Solusi Anda benar-benar bekerja untuk saya. Satu-satunya masalah - kontrol kecerahan tidak berfungsi sekarang di layar login (saya sepertinya mengerti mengapa - karena baru thinkpad_acpidigunakan, tetapi daemon daya GNOME belum berfungsi ).
Andrey
Demi belajar, bisakah Anda memberi tahu saya, adakah cara untuk memberi tahu daemon daya GNOME untuk tidak memproses hotkey kecerahan, seperti yang kami lakukan dengan videodriver? Ubuntu menyediakan GUI ( All Settings -> Keyboard -> Shortcuts) untuk menyesuaikan tombol pintas audio (Volume Atas / Bawah, Bisu), tetapi saya tidak menemukan di mana saya dapat mengubah atau menonaktifkan tombol kecerahan.
Andrey
@ Andrew: selamat datang! Saya memiliki Thinkpad T520 jadi ini adalah kesempatan bagus untuk memperbaiki masalah. Sedangkan untuk layar login, saya pikir cara untuk menyelesaikannya adalah dengan mematikannya bukan di rc.localtetapi di ~/.profile, sehingga hanya aktif setelah Anda login. Jika ada cara sederhana untuk menonaktifkan daemon daya GNOME dari pemrosesan hotkey kecerahan, ini juga akan menonaktifkan OSD (seperti backlight=vendor); melakukannya dengan benar mungkin memerlukan memodifikasi kode sumber ... Saya akan mencoba melihatnya. Bagaimanapun, begitu 12.10 keluar, mereka akan merilis kernel backported tetap untuk 12,04, sehingga akan berfungsi kemudian.
ish
2

Saya mengalami masalah yang sama persis seperti Anda ditambah bahwa sistem saya selalu dimulai dengan layar mati.

Saya ingin mengucapkan terima kasih karena mengarahkan saya ke arah yang benar, acpi_backlight=vendormelakukan trik untuk saya tanpa masalah yang Anda alami. Saya menggunakan HP G7 1116sg dengan grafis hybrid (Intel HD3000 (saat ini hanya menggunakan intel karena masalah hybrid di ubuntu. Saya katakan ini hanya karena X220 terdaftar memiliki adapter grafis yang sama) / Radeon HD6870) dan Ubuntu 12,04.

Hanya ingin mengatakan bahwa perubahan grub berhasil untuk saya tanpa masalah yang jelas.

Semoga berhasil menemukan solusi.

DrA7
sumber
Senang itu berhasil untuk Anda!
Andrey
0

Mengatur /sys/module/video/parameters/brightness_switch_enabledke 0membuat saya tidak dapat mengontrol kecerahan sama sekali pada Thinkpad X230 saya melalui tombol pintas, baik dalam tty maupun di xfce 4.10. Saya harus memberi tahu xfce4-power-manager untuk tidak mengubah kecerahan pada kejadian penting. Anda dapat melakukannya dengan mengatur salah satu dari dua kunci konfigurasi tersembunyi. Yang pertama adalah:

xfconf-query -c xfce4-power-manager -n -t bool -p /xfce4-power-manager/change-brightness-on-key-events -s false

Dan yang kedua:

xfconf-query -c xfce4-power-manager -n -t bool -p /xfce4-power-manager/show-brightness-popup -s false

Catatan: kedua pengaturan ini menonaktifkan layar popup kecerahan pada sistem saya, tetapi setidaknya saya mendapatkan semua 16 tingkat kecerahan kembali!

Anda dapat membaca lebih lanjut tentang masalah ini di halaman ini dan di bagian bawah halaman ini .

jeremija
sumber
0

Di laptop Lenovo S205 saya, saya memiliki masalah ini di mana driver video dan gnome menyesuaikan kecerahan.

Tetapi pengalaman saya menonaktifkan brightness_switch_enabledproperti adalah bahwa gnome lambat dan tampak bersemangat ketika memperbarui lampu latar --- misalnya jika saya meninggalkan kunci ke bawah selama beberapa detik dan kemudian melepaskan, gnome masih membutuhkan 5-10 untuk memproses acara.

Jadi alih-alih saya lebih suka membiarkan driver video melakukan penyesuaian, dan menghentikan gnome dari melakukannya.

sudo chmod -x /usr/lib/gnome-settings-daemon/gsd-backlight-helper

Menonaktifkan cara gsd-backlight-helpermelakukan trik untuk saya. Saya merayapi internet dan sepertinya tidak ada opsi yang terlihat oleh pengguna untuk melakukan hal yang sama.

Saya memang kehilangan OSD kecerahan tetapi sekarang perubahan kecerahan diproses secara instan, dan sebagai bonus saya masih memiliki kontrol kecerahan pada tty.

Ivo Anjo
sumber