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

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

S3TC 是一种用于压缩纹理的专利图形机制。它的专利范围非常广泛,以至于发行版(包括 Ubuntu)不会将其与免费驱动程序一起提供。闭源驱动程序启用此功能是因为公司(AMD/Nvidia)支付专利使用费并承担责任。

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

从我读到的内容(相当老的帖子)来看,打开 S3TC 需要获取源代码mesa、修补 S3TC、重新配置它,然后重新编译它。简而言之,这听起来很乱。

  • 现在还是这样吗?
  • 是否有人好心地创建了开启了 S3TC 的 PPA?

答案1

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


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

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

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

答案2

安装 driconf,当您输入 driconf 时,将出现一个对话框。使用该对话框启用 S3TC。这就是我所做的,我的英特尔显卡现在可以用 wine 玩一些游戏了。

答案3

可能是您没有安装正确的库。如果是库,请执行以下操作:

sudo apt-get install libtxc-dxtn-s2tc0

相关内容