我想在笔记本电脑上玩 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 会说:“vga_switcheroo client 0拒绝切换”直接在 su 模式下执行这些命令时,我真的不知道这意味着什么......
由于我没有 xorg.conf 文件,因此我决定在恢复模式下使用 cmd“X -configure”制作一个文件。然后我移动了文件:“cp /root/xorg.conf.new /etc/X11/xorg.conf”。但是当我用这个conf文件重新启动时,我的计算机卡在普利茅斯启动屏幕上,我唯一可以访问的是tty。
在这里,我尝试备份该
/usr/share/X11/xorg.conf.d/
文件夹并将其从原始位置删除,然后重新启动。现在我什至不会卡在 Plymouth 启动屏幕上,启动后我会被重定向到 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 集成显卡控制器 供应商:Intel Corporation 硬件 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 更复杂,安装另一个桌面环境而不是 Gnome(如 Cinnamon)会让我的生活更轻松吗? (知道fglrx与Gnome不兼容)
更新
我做了很多实验来回答我之前的问题。我尝试安装 fglrx-driver 并使用 LightDM(也适用于 KDM)进行显示管理,并且它有效。现在,我尝试使用 Cinnamon,但它似乎不支持该驱动程序,就像 Gnome 一样。所以我安装了 xfce4,它似乎与驱动程序一起工作得很好。
因此,现在我有 KDM 用于登录,并使用 xfce 作为桌面环境。我打开终端并输入xrandr --listproviders
,但仍然只显示英特尔设备...我使用创建了一个 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,并祝愿一切顺利!
答案1
解决方案最终是安装更新的操作系统,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
只是名字很奇怪,但是配置完成后就不再是什么大问题了。
新年快乐!