2020年9月15日 星期二

xfce4 之下的中文輸入法卡到陰: nvidia 顯卡

我的新家 mint ulyana 大致上住得很順手。 但是在兩部 nvidia 顯卡的電腦上, 兩大覽器都會無緣無故造成整部電腦死當。 於是把兩大瀏覽器裡的「硬體加速」選項關掉。 是可以上網了, 但換中文輸入法出問題 -- 換過 fcitx、 gcin、 ibus 都一樣 -- 打沒幾個字, 畫面就亂掉、 整部電腦當掉。 我的經驗是: 會讓 linux 死當, 沒什麼好說的, 一定就是 nvidia 顯卡的問題, 因為他們不希望別人幫他們寫自由軟體驅動程式。 最簡單的解法就是在開機命令列加上 nouveau.noaccel=1 選項, 例如我的 extlinux.conf 裡面, live CD 開機模式的部分長得像這樣:

label live:ulyana
	menu label mint 20 ulyana xfce, live CD [broken GeForce 7025]
	kernel /ulyana-g20K/vmlinuz-5.4.0-42-generic
	append initrd=/ulyana-g20K/initrd.img-5.4.0-42-generic net.ifnames=0 biosdevname=0 boot=live live-media-path=/ulyana-g20K/ nouveau.noaccel=1

這只關掉驅動程式 nouveau 的加速功能, 但還是可以看到不錯的解析度。 (如果用 nouveau.modeset=0 禁止更改解析度或更狠的 rd.driver.blacklist=nouveau 禁用 nouveau, 那麼就只有 1024x768 的解析度。) 可是... 開機之後, 自動登入失效, 跳回 lightdm 登入畫面。 輸入帳號密碼, 畫面閃一下看起來好像登入了, 但馬上又跳回 lightdm 登入畫面。

用 ctrl-alt-f1 切換到 VT1 文字終端機、 登入、 檢查 ~/.xsession-errors , 發現系統抱怨找不到這個檔案: ~/.cache/sessions/xfce4-session-mistyhills:0 (其中的 mistyhills 是自取的 hostname)。 於是 touch ~/.cache/sessions/xfce4-session-mistyhills:0 建立這個檔案。 用 ctrl-alt-f7 切回 lightdm 登入畫面, 再登入一次, 一樣閃一下跳回來。

* 以 * 下 * 可 * 略 * 過 * 不 * 看 *

於是再次檢查 ~/.xsession-errors , 看到以下錯誤訊息:

(xfwm4:4503): xfwm4-WARNING **: 10:20:53.191: Unsupported GL renderer (llvmpipe (LLVM 9.0.1, 128 bits)).
Gdk-Message: 10:20:53.214: xfce4-session: Fatal IO error 11 (資源暫時無法取得) on X server :0.

那也許是 xfwm4 的問題? 於是安裝 openbox 跟 icewm, lightdm 登入畫面便多出這兩個選項, 改以 openbox 或 icewm 果然即可成功登入, 而且中文打字也不再當機! 那就 到 xfwm4 的官網回報 bug 囉。 感謝計畫主持人大大 Olivier Fourdan 給了一個很簡單的建議, 解決了我的問題。 至於 「改回報給更底層的 xorg」, 可能就要等寒假再說了~

* 以 * 上 * 可 * 略 * 過 * 不 * 看 *

在 VT1 文字終端機底下登入, 下這個指令: xfconf-query -c xfwm4 -p /general/vblank_mode -s off 這會把 ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml 這個檔案裡面的 vblank_mode 那一列的 value="auto" 改成 value="off" 。 或是直接編輯檔案也可以。 再次回到 VT7 lightdm 畫面, 即可成功登入 xfce!

ps. 查看顯卡型號的指令: lshw 尋找 "VGA"。

沒有留言:

張貼留言

因為垃圾留言太多,現在改為審核後才發佈,請耐心等候一兩天。