混合筆記型電腦上的獨立顯卡啟動
我想在我的筆記型電腦上玩 Steam Linux 遊戲。這些遊戲在 Windows 分區上執行良好,但在 Debian 的分區上執行緩慢。我搜尋了他們在Linux上執行這麼慢的原因,發現我的第二張顯卡沒有被使用,所以,現在我正在嘗試啟動它。那篇文章的原因是我努力讓它發揮作用,以下是我嘗試過的事情:
- “lspci | grep VGA”告訴我我的第二張卡在這裡:
00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev Ob) 03:00.0 VGA compatible controller: Advanced Micro Devices, Inc [AMD/ATI] Mars [Radeon HD 8730M]
- “xrandr –listproviders”的說法正好相反:
Providers number : 1 Provider 0: id: 0x47 cap: 0xb, Source Output, Sink Offload crtcs, 3 outputs: 5 associated providers: 0 name:Intel
- “glxinfo | grep “OpenGL 渲染器字元串”” 證實了 xrandr 所說的:
OpenGL renderer string: Mesa DRI Intel(R) Haswell Mobile
- 但是“cat /sys/kernel/debug/vgaswitcheroo/switch”說:
0:IGD:+:Pwr:0000:00:02.0 1:DIS: :DynOff:000:03:00.0 2:DIS-Audio: :Off:000:03:00.1
這意味著我的獨立顯卡在那裡,但已關閉,但可以使用。所以我嘗試使用 switcheroo 啟動它:
- “回顯 > /sys/kernel/debug/vgaswitcheroo/switch”
沒發生什麼事
- “迴聲 DIS > /sys/kernel/debug/vgaswitcheroo/switch”
沒發生什麼事
- … 然後?“迴聲 DDIS > /sys/kernel/debug/vgaswitcheroo/switch”
沒發生什麼事
每次我檢查開關文件時,它的內容一直保持不變,IGD 通電,DIS DynOff,即使在重新啟動後也是如此。哦,有時switcheroo最終會在直接在su模式下執行這些命令時說:“vga_switcheroo client 0 denied switch”,我真的不知道這是什麼意思……
- 因為我沒有 xorg.conf 文件,所以我決定在恢復模式下使用 cmd “X -configure” 創建一個。然後我移動了文件:“cp /root/xorg.conf.new /etc/X11/xorg.conf”。但是當我用這個 conf 文件重新啟動時,我的電腦卡在 Plymouth 啟動螢幕上,我唯一可以訪問的是 tty。
- 在這裡,我嘗試備份
/usr/share/X11/xorg.conf.d/
文件夾並將其從原始位置刪除,然後重新啟動。現在我什至沒有卡在普利茅斯啟動螢幕上,啟動後我被重定向到 tty。那時,我什至不確定 xorg conf 是否對我原來的問題有任何用處,但我發現我也遇到了問題,因為新生成的 xorg.conf 文件使我的電腦卡在啟動螢幕上。
- 結果
lsb_release -a
:LSB 版本:core-2.0-amd64:core-2.0-noarch:core-3.0-amd64:core-3.0-noarch:core-3.1-amd64:core-3.1-noarch:core-3.2-amd64:core-3.2-
noarch:core-4.0-amd64:core-4.0-noarch:core-4.1-amd64:core-4.1-noarch:security-4.0-amd64:security-4.0-noarch:security-4.1-amd64:security-4.1-noarch 經銷商ID:Debian 描述:Debian GNU / Linux 8.10 (jessie) 發行版:8.10 代號:jessie
- 結果
sudo lshw -C display
*-顯示描述:VGA 兼容控制器產品:Haswell-ULT 集成圖形控制器供應商:英特爾公司硬體 ID:2 匯流排資訊:pci@0000:00:02.0 版本:0b 位:64 位時鐘:33MHz 功能:msi pm vga_controller bus_master cap_list rom 配置:驅動程序=i915 延遲=0 資源:irq:70 記憶體:d0000000-d03fffff 記憶體:c0000000-cfffffff 埠:4000(大小=64)
我不知道如何讓我的 AMD 顯卡在那個 Debian 8“Jessie”作業系統上工作,而且我的 xorg 可能有問題,所以這篇文章幾乎是我最後的希望。
更新
現在,在關注這篇文章之後: https ://askubuntu.com/questions/648426/discrete-graphics-always-dynoff
我啟動時卡在 Plymouth 啟動螢幕上,每 2 百萬次我在 tty1 和 Plymout 螢幕 (tty7) 上都會顯示此消息:
INFO: task kworker/u16:0:6 blocked for more than 120 seconds. Tainted: G C 3.16.0-4-amd64 #1 echo 0 > /proc/sys/kernel/hung_task_timeout_secs disables this message.
另外,我無法重新啟動。/etc/rc.local 文件版本似乎是原因,因為當我註釋掉我添加的行時,它可以正確啟動。
積極的一面是,我的離散 GC 現在是 vga_switcheroo 中的 Pwr。但仍然沒有列出,當我嘗試啟動它時
xrandr --listproviders
仍然收到消息( )vga_switcheroo: client 0 refused switch``echo DIS > /sys/kernel/debug/vgaswitcheroo/switch
否則,如果使用 radeon 而不是 fglrx 更複雜,那麼安裝另一個桌面環境而不是像 Cinnamon 這樣的 Gnome 會讓我的生活更輕鬆嗎?(知道fglrx與Gnome不兼容)
更新
我做了一堆實驗來回答我之前的問題。我嘗試安裝 fglrx-driver 並使用 LightDM(也適用於 KDM)進行顯示管理,並且可以正常工作。現在,我嘗試使用 Cinnamon,但它似乎不支持該驅動程序,就像 Gnome 一樣。所以我安裝了 xfce4,它似乎與驅動程序一起工作正常。
所以,現在我有 KDM 用於登錄,xfce 作為桌面環境。我打開我的終端並輸入
xrandr --listproviders
,但仍然只顯示 Intel 設備…我使用 創建了一個 xorg.conf 文件aticonfig --initial
,然後重新啟動,現在我有一個黑屏(LightDM 為黑屏,KDM 為 tty1 重定向)這意味著生成的 xorg.conf 文件不起作用…我不知道該怎麼想,畢竟我的xorg配置可能與它有關!
報告另一個問題: 即使我已經設法使我的電腦與 fglrx 一起使用桌面環境,現在 fglrxinfo、glxinfo 和 glxgears 等命令返回相同的錯誤:
Xlib: extension "GLX" missing on display ":0.0".
更新
我在 Reddit 上向人們詢問了我的問題,似乎我的系統和圖形堆棧太舊了,所以,我將備份我的 PC 並將其從 Debian 8 升級到 Debian 9,並希望一切順利!
最終解決方案是安裝更新的作業系統,Debian 9 就足夠了。然後我從非免費來源安裝了firmware-amd-graphics,現在它可以工作了:
xrandr --listproviders
Providers: number : 2 Provider 0: id: 0x7b cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 3 outputs: 5 associated providers: 0 name:modesetting Provider 1: id: 0x53 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 2 outputs: 2 associated providers: 0 name:OLAND @ pci:0000:03:00.0
只有名稱很奇怪,但一旦配置完成,它就不再是什麼大問題了。
新年快樂!