I think I figured this out. libnux does some elaborate adjustments to texture coordinates to make sure texels are always sampled at the midpoint, for clean nearest sampling, but this is wrong: the fragment sampling grid already ensures that! So the elaborate adjustment does the opposite: the sampling positions are moved to the boundaries between the texels, and that is why we're seeing this flaky behavior with different hardware.
I think I figured this out. libnux does some elaborate adjustments to texture coordinates to make sure texels are always sampled at the midpoint, for clean nearest sampling, but this is wrong: the fragment sampling grid already ensures that! So the elaborate adjustment does the opposite: the sampling positions are moved to the boundaries between the texels, and that is why we're seeing this flaky behavior with different hardware.