Sachverhalt: A. Am 30. April 2003 ersuchte D._, geboren 1971, um Leistungen der Invalidenversicherung. Die IV-Stelle des Kantons Solothurn wies das Gesuch um Arbeitsvermittlung mit Verfügung vom 5. Oktober 2007 ab, sprach ihm aber ab 1. Mai 2003 eine ganze und von 1. Juni bis 30. September 2004 eine halbe Invalidenrente zu (Verfügungen vom 26. Juni 2006, bestätigt mit Einspracheentscheid vom 5. September 2007). Das Versicherungsgericht des Kantons Solothurn hob die Rentenzusprechung mit Entscheid vom 18. August 2008 auf und wies die Sache zu weiterer medizinischer Abklärung an die IV-Stelle zurück; auf die von D._ dagegen erhobene Beschwerde in öffentlich-rechtlichen Angelegenheiten trat das Bundesgericht mit Urteil 8C_779/2008 vom 8. Januar 2009 nicht ein. Gestützt auf das polydisziplinäre Gutachten des Instituts X._ vom 25. November 2008 und dessen Ergänzung vom 2. Juni 2009 sprach die IV-Stelle mit Verfügung vom 19. April 2010 wiederum ab 1. Mai 2003 eine ganze und von 1. Juni bis 30. September 2004 eine halbe Invalidenrente zu; einen Anspruch ab 1. Oktober 2004 verneinte sie erneut. Am 6. Juli 2010 lehnte die IV-Stelle den Anspruch auf berufliche Eingliederung ab. B. Das Versicherungsgericht des Kantons Solothurn vereinigte die gegen die Verfügungen vom 19. April und 6. Juli 2010 erhobenen Beschwerden in einem Verfahren und wies sie mit Entscheid vom 13. Dezember 2011 ab, soweit es darauf eintrat. C. D._ lässt Beschwerde in öffentlich-rechtlichen Angelegenheiten führen mit dem Antrag, es seien der vorinstanzliche Entscheid aufzuheben, die Rentenzusprechung für den Zeitraum von 1. Mai 2003 bis 31. Mai 2004 bei einem Invaliditätsgrad von 100 % zu bestätigen und ihm ab 1. Juni 2004 eine Dreiviertelsrente sowie ab 1. Oktober 2004 mindestens eine Viertelsrente zuzusprechen. Zudem ersucht er um unentgeltliche Rechtspflege. 