Normal mapping pixelates textures

After implementing normal mapping I’m seeing a pixellation in my textures. I’m trying to understand how to fix this.

Texture loading options:

        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);

Without normal mapping

With normal mapping

It’s hard to say without having any details about how normal mapping is implemented.

What texture filters are you using on the normal map? If you’re using GL_NEAREST, then the pixel boundaries in the normal map will show up in the lighting. If you’re using a linear filter, are you normalising the values obtained from sampling the normal map? The result of linear interpolation between unit-length vectors typically doesn’t have unit length.

I’m using the above mentioned texture parameters. So GL_LINEAR is the filture I’m using. I tried normalizing after reading from the normal map, but to no effect. After reading up I see something about sRGB could be the reason?

I’m doing normal mapping in a standard way. Computing the tangents, bitangents, and then uploading them and forming the TBN matrix. Then sampling from the normal texture, and converting it to TBN space. It overall looks correct. It’s just the pixellation that’s the issue.