我想知道如何防止我在进入 ubuntu 11.10 时打开 Ati 卡。我的 bios 只允许我关闭英特尔高清卡或让两者保持打开状态,但我想知道是否可以在不访问 bios 的情况下完全关闭。(如果不使用 Vgaswitcheroo 就可以关闭,那就更好了!)
我的系统是:Acer 3820tg - 英特尔酷睿 i3 350M、2.26 Ghz L3、Ati Mobility Radeon HD 5470 高达 2138 MB 超大内存、13.3 英寸高清 LED LCD、4GB DDR3、SSD corsair 60GB sata 2。
编辑:我现在知道答案中缺少什么了!我只需要做的是:我编辑了 /etc/rc.local 文件并添加了以下几行:
睡 6
回显 ON > /sys/kernel/debug/vgaswitcheroo/switch
- 回显 IGD > /sys/kernel/debug/vgaswitcheroo/switch
- 回显关闭> /sys/kernel/debug/vgaswitcheroo/switch
然后保存文件并重新启动。不需要再做任何事情。现在应该可以只使用英特尔卡。顺便说一句,我没有将 Radeon 驱动程序列入黑名单,因为这样做会使我的 ATI 卡唤醒。(使用它需要您自担风险。我只在我的系统中测试过)
第二次编辑:对于使用此软件来使用英特尔卡的用户,请注意,因为将 sleep 6 添加到 /etc/rc.local 可能会禁用您的声卡,从而使 ubuntu 仅在声音设置中显示虚拟卡(我注意到这个问题在 12.04.2 硬件堆栈启用版本之后的 ubuntu 版本中存在)。要解决此问题,您需要删除 sleep 6。
答案1
你可以将其内核模块列入黑名单。你可以通过编辑 blacklist.conf 来实现。
sudo vi /etc/modprobe.d/blacklist.conf
您可能应该添加类似这样的内容:
blacklist fglrx
blacklist radeon
alias radeon off
alias lbm-radeon off
这将把 ATI 专有驱动程序 (fglrx) 及其开源驱动程序列入黑名单。
编辑:
好的,那么使用 vgaswitcheroo 怎么样?在 exit 0 之前将这些行添加到您的 /etc/rc.local 文件中:
modprobe radeon
echo OFF > /sys/kernel/debug/vgaswitcheroo/switch
那应该可行。
答案2
我有一台 HP Pavilion dm4t-1100(也配有 ATI 5470),BIOS 中有高级隐藏模式,其中有更多选项。进入 BIOS 时按住 A 键(例如,如果您使用 F10 进入 BIOS,请同时按下 F10 和 A 键),您应该会看到更多菜单。
高级模式为该卡提供了以下选项:dGPU、iGPU、混合。
混合选项可在两张卡上供电,因此在启动 Linux 后将能够访问两者,并且 vgaswitcheroo 处于活动状态,并且在启动 X 之前,您可以切换到您想要的一个。
对我来说,仅 dGPU 选项不起作用 - 笔记本电脑冻结,屏幕变黑,大写锁定 LED 闪烁,我必须关闭电源,之后一切都恢复为默认设置 - 混合。
iGPU 仅工作并关闭 ATI,因此启动后 lspci 不再显示 ATI 卡 - 仅 Intel 工作并且 vgaswitcheroo 根本没有启动(/sys/kernel/debug/vgaswitcheroo 目录根本不存在)。
答案3
为了真正关闭显卡,你需要加载 intel 和 radeon,以便初始化 vgaswitcheroo 基础设施,然后你就可以运行
echo OFF | sudo tee /sys/kernel/debug/vgaswitcheroo/switch
这将关闭 vgaswitcheroo 认为未使用的任何 GPU;在本例中,它将是您的 Radeon。您需要在每次启动时执行此操作;它在重新启动后不会持久。