的fglrx在锁屏或盖关闭冷冻时选择iGPU的

fpghost

我的系统具有混合(并且我相信是无混合的,即只有集成卡实际上已连接到显示器)图形。第一张卡是Intel HD 4400,第二张卡是AMD Radeon HD 8670M(太阳能系统系列,不是OLAND)。因此,当前开放源代码radeon驱动程序不支持该卡,因此我不得不使用专有fglrx驱动程序。

为什么不没有fglrx就关闭dGPU卡呢?

我不需要精美的图形,只要将分立的ATI卡正确关闭并且不会使电池过热/进食,我很乐意将其关闭选项做到不fglrxpxpress似乎仅限于我:我没有vgaswitcheroo开关(甚至之前fglrx被安装过),我只能推断,这是因为radeon驱动程序还不支持我的卡/不正确加载它,但看到我的问题这里有更多关于我尝试过的东西。acpi_call据报道,其他类似方法充其量只能是“概念验证”,而最危险则是危险,因此,我宁愿冒险使用它们。像更可靠的项目bumbleebee仅是nvidia。

只需让AMD卡无人驾驶

仅仅依靠i915intel驱动程序就可以正常工作,没有错误,没有问题,但是AMD卡随后被弃置并可能导致过热/电池耗尽,因此我对此并不满意。

带有fglrx的Ubuntu 12.04 LTS

我从这里开始,iGPU在选择时遇到了一个错误每当屏幕锁定,笔记本电脑盖关闭或什至在计算机因xscreensaver安装类似功能而不启用锁屏功能而处于非活动状态时,此错误就会显现出来它会导致黑屏仅带有可移动的光标;切换tty和back不会恢复,因此需要从tty重新启动。它并非每次都发生,而是相当规律地发生,至少一天一次或两次。所有保存的工作都将丢失。

fglrx在回购中尝试了这两个功能,并在AMD网站上尝试了最新的13.10。没变化。

当改为选择dGPU时(从AMD Catalyst控制中心,或最终由pxpress选择),则不会发生此错误,但是我遇到了另一个错误,这里不再赘述。

带有fglrx的Ubuntu 13.10

这里有一个非常相似的错误,但不那么严重。完全相同的条件,即锁屏,盖子关闭,不活动(如果正在使用xscreensaver)。这次冻结的屏幕不是黑色的,而是冻结时桌面的图片,同样带有可移动的光标。在这里,我只尝试了最新的fglrx AMD驱动程序13.10。

同样,仅i915驱动程序没有问题(no fglrx),而dGPU选定驱动程序也没有问题

我尝试过的一些事情:

1)禁用vsync我在compiz设置管理器中都尝试过此操作,aticonfig --sync-vsync=off然后重新启动。没有变化

2)关闭DPMS。Option "DPMS" "false"xorg.conf监视器节中。(当然,我也更改了电池和AC的gnome设置“什么也不做/不挂起”)。没有变化

3)Option "AIGLX" "off"在的服务器标志中xorg.conf没有变化

4)修改atieventsd使其在Ubuntu上可以正常使用,请在此处查看我的文章而且,没有它就可以运行。没有变化

5)用选项启动

Option      "Capabilities" "0x00000800"
Option      "KernelModuleParm" "locked-userpages=0"
Option      "NoAccel" "True"

xorg.conf设备节中。没有变化

6)使用nomodeset作为内核参数启动没有变化

7)acpi从中关闭交互aticonfig

--acpi-services=off
--acpi-display-switch=off

没有变化

为什么只与Intel一起使用?

我不明白的一件事是为什么它只能与inteli915驱动程序一起使用。我以为pxpress可以在启动时将控制权交给该驱动程序,因此,如果i915单独使用它,我希望它可以与pxpress selection一起使用igpu

我知道fglrx安装其自带libGL还实行,但它切换回时,英特尔卡选择了老股票MESA libGL函数实现(CF /usr/lib/fglrx/switchlibGLpython脚本)。

因此,在igpu选择后,它应该完全等同于fglrx重新启动后的寿命

fpghost

经过长时间的研究,我开始发布关键点:当fglrx / pxpress加载Intel驱动程序时,它使用UXA加速方法加载,而默认情况下(在运行13.10的Haswell系统上,在fglrx之前安装)英特尔驱动程序将使用SNA加速方法加载

我通过启动时进行了测试xorg.conf,如下所示:

Section "Device"
        Identifier      "Intel Graphics"
        Driver          "intel"
        Option          "AccelMethod"  "UXA" # (fglrx uses this) I can see the bug
        #Option          "AccelMethod"  "SNA" #(default) no bug!
EndSection

Section "Monitor"
           Identifier      "Configured Monitor"
EndSection

Section "Screen"
        Identifier      "Default Screen"
        Monitor         "Configured Monitor"
        Device          "Configured Video Device"
EndSection

现在,即使是这个英特尔xorg.conf,在盖上一两个盖子后也给出了冻结错误。但是使用完全相同的配置文件进行引导,仅使用

Option          "AccelMethod"  "SNA" 

无论有多少盖关闭/屏幕锁定,我都没有错误(无论如何,这是驱动程序的默认方法,这就是为什么我感到困惑,因为它使我误以为英特尔驱动程序和fglrx都很好污染的东西)。

现在,我意识到这是一个英特尔驱动程序问题,通过谷歌搜索我找到了解决方法。创建一个文件~/.drirc以配置DRI设置,其中包含

<device screen="0" driver="dri2">
        <application name="Default">
                <option name="vblank_mode" value="0"/>
        </application>
</device>

这将关闭vsync(该设置使您的GFX卡与屏幕刷新速率同步,而不是以其固有帧速率加速,以避免撕裂)。注意:没有必要vsync在我的OP中使用aticonfig关闭它,因为这只会关闭dGPU而不是Intel卡。我不确定为什么用Compiz Settings Manager关闭它的尝试为什么没有奏效。

即使使用该UXA方法,关闭vsync这种方式也可以停止崩溃,即使对于fglrx xorg.conf

更好的办法是以某种方式配置pxpress为使用SNA选项加载英特尔驱动程序,请参阅此处的我的文章

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章