Create a seamless tileable texture

Gimp is the only tool you need. First, take an image of your material. For example, this is a scan of an ISOPLY sample. (1)

Let see how a texture is wrapped repeatly "as is".
Tile this image 4 times with the Gimp filter "Map -> Small tiles" ("Carte -> Petit raccords" in french) (2)

We can see seams between each repetition. It's not so beautiful.

Blurring pictures
Thus, you would rather blur the image sides to make it tileable without seams. Use the Gimp filter "Map -> Tiler" ("Carte -> Rendre raccordable" in french) (3)

And then tile it again to look if the result is good.(4)

As you can see, we don't see seams anymore. But there is still a dark piece which bump into our eyes. You should take care your image has not a too constrasted area to avoid this effect.

Resnthetiser plugin for gimp
You could also use the resynthesiser plugin for Gimp (5):

And then tile it again to look if the result is good.(6)

It makes pretty good results as you can see but it's a quite slow software.

Links

 * Seamless texture with Gimp tutorial (ita)