Amd-Graphics

混合筆記型電腦上的獨立顯卡啟動

  • January 1, 2018

我想在我的筆記型電腦上玩 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

只有名稱很奇怪,但一旦配置完成,它就不再是什麼大問題了。

新年快樂!

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