Debian

我的聯想 SL510 的亮度只能在 100% 和 0% 之間移動?

  • February 28, 2013

我有一台使用 Cinnamon DE 執行 Linux Mint Debian 版(基於 Debian 測試)的聯想 SL510 筆記型電腦,亮度似乎只有兩個設置:100% 和 0%。如果我使用筆記型電腦上的亮度鍵並降低亮度,它會立即降至 0%。如果我增加亮度,也會發生同樣的事情。它會自動跳到 100%。如果我在 Cinnamon 中使用亮度小元件,我會得到相同的效果。

lsmod,這些是我安裝的 acpi 核心模組:

Module                  Size  Used by

thinkpad_acpi          61270  0
nvram                  13049  1 thinkpad_acpi
acpi_cpufreq           12935  1
snd                    52850  17 snd_timer,snd_seq_device,snd_seq,snd_rawmidi,thinkpad_acpi,snd_pcm,snd_mixer_oss,snd_pcm_oss,snd_hwdep,snd_hda_codec,snd_hda_intel,snd_hda_codec_realtek,snd_hda_codec_hdmi
rfkill                 19012  6 cfg80211,thinkpad_acpi,bluetooth
mperf                  12453  1 acpi_cpufreq
processor              28157  3 acpi_cpufreq

uname -r,我的核心版本是 3.2.0-4-amd64。

我可以做些什麼來解決這個問題,或者我應該發布哪些其他資訊來解決這個問題?

你可以看看裡面的一些東西,/proc看看/sys會發生什麼;亮度小元件或你的 DE 中的任何東西(你沒有說哪一個)使用一些介面來連接那裡的東西。 /proc並且/sys不存在於磁碟上;它們包含的文件是核心的特殊介面。可以寫入許多文件來控制各種事情。

例如:我使用的是東芝衛星,其中有一個“東芝”目錄/proc/acpi。在該目錄中有一個文件“lcd”:

»cat lcd
brightness:              5
brightness_levels:       8

但是,您不能寫入此文件。這種方式更有用的是一些目錄/sys/class/backlight——我又有“acpi_video0”、“intel_backlight”和“toshiba”。但是,這個東芝目錄包含不同的東西。已經愚弄了這一點,我知道我的案例中的相關內容實際上在“acpi_video0”中:

»ls -1 acpi_video0/
actual_brightness
bl_power
brightness
device
max_brightness
power
subsystem
type
uevent

其中一些是目錄。現在:

»cd acpi_video0/
»cat max_brightness 
7

這確實對應於 proc 中的“brightness_levels”,因為 0-7 是 8 個級別。

»cat brightness 
5
»echo 2 > brightness

如果您不是 root,則回顯將失敗並顯示“權限被拒絕”。從那時起root,我的螢幕突然變暗了很多。

當我使用鍵盤調光器時,我的 KDE 桌面上彈出的小元件從 0 到 100,通常以 10 或 20% 的增量 - 或者有時不給出百分比,或者偶爾給出“52%”之類的 -但在經驗現實中,從 0% 到 100% 始終是相同的 7 個步驟。對於 KDE,“電源管理”下的 GUI 系統設置中有一些亮度的東西,但同樣,它們都與同一件事有關。

您還可以/sys使用命令訪問/瀏覽/操作值sysctl,請參閱man sysctl。哪種方法更簡單可能取決於您如何使用命令行;我使用了一個正統的文件瀏覽器(mc),這會有所不同,因為我實際上不需要 cd/ls/cat 等。

所以看看那些東西,看看會發生什麼。請記住,由於硬體製造商通常不提供 linux 驅動程序,因此必須有人開發它們並且通常沒有報酬(意思是在他們的業餘時間)。此外,這些製造商通常對可能有助於創建此類驅動程序的資訊請求懷有敵意(我去過那裡),這使該過程變得很痛苦。最終結果:並非所有驅動程序都是 100% 正常工作的(這與有缺陷的不同——它們可以工作,只是不能完成所有工作)。闕色拉,色拉。

引用自:https://unix.stackexchange.com/questions/66365