The two sides reached agreement on a two-year, $9 million deal, sources told ESPN's Adam Schefter.
Schaub, 36, is coming off his 13th NFL season after signing a one-year, $1.75 million contract with the Falcons for 2016. He saw mop-up duty in four games while backing up Ryan, completing 1 of 3 passes for 16 yards.
Schaub, originally a third-round draft pick of the Falcons in 2004, has played in 145 career NFL games and is 47-45 as a starter with the Texans (2007-13) and Baltimore Ravens (two games in 2015) and Falcons (two games in 2004-05).
In his career, Schaub has passed for 24,867 yards with 133 touchdowns and 90 interceptions. The two-time Pro Bowl selection led the NFL with a career-high 4,770 passing yards in 2009 with the Texans.