For a cap to be legal, (i) players would have to form a national union like the NBA Players Association, then (ii) the union would bargain with the conferences--P2 or P4, probably--for a cap.
Or Congress could create an anti-trust exemption. (But getting this out of the group that took 6 months to pass a budget and is now facing another Republican mutiny as a consequence is not the way to bet.)
If the players were to go with the NBA model, the players would negotiate for a percentage of "college football related revenue." But a union could just as easily decide, like the MLBPA, that they prefer the free-for-all of the transfer portal (free agency) and no cap.