我想在我的笔记本电脑上玩 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 denied switch”当直接在su模式下执行这些命令时,我真的不知道这是什么意思......
因为我没有 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
只有名称很奇怪,但一旦配置完成,它就不再是什么大问题了。
新年快乐!