有没有一种简便的方法可以在Intel图形卡上启用S3TC?


18

S3TC是获得专利的用于压缩纹理的图形机制。它拥有广泛的专利,因此发行版(包括Ubuntu)不附带免费驱动程序。封闭源代码驱动程序启用了此功能,因为公司(AMD / Nvidia)支付了专利使用费并承担责任。

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

从我读到的文章(相当古老的文章)来看,打开S3TC要求获取S3TC的源代码mesa,打补丁,重新配置它,然后重新编译所有内容。简而言之,听起来像是一团糟。

  • 还是这样吗?
  • 有没有人很好并且在S3TC开启的情况下创建了PPA?

Answers:


16

从12.10开始,libtxc-dxtn-s2tc0默认情况下已安装该功能。


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

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

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


抱歉,这听起来很菜鸟,但我应该在哪里设置force_s3tc_enable?我认为这是某种配置文件,但是该文件在哪里?我已经安装了libgl1-mesa-dev。
skytreader

1
正如我提到的,它是一个en.wikipedia.org/wiki/Environment_variable-您可以通过多种方式进行设置,最简单的方法是在命令行上-因此您可以运行force_s3tc_enable=true my_gl_app而不是仅仅运行my_gl_app
RAOF

2

安装driconf,当您键入driconf时,将出现一个对话框。使用该对话框启用S3TC。那就是我所做的,并且我的英特尔图形卡现在可以用酒玩一些游戏。


1

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

sudo apt-get install libtxc-dxtn-s2tc0

这对英特尔驱动程序有效吗?
曼努埃尔
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.