在 Dell Inspiron 上從 syspend/hibernate 恢復後黑屏
我有一台帶有 Gentoo 和 OpenRC 的戴爾 Inspiron 筆記型電腦。通過 gui 或鍵盤進入休眠和掛起沒有問題。它也可以正常恢復。
我已配置
xfce4-power-manager
為通過蓋子事件使其進入睡眠和休眠狀態。最令人著迷的事情來了:它像正常一樣醒來,但它的螢幕是黑色的。它完全是黑色的,醒來時根本沒有打開它。看起來它可以很好地暫停和從鍵盤睡眠按鈕或通過 gui 喚醒,在這種情況下,它可以正確地打開螢幕,但是有蓋子 - 由於某種原因它不會打開螢幕。
發生這種情況時,我可以通過 HDMI 連接顯示器並從中手動啟用筆記型電腦螢幕,就像在這個問題中一樣。然而,在我的情況下,這只有在通過蓋子觸發 syspend/hibernate 時才會發生。
檢查日誌我發現通過蓋子或鍵盤掛起該系統沒有任何區別。從日誌的角度來看,在這兩種情況下,恢復都發生了相同的情況,系統也可以正常執行,除了帶蓋的情況下禁用了螢幕。
我嘗試過製作
ACPI
Video
內置的、Brightness
內置的模組,嘗試從核心中完全禁用EFI FB
,但沒有任何幫助。還嘗試使用亮度鍵和“監視器選擇”Fn鍵啟用螢幕,也沒有任何運氣。嘗試安裝vbetool
。這不僅無助於解決這個問題,而且完全打破了暫停和休眠。鑑於觀察結果,看起來某些東西(硬體或軟體)應該打開螢幕,但對於蓋子事件,它不能正常或及時地工作。
鑑於蓋子事件的恢復,是什麼負責啟用螢幕?這個使能的時間是如何控制的?我是否缺少一些對蓋子負責的核心模組?為了影片?用於開屏?
鑑於我以後可以通過 HDMI 手動啟用螢幕,我可以將此操作添加到恢復腳本嗎?我怎麼做?“啟用嵌入式螢幕/螢幕:0”命令會是什麼樣的?
有興趣的人可以參考更詳細的答案
我失敗的核心由於某種原因缺少
CONFIG_DRM_FBDEV_EMULATION=y
TL; DR端
突然我想起我曾經有過帶有 initramfs 的 genkernel 核心,它可能工作得很好。
它使用了 LiveCD 的配置,所以我得到了那個配置並用這個配置編譯了核心。你猜怎麼了?問題消失了!
所以我有 2 個配置,其中一個有效,另一個無效。首先,我認為這是因為 initramfs,但是在沒有 initramfs 的情況下重新編譯工作配置真的很快,可以肯定的是,它失敗不是因為 initramfs。下一步是區分這兩個配置並嘗試辨識影響我的系統的設置。好吧,說起來容易做起來難:差異給了我巨大的差異來弄清楚。
除了一點一點地將工作配置轉變為不工作,尋找所需的設置外,我別無選擇。試了好幾次,終於成功了!