Welsh and English, of uncertain Celtic origin.
Garth is a shortened form of Gareth.
Gary is a frequent pet name for Gareth although as a given name Gary is almost certainly of independent origin.