有没有简单的方法在英特尔显卡上启用S3TC?

S3TC是一种用于压缩纹理的专利图形机制。 它拥有如此广泛的专利,因此发行版(包括Ubuntu)不会发布其免费驱动程序。 封闭源驱动程序已启用此function,因为公司(AMD / Nvidia)支付专利使用费并承担责任。

但我目前正在使用英特尔图形芯片组。 具体来说,i915。 驱动程序是完全免费和开源的。 虽然我相信硬件可以处理S3TC,但驱动程序是随Ubuntu一起提供的驱动程序(或通过更新),因此S3TC已关闭。

从我读到的(相当老的post)转向S3TC需要获得mesa的源代码,在S3TC中修补,重新配置它然后重新编译它。 简而言之,这听起来像一团糟。

  • 这仍然是这样吗?
  • 有没有人在那里很好并创建了一个开启了S3TC的PPA?

从12.10开始,默认安装libtxc-dxtn-s2tc0 ,提供此function。


Mesa不需要重建来启用S3TC支持,并且已经有一段时间了。 S3TC有两种选择

  1. 在环境中设置force_s3tc_enable=true以宣传S3TC支持。 在这种情况下,S3TC纹理将传递给硬件。 Mesa不支持使用S3TC压缩纹理,这是GL扩展规范所要求的,因此可能会出现问题。

  2. 使用外部libtxc-dxtn库进行S3TC压缩。 如果存在,Mesa将尝试加载它,并提供完整的S3TC支持。 这至少在xorg-edgers中可用。

安装driconf,当您键入driconf时,将出现一个对话框。 使用该对话框启用S3TC。 这就是我所做的,我的英特用显卡现在能用葡萄酒玩一些游戏。

也许您缺少安装正确的库。 如果是库,请执行以下操作:

 sudo apt-get install libtxc-dxtn-s2tc0