Suspend

在 Dell Inspiron 上從 syspend/hibernate 恢復後黑屏

  • February 18, 2019

我有一台帶有 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。下一步是區分這兩個配置並嘗試辨識影響我的系統的設置。好吧,說起來容易做起來難:差異給了我巨大的差異來弄清楚。

除了一點一點地將工作配置轉變為不工作,尋找所需的設置外,我別無選擇。試了好幾次,終於成功了!

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