Sachverhalt: Sachverhalt: A. Das Kreisgericht Rheintal verurteilte X._ am 3. November 2004 wegen schwerer Widerhandlung gegen das Betäubungsmittelgesetz und mehrfacher Urkundenfälschung (teilweise als Zusatzstrafe) zu 2 Jahren und 2 Monaten Gefängnis (abzüglich 30 Tage Untersuchungshaft) und verwies ihn für 6 Jahre des Landes. Das Kantonsgericht St. Gallen verurteilte ihn im Berufungsverfahren am 7. Dezember 2005 wegen schwerer Widerhandlung gegen das Betäubungsmittelgesetz (Art. 19 Ziff. 1 i.V.m. Ziff. 2 lit. a BetmG) und Urkundenfälschung (Art. 251 Ziff. 1 StGB) zu einer Gefängnisstrafe von 20 Monaten (mit Anrechnung von 30 Tagen Untersuchungshaft). Es verwies ihn für 6 Jahre des Landes, schob die Landesverweisung aber mit einer Probezeit von 3 Jahren auf. Das Kantonsgericht St. Gallen verurteilte ihn im Berufungsverfahren am 7. Dezember 2005 wegen schwerer Widerhandlung gegen das Betäubungsmittelgesetz (Art. 19 Ziff. 1 i.V.m. Ziff. 2 lit. a BetmG) und Urkundenfälschung (Art. 251 Ziff. 1 StGB) zu einer Gefängnisstrafe von 20 Monaten (mit Anrechnung von 30 Tagen Untersuchungshaft). Es verwies ihn für 6 Jahre des Landes, schob die Landesverweisung aber mit einer Probezeit von 3 Jahren auf. B. X._ erhebt staatsrechtliche Beschwerde mit dem Antrag, das Urteil des Kantonsgerichts aufzuheben, die Sache zur Neubeurteilung zurückzuweisen und der Beschwerde die aufschiebende Wirkung zu erteilen. Das Kantonsgericht verzichtet auf eine Vernehmlassung. Die Staatsanwaltschaft wendet sich nicht gegen die Gewährung der aufschiebenden Wirkung und beantragt, die Beschwerde abzuweisen, soweit darauf einzutreten sei. Das Bundesgericht erteilte der Beschwerde am 1. Mai 2006 die aufschiebende Wirkung. 