在 Linux 中切换虚拟终端时显示损坏

在 Linux 中切换虚拟终端时显示损坏

我运行 Fedora(当前版本为 16,但这个问题已经存在一段时间了),有时当我切换虚拟终端 (VT) 时,新 VT 会显示之前在旧 VT 上显示的某些数据的损坏版本。例如,如果我在 VT1 中观看 YouTube 视频并按 CTRL-ALT-F2 切换到 VT2,我登录到第二个 X 会话,X 会话不会在空白屏幕上显示登录信息;它会在屏幕上显示登录信息,该屏幕似乎以平铺损坏的 YouTube 视频版本作为壁纸。或者可能只是胡言乱语。

这是示例。照片不太清晰,因为我的手机相机把对话框冲洗掉了,但解锁对话框绘制正确,解锁工作站后一切都运行正常。

在此处输入图片描述

我想找到某种方法来防止这种情况发生,因为它非常丑陋,更不用说当两个不同的用户共享同一个工作站并且一些随机图像甚至不再出现在屏幕上而出现在另一个会话的锁定屏幕时的安全或隐私风险。

如果有什么问题的话,我有一块 adeon HD 5800 系列显卡,并且正在使用 Fedora 附带的免费 AMD 驱动程序。

我该如何防止该问题发生,或者至少强制在锁定屏幕上刷新屏幕,以便这种损坏不会留在屏幕上?

我试过使用各种屏幕保护程序和锁屏选项,但似乎没有什么能够阻止损坏。

答案1

我的 Radeon HD 5800 系列显卡也遇到了同样的问题。为了解决这个问题,我把以下命令添加到 grub 启动命令的末尾:

quiet nosplash nomodeset

尝试一下,看看是否可以解决问题。

答案2

您看到的损坏是未初始化的内存。造成这种情况的原因可能有很多。可能有一些内核选项可以解决这个问题(例如,通过 nomodeset 选项使用 UMS 而不是 KMS),但这些都只是解决方法,很难猜测哪种方法有效。

相反,让我解释一下如何提交错误报告并真正修复它:

  1. 前往 bugs.freedesktop.org 并注册一个账户
  2. 打开错误报告。以下是预先填写了组件的链接:

    https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/Radeon

  3. 将版本设置为'7.7'或 git

  4. 根据需要设置严重性、硬件和操作系统
  5. 摘要应类似于“[HD 5800] Fedora 16 中 VT 切换时显示帧缓冲区损坏”
  6. 在描述中,先简短地概括一下问题,不要超过 2-3 句话。然后添加完整的描述(例如,剪切并粘贴您在此处写的内容)。
  7. 确定问题的特征:
    • 它大概什么时候开始出现的?还是一直都是这样?
    • 这种情况每次都会发生吗?如果不是,发生这种情况的比例是多少?
  8. 重现问题后,收集“dmesg > dmesg.txt”、/var/log/Xorg.0.log、“lspci -vvnn > lspci.txt”以及几张显示损坏的屏幕照片。将所有这些附加到错误报告中。
  9. 跟进上游开发人员的任何请求

答案3

不久前我在 OpenSuse 系统上遇到过这种情况,确实很烦人……但并不致命。这主要是驱动程序问题,可能会在下一次更新中修复,但不确定。只有当您在“帧缓冲区”之间切换时才会发生这种情况。

唉,我没有什么有用的信息可以传递,因为我已经离开那个发行版一段时间了,我真的不记得我是否对此做了什么。切换到文本控制台并返回确实改变了模式,有时会清除它,有时会现在。记忆模糊。

稍微搜索一下确实显示出一些有希望的信息,这是最好的:

在您的 grub 启动参数中添加“vga=normal”似乎是一种常见的解决方法,因为它会导致图形适配器在您注销时切换回文本模式,然后切换回图形模式。

我不确定 Fedora 如何处理启动参数,也许有人可以帮助我们。

vga=normal

答案4

这可能是由于你的vga驱动版本与Fedora的linux版本不匹配,所以无法正常显示图像。你必须安装与fedora linux匹配的vga驱动版本。

我也尝试过在 linux ubuntu 11 上安装 vga diver,但是当我在 linux mint 上安装它时却无法运行。

相关内容