问题

问题

问题

我的问题如下:是否可以通过 grub 配置禁用 fglrx Linux 驱动程序或采取任何措施来抑制不兼容跨硬件的功能(例如 3D 加速)?如果可以,该怎么做?

具体来说,我在多台机器上使用的 SSD 上设置了我首选的软件开发环境,其中只有一些机器有独立的 Radeon GPU,其他机器有英特尔的 iGPU。在配备 Radeon GPU 的机器上,gmd 需要 fglrx 驱动程序才能顺利运行(如果没有它们,3D 加速会特别不稳定)。我需要能够在 grub 中创建/选择启动选项,以便我能够在使用 iGPU 的英特尔设备或配备 Radeon GPU 的 AMD 设备上启动。

我找到的有关修改 grub 启动菜单的所有信息都已过时,因此我转向 SU 进行澄清。

背景

我的 PC 上设置了双启动:一个 SSD 上安装 Windows 7,另一个 SSD 上安装 Ubuntu Gnome 14.04(我主要使用 Ubuntu 进行软件开发)。我最近将 PC 从几块 Radeon HD 7700 升级到 AMD R9 280,此时 Radeon 驱动程序停止了 3D 加速,导致一切都变得卡顿。然后我切换到 fglrx,所有问题都消失了。在我的桌面电子缩影中一切都很好。

唯一的问题是,当我在办公室、家里和城市之间往返时,我会将这个 Ubuntu SSD 从一台机器转移到另一台机器。并非所有机器都配有 Radeon GPU,这可能会导致 fglrx 驱动程序出现问题。例如,就在今天,我走进一间办公室,将我的 SSD 放入我在那里得到的计算机中;它有一个英特尔 CPU,没有独立 GPU。Grub 会正常显示我的启动选项,但我尝试启动 Ubuntu(即使在“故障安全”图形模式下)会失败。我很幸运有一个实时 USB 记忆棒,因此启动了实时发行版,挂载/chroot 到 SSD,删除/清除 fglrx,然后重新启动。

这其实并不是最佳解决方案。理想的解决方案是创建一个 grub 菜单选项,以便在没有 fglrx 特定的 3D 加速的情况下启动。

更多细节

root@toor:/$ grub-install --version
grub-install (GRUB) 2.02~beta2-9ubuntu1.3
root@toor:/$ uname -orvp
3.16.0-50-generic #67~14.04.1-Ubuntu SMP Fri Oct 2 22:07:51 UTC 2015 x86_64 GNU/Linux

在安装了 fglrx 驱动程序后,在 Intel 机器上启动时会出现一个相当烦人的现象:屏幕上会出现绿色字体,例如“正在启动 Web 服务器 apache...”,无论选择哪个虚拟终端,该字体都会不断出现。登录大约需要 5 分钟,sudo reboot因为带有绿色文本的屏幕每 2-10 秒就会出现一次(变化很大且不可预测的时间)。按 ctrl+alt+del 偶尔不会导致机器重新启动,或者有时它会延迟半分钟左右才响应。但是,当它确实响应时,gdm 启动画面会在重新启动之前短暂出现。

答案1

你应该使用模式设置范围:

模式设置

最新的内核已将视频模式设置移至内核。因此,当 X 服务器启动时,视频卡上硬件特定时钟速率和寄存器的所有编程都在内核中发生,而不是在 X 驱动程序中发生。这使得拥有高分辨率、美观的启动画面和从启动画面到登录画面的无闪烁过渡成为可能。不幸的是,在某些卡上,这无法正常工作,最终会出现黑屏。添加 nomodeset 参数指示内核不加载视频驱动程序,而是使用 BIOS 模式,直到加载 X。

这样你就可以安全地启动,然后交给 X 来选择适合你需求的驱动器。你甚至可以决定不做任何编程,看看简单的命令

    dpkg-reconfigure xserver-xorg

(这适用于 Debian 及其衍生产品,这是您的情况)可能适合您的情况。

编辑:

可以完全禁用图形启动。复制

      cp /etc/default/grub /etc/default/grub-orig

编辑/etc/default/grub,注释掉这一行,

      #GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

修改此行使其看起来像

      GRUB_CMDLINE_LINUX="text"

然后取消注释此行,

      GRUB_TERMINAL=console

保存,运行

       update-grub

重新启动时,如果没有损坏的安装,您将进入文本模式。重新配置 X 后,您可以使用以下方式启动图形会话:

       startx

相关内容