我有一台 Lenovo g470,其 Windows 8 僅用於遊戲,還有一個 Linux Distro 用於開發並作為我的主要作業系統。
我曾經使用過 Elementary OS,它運作良好,但我決定嘗試 CrunchBang。我安裝了它,安裝一切都很順利,只是一些關於 wifi 的小問題我很容易解決。根據我的需求設定 OpenBox、conky 和 Tint2 幾分鐘後,我感到非常頭疼,而且我的眼睛感覺非常酸痛。我注意到螢幕有點閃爍,就像低刷新率下的 CTR 一樣。它在較暗的顏色和螢幕的角落上更加明顯。
我檢查了我的刷新率和分辨率,一切都很好,分辨率和刷新率設置為本機分辨率(1366x768 60hz),我認為這是與顯示卡驅動程式相關的問題。我的電腦有兩個顯示卡,一個整合的 Intel HD3000 和一個獨立的 Ati HD6370,我嘗試了這兩個顯示卡。使用intel驅動,對於ati來說,私有和開源驅動沒有區別。
在尋找答案並嘗試使用 xrandr 進行一些設定後,我放棄並嘗試使用另一個發行版。這次是 Arch Linux。我安裝了基本系統、intel 視訊驅動程式、最新版本的 Xorg 和 OpenBox,但發現了相同的問題。我不知道這有什麼問題。我已經在嘗試使用 Linux mint,問題也出現在這裡,我確信這不是硬體故障,因為我可以在 Windows、Ubuntu 和 Elementary OS 上很好地使用它。
知道可能出什麼問題嗎?或者預設情況下 Ubuntu 上存在任何不同的設置,並且缺少所有其他作業系統可能會導致此問題?
提前致謝。
答案1
我已經發現問題所在了。 LCD 顯示器使用稱為脈寬調製(脈衝寬度調變)。螢幕背光閃爍到這個頻率,在大多數顯示器上都在 200hz - 500hz 範圍內。
我的 Linux 發行版預設值較低的 PWM 頻率,這就是為什麼眼睛疲勞的原因。幸運的是,Intel GPU 驅動程式可以更改 PWM 頻率。
你需要安裝英特爾 GPU 工具
首先您需要知道您的參考時鐘,它儲存在位址 0xC6204 上。您可以使用命令 intel_reg_read 讀取值,因此要讀取該值,您可以使用以下命令:
intel_reg_read 0xC6204
一旦您知道了您的參考時鐘,您就可以使用計算器這一頁來計算您想要的價值。我用的是500mhz,所以我拿到0x7a107a1。
PWM值的位址是0xC8254,您可以使用intel_reg_write設定值,因此您可以使用:
intel_reg_write 0xC8254 0x7a107a1
您可以立即看到變化。 (有時螢幕亮度可能會改變,但這沒關係,PWM頻率也會改變)
我希望這些資訊可以對任何需要它的人有所幫助。