Dans un monde parfait, les développeurs de Wine seraient en mesure de suivre une spécification fixe avec laquelle ils pourraient construire un remplacement entièrement compatible binaire pour Windows. Mais ce n'est pas le cas. Ils connaissent les APIs publiques et savent ce que ces APIs sont supposées faire. Tout le reste (c'est-à-dire cómo ils le font) est une supposition éclairée.
L'idéal serait également que Windows fonctionne de manière constante, ce qui n'est pas le cas. Certains éléments ont été greffés sur un code très ancien. Les développeurs d'applications peuvent contourner ces bogues lorsqu'ils créent leurs applications, mais cela signifie également que Wine doit tout suivre, même les bizarreries et souvent par essais et erreurs (les utilisateurs soumettant des bogues pour des applications spécifiques).
Rien est garanti. Même les choses qui fonctionnent parfaitement, voire mieux que natives, ne sont pas garanties de le rester. Souvent, dans le monde du Wine, pour corriger quelque chose, vous devez casser une demi-douzaine d'autres choses... Vous espérez juste que vous (ou quelqu'un d'autre) trouverez ces nouveaux bogues avant que le code n'atteigne une version stable.
Si vous voulez un support stable à long terme pour un lot d'applications, regardez la branche commerciale de Wine : CrossOver .