From LuxRender Wiki
Normal mapping is the process of using a texture to vary the surface normal of an object. It can be used to add details to a lower-poly mesh. Either from a generated texture, or using data baked from sculpting or displacement.
In LuxRender, normal maps are loaded via the normalmap map texture type, which is attached to the bump/normal mapping slot of a material. The normalmap texture is similar to the regular image map texture, but is specialized for loading normal maps. It should always be used with gain and gamma = 1.0. Some exporters hardcode this and hide the options in the UI anyway.
Unlike "regular" bump maps the scale of a normal map is relative. Thus you'll mostly want to to leave the scale/height setting at 1.0/1m for normal maps.
The object must have UV coordinates for using a normal map. At this time, LuxRender only supports tangent space normal maps. This page provides a good summary of the various kinds of normal maps: http://www.pixologic.com/docs/index.php/Understanding_Normal_Maps
Using baked normal maps
Extra care has to be taken when using baked normal maps. In order to prevent seams, enable the "Generate Tangents" option. Currently we can only ensure that normal maps baked with Blender or xNormal will be seamless, however it may work for other generators. Please note that this does not apply to non-baked normal maps.
Mixing with other textures
The normalmap texture acts a special float texture, and can be mixed with other float textures using the mix, scale, band, and multi mix textures to produce complex bump maps. Multi mix can be especially useful if you want a light procedural bump/height map on a surface that you also baked down a normal map for. You can attach both textures to a multi mix texture, and set the weight of the bump/height map to something small, such as .001, and leave the normal map weight at 1, as described above.
Please note that the normalmap texture returns zero when it's not used as a bump map.