Sachverhalt: A. M._, geboren 1974, meldete sich am 13. Dezember 2006 bei der Invalidenversicherung zum Leistungsbezug an. Die Abklärungen der IV-Stelle des Kantons St. Gallen ergaben, dass er unter einer Halslymphknotentuberkulose gelitten hatte und deswegen am 15. Juli 2005 hatte operiert werden müssen (Neck dissection und Fistelumschneidung). In der Folge litt er unter Schulterschmerzen. Die Arbeitsstelle als Packer bei der B._ AG war ihm am 28. August 2006 aus Rationalisierungsgründen gekündigt worden. Die IV-Stelle liess den Versicherten neurologisch durch Frau Dr. med. H._ (Gutachten vom 27. August 2007), und psychiatrisch durch Frau Dr. med. G._ (Gutachten vom 21. Januar 2008 und vom 13. Oktober 2009, Ergänzung vom 20. November 2009), abklären. Mit Verfügung vom 29. März 2010 lehnte sie den Anspruch auf eine Invalidenrente ab. B. Die dagegen erhobene Beschwerde wies das Versicherungsgericht des Kantons St. Gallen mit Entscheid vom 26. Juni 2012 ab. C. M._ lässt Beschwerde in öffentlich-rechtlichen Angelegenheiten führen mit dem Antrag, unter Aufhebung des angefochtenen Entscheides sei ihm mindestens eine Viertelsrente zuzusprechen, eventualiter sei die Sache zu weiteren Abklärungen zurückzuweisen. Des Weiteren ersucht er um Gewährung der unentgeltlichen Rechtspflege. Die vorinstanzlichen Akten wurden eingeholt. Ein Schriftenwechsel wurde nicht durchgeführt.