Three-coloring triangle-free graphs on surfaces VII. A linear-time   algorithm
  We give a linear-time algorithm to decide 3-colorability of a triangle-free graph embedded in a fixed surface, and a quadratic-time algorithm to output a 3-coloring in the affirmative case. The algorithms also allow to prescribe the coloring of a bounded number of vertices. 
Zdenek Dvorak and Daniel Kral and Robin Thomas
cs.DM math.CO