Right. If your image is not a power of two, Panda will have to resize it at runtime, which will introduce some blurriness. It’s best to make your textures always be a power of two, but if you can’t or won’t for some reason, you can minimize the effect of this scaling by putting:
textures-power-2 up
in your Config.prc file, which will tell Panda to scale the textures up to the next larger power of two (instead of down), which should avoid any loss of detail (though you may have slight fuzziness from the fact that the pixels no longer match up one-to-one). Another option, if you have a very recent graphics card, is to put:
textures-power-2 none
which disables this scaling altogether, but requires that your graphics card supports non-power-of-two textures.
Other tricks are to disable mipmap filtering, or even any kind of filtering at all, on your texture with a pair of Python calls like this: