X 服务器、键盘和鼠标锁定且显示损坏

X 服务器、键盘和鼠标锁定且显示损坏

我的电脑(配备 NVIDIA 卡)有一个非常烦人的渲染问题。

有时,X 服务器在冻结后“锁定”(或者其中发生的任何事情,因为 VLC 音乐在当前数据包处循环)约 1 秒,指针变得不可见,键盘和鼠标将无法工作,我会看到一个屏幕看起来像这样:

X 服务器被锁定

只是每次的颜色都不一样。我启用了 ctrl-alt-backspace 和 alt-sysrq-[rk] 键,但即使这些键也没有效果,要恢复,我必须进行冷重启。

有时,我得到的不是上面的屏幕,而是充满内核错误的控制台,例如nouveau:未能空闲频道 XXX。然后几秒钟后所有程序都被杀死(在 tty 中)。这可能是一个 X 服务器,因为我的xgamma设置(每次注销时都会重置)仍然有效。

然后甚至控制台本身也消失了,没有登录屏幕,只是黑色(唯一的出路也是冷重启)。

最奇怪的部分是,根据我的调制解调器 LED 指示灯,KTorrent(发生这种情况时正在下载文件)在锁定期间仍在传输数据。 所有程序都被杀死,可以用VLC播放音乐来重现。

特别是,我无法运行任何 JavaFX 8 程序(甚至不能运行最简单的创建空窗口的程序),因为当我运行时java -jar my.jar,窗口会以退化/渲染不同步的形式出现,并且 a)在发生几次(未)最大化/调整上述情况后,屏幕会在 b) 几秒钟后锁定。当我使用 Firefox 或什至没有打开窗口时有时也会发生这种情况。

wmctrl -l显示锁定屏幕不是窗口。另外,如上所述,窗口/程序仍然打开,因此所有 GUI 进程都不会被终止。这非常令人困惑,我没有想法。

答案1

顺便说一句: alt-sysrq-[rk] 在这里没有帮助 - 实际上它杀死所有程序本身并将您置于控制台场景中。然而,这不是问题所在。简而言之,它是新派。

根据您的说法,X 服务器仍在运行,但图形“连接”似乎与显示器断开了。

由于 nouveau 驱动程序适用于 NVIDIA 卡,因此 java、firefox 和其他程序会尝试使用该卡,并认为该卡可用。这称为视频(又名硬件)加速。

屏幕“锁定”不是来自 X 服务器,而是由于 nouveau 中您的卡缺乏硬件功能(3D 渲染、视频解码等),因此当程序尝试使用其中之一时,nouveau 就会崩溃。

考虑 GPU代号视频引擎适用于 NVIDIA 卡。假设您有一张 GeForce 6/7 系列卡,它最终属于 NV40 (Curie) 系列,该系列依次使用 VPE1、VPE2 和 VP1 视频引擎,其中都不支持视频(硬件)加速(VPE2 中的 XvMC 除外) 。这就是导致您的 X 服务器“失败”的原因。 (请注意,专有的 NVIDIA 驱动程序在这种情况下将无济于事,因为缺少功能。)

解决方案是完全禁用硬件加速,并坚持使用软件渲染,直到获得支持的卡为止。在 java 8 中,您可以执行以下操作:java -Dprism.order=sw -jar my.jar,在我的系统上运行良好。 Firefox 在其高级首选项中有一个选项可以启用硬件加速(如果可用,这是错误的,但我不知道为什么),请确保未选中该选项。

更新: nouveau 一开始就不擅长利用 NVIDIA 硬件,因此,如果您正在使用一个显卡,并且您的发行版(例如 RHEL 7)很难获得专有驱动程序,我建议您将该卡替换为 Radeon/Intel 的开源显卡驱动程序得到更好的支持。

相关内容