From Middle Dutch guyte, probably from ghoiten (“to berate”), gu(i)ten (“to make fun of”), possibly from Old Norse gautan (“drivel”), gauta (“to talk a lot”), connected with Old High German gauzen, gäuzen (“to namecall”), all ultimately from Proto-Indo-European *ǵʰeh₂w- (“to yawn, gape”). Doublet of geus.
Also compared is Norwegian gutt (“boy”), but this could be a reverse borrowing.