This is the result of a simple test scene: a cube.
In Blender: Select the highpoly cube, then select the lowpoly cube, and bake the normals with “selected to active”.
In Xnormal: import the low poly, import the highpoly, generate the normal map.
Perhaps I missed something?
Ok, it’s solved. I don’t know if it’s a bug or a feature, but the result in Blender depend by the image used for the texture. A 32 bit image will produce the “dull” normal map, a non-32 image will produce exactly the same results as xnormal.
Is the image you are using transparent? The presence of an alpha channel might be causing your normal map to come out that way.
Linear RGB maybe? Try it.