Ahmad Brooks' agent, Gregory Williams, told ESPN on Wednesday that he expects to finalize a deal with the Packers by the end of the day.
Brooks isn't expected to play in Thursday's preseason finale against the Rams but should be in the rotation behind Matthews and Perry for the Sept. 10 season opener against the Seahawks.
The move comes less than a week after Brooks, 33, was released by the 49ers.
The Packers lost Julius Peppers (to Carolina) and Datone Jones (to Minnesota) and hoped a trio of young players -- fourth-round pick Vince Biegel, fourth-year pro Jayrone Elliott and second-year pro Kyler Fackrell -- would fill the void. But Biegel suffered a foot injury in May that required surgery and he hasn't practiced since. He's likely to start the season on the physically unable to perform list, meaning he will miss at least the first six games. Elliott has shown some productivity but is currently dealing with back spasms, and Fackrell (a 2016 third-round pick) hasn't developed yet.
Matthews (groin) and Perry (ankle) were injured in last Saturday's preseason game at Denver, although neither is considered a serious injury.
Brooks, going into his 11th year, spent the past eight seasons with the 49ers. He departed San Francisco third on the list for most sacks in franchise history with 51.5.
Brooks was set to enter the final year of his contract after at least tying for the team lead in sacks in each of the past four seasons. In addition to the sacks, Brooks had 325 tackles, 11 forced fumbles and three interceptions in 120 games with the 49ers.
He was selected to his only Pro Bowl in 2013, when he had a career-best 8.5 sacks.
ESPN's Nick Wagoner contributed to this report.