New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
nixos/opengl: enable S3TC by default #82630
Conversation
LGTM. Did similar research to file the linked bug. Wikipedia has more primary sources that confirm the patent expiration. |
I'm actually curious whether libtxc_dxtn is still needed for anything these days. I can't figure out what or how it would get loaded by anything (it's not a build time dependency, so presumably there is some kind of plugin system that would load it?) and it doesn't seem like the package is carried by the likes of Debian and others anymore. In any case, I'm in strong favor of removing the option and either 1. getting rid of libtxc_dxtn; 2. just using the s3tc version by default. The current option is technical debt that ~nobody will use and can easily be implemented with local overrides if people really strongly care. |
More digging: it seems like the only reason for libtxc_dxtn being useful was some wine-staging patch that could use it sometimes, and that patch was also picked up by Lutris. This matches the build-time dependencies in nixpkgs. There could be other run-time dependencies, but I would expect the runtime path thing was also for wine-staging. Looking at the wine-staging docs from 2017:
However, wine-staging stopped using libtxc_dxtn around 2018: wine-staging/wine-staging#56 Gentoo went through the same deprecation process, though they had to keep the package for compatibility with old overlays: https://bugs.gentoo.org/654466 Let's just kill the package and all uses of it? |
S3TC should now be built directly with mesa. This old split is obsolete, I believe, as well as S2TC. Maybe we do need to tweak our mesa derivation, though. I don't even know off the top of my head how to test the support. |
Release notes for 17.3.0 said:
I believe this NixOS option should be deprecated, and we could probably even remove expressions for the two libraries. I don't feel strongly about backporting to 20.03. |
Agreed re: killing the packages; closing this PR in favour of that (might not get around to submitting a new one soon, so anyone else can feel free to open a replacement too). |
Just sent one FYI. |
Context: discussion in NixOS#82630 Mesa has been supporting S3TC natively without requiring these libraries since the S3TC patent expired in December 2017.
Context: discussion in NixOS#82630 Mesa has been supporting S3TC natively without requiring these libraries since the S3TC patent expired in December 2017. (cherry picked from commit 1b89bff)
Motivation for this change
The patents expired in 2017:
https://www.phoronix.com/scan.php?page=news_item&px=S3TC-Patent-Expires-Next-Week
https://www.phoronix.com/scan.php?page=news_item&px=S3TC-For-Mesa-Finally
Resolves #82627.
Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)