The 31-year-old leaves Lyon three years after joining them from Benfica in a €4.5m deal.
With the Brazilian only having one year left on his OL deal, Wolves are getting him at a discount for €2m.
— Wolves (@Wolves) September 6, 2020
Marcal made 11 appearances in Ligue 1 last season and a further seven in the Champions League.
He performed well in a back three for Lyon after the resumption of play in France, particularly in the Champions League.
Rudi Garcia started Marcal in Lyon’s matches against Juventus, Manchester City and Bayern Munich.
Marcal, who can play as a left wing-back or centre-back, departs Lyon after 75 appearances.