Pour si retrouver parmi tous ces pilotes, il faut déjà comprendre qu'il y a généralement deux parties. Une partie de le noyau (kernel) qui s'occuppent des fonctions de bases et de communiquer avec la carte: nouveau, radeon, amdgpu, .... Une autre partie en espace utilisateur qui s'occupe des fonctions plus complexes, en particulier l'implémentation des API 3D (OpenGL (ES), Vulkan). Mesa regroupe la partie espace utilisateur pour tous les pilotes libres et contient plusieurs "sous-pilotes" (nv50, nvc0, r600, radeonsi, ...). Les pilotes propriétaires viennent avec leur propre implémentation d'OpenGL puisque mesa ne sait pas leur parler.
amdgpu est particulier puisqu'il est utilisable à la fois par un pilote libre (mesa radeonsi) ou un pilote propriétaire (amdgpu-pro). Donc la réponse à "Mesa ou amdgpu-free ?" est "les deux" puisqu'ils marchent ensemble.
Je te rajoute comme tableau : le support des cartes AMD par les pilotes libres, les versions d'OpenGL supporté par les pilotes Mesa