COMPTOIR
register

Un patch pour Mass Effect corrigeant un bug mystérieux avec les CPU AMD

Univers (génial) mis à part, le portage du premier Mass Effect (initialement une exclusivité Xbox) sur PC n’est pas franchement merveilleux et de nombreux bugs variés subsistent aujourd’hui encore dans ce jeu de 2007, et qui a d’ailleurs bien mal vieilli. L’un d’entre eux a fait surface en 2011 avec le lancement des CPU Bulldozer (Steamroller, Excavator, etc.) d’AMD et affecte aujourd’hui toujours uniquement les processeurs de la maison, y compris ceux de la génération Ryzen. Spécifiquement, le problème en question transforme tous les personnages en un tas de pixels grossiers bien moche ! Un cas assez rare, les glitchs spécifiques à un hardware donné n’ont rien de nouveau, mais la majorité des bugs de ce genre ont généralement pour origine le GPU, et non le CPU.

 

mass effect bug black blog cpu amd

 Ouais, pas très beau tout ça !

 

Bien entendu, les joueurs affectés — certainement relativement rares à cette époque où Intel dominait encore outrageusement, mais sûrement moins aujourd’hui — n’ont pas attendu toutes ces années pour trouver des parades plus ou moins efficaces, comme dans cette vidéo. Mais un développeur de jeu/moddeur/" rétro-ingénieur » nommé Adrian, aussi connu sous les noms Silent et CookiePLMonster, est véritablement allé au fond du problème — il a d’ailleurs rédigé un blog très (très) détaillé dans sa quête. Grosso modo lié au fait que les CPU AMD FX et Ryzen ne supportent pas le jeu d’instruction 3DNow ! et que le moteur du jeu a du mal avec le jeu d’instruction AMD SSE2, voici le résumé des détails techniques expliquant l’origine du bug graphique et la solution trouvée  :

 

  • We verified that the game does not use 3DNow! instructions directly (only the system DLLs do).
  • We found out that disabling PSGP fixes the issue on AMD processors.
  • Using PIX, we found the culprit—NaN values in pixel shader constants.
  • We nailed down the origin of those values to D3DXMatrixInverse.
  • We fuzzed that function and found out that it does not give consistent results between Intel and AMD CPUs when SSE2 instructions are used.
  • We accidentally found out that XMMatrixInverse does not have this flaw and is a viable replacement.

 

En conséquence, l’auteur a publié son patch compatible avec les versions Steam et Origin du jeu, il ne nécessite aucun programme tiers pour son installation et règle (enfin) définitivement le vilain bug ! Bravo à lui, et dire qu’il n’a fallu attendre que 9 ans, gg BioWare !  Bon, une bonne excuse pour revisiter l’esprit tranquille ce classique Space Opera (et pourquoi pas toute la trilogie) sur votre config' Ryzen flambante neuve ?

 

Le blog avec tous les détails techniques et le lien pour le téléchargement du patch.
Un poil avant ?

MODDING • SS Mods - Project Odyssey

Un peu plus tard ...

Un PC SFF signé Huawei avec de l'APU Renoir desktop dedans ?

Les 10 ragots
Les ragots sont actuellement
ouverts à tous, c'est open bar !
par Un ragoteur qui aime les BX embusqué, le Jeudi 23 Juillet 2020 à 16h22  
par ilyon le Jeudi 23 Juillet 2020 à 11h04
Bravo EA...
Dans 10 on pourra choisir la langue et les sous-titres de notre choix sans mod.
Pour ce coup ce n'est pas EA mais bioware.
par ilyon, le Jeudi 23 Juillet 2020 à 11h04  
Bravo EA...
Dans 10 on pourra choisir la langue et les sous-titres de notre choix sans mod.
par Jemporte, le Mercredi 22 Juillet 2020 à 14h33  
Ils ont enfin supprimé la ligne de code "if CPU=AMD use 3DNow".
par Aquina, le Mardi 21 Juillet 2020 à 19h31  
par Un ragoteur RGB embusqué le Mardi 21 Juillet 2020 à 16h41
Je l'ai fini au moins deux fois et j'ai un vague souvenir de ce bug, mais pas qu'il été récurent au point d'être réellement gênant.
Ma mémoire me joue peut être des tours
Perso ça me le fais uniquement sur Noveria et Ilos...... Ça fait bizarre le premier coup mais en fait c'est pas trop gênant
par Un ragoteur RGB embusqué, le Mardi 21 Juillet 2020 à 16h41  
Je l'ai fini au moins deux fois et j'ai un vague souvenir de ce bug, mais pas qu'il été récurent au point d'être réellement gênant.
Ma mémoire me joue peut être des tours
par Matthieu S., le Mardi 21 Juillet 2020 à 10h51  
par lord Varices le Mardi 21 Juillet 2020 à 07h08
C'est les proc AMD qui n'utilisent pas 3DNOW! ou c'est le jeu? C'est pas trop ce que je lis dans l'encart et de base 3DNOW! c'est un jeu d'instruction AMD, il est vieillot mais je crois que c'est toujours supporté.
AMD avait annoncé en 2010 que les futurs processeurs ne supporteront plus 3Dnow!, d'où l'apparition du bug dès 2011 avec Bulldozer et jusqu'à aujourd'hui.
par Deus, le Mardi 21 Juillet 2020 à 08h11  
Genial ! En esperant qu'il soit intégré à l'exellent projet A.L.O.T. (le modpack par exellence de Mass Effect)
par ArKoS, le Mardi 21 Juillet 2020 à 07h35  
Merci bien pour l'info ! J'y rejoue de temps en temps et ça me sera utile <3

NB : désolé pour "signaler un truc" je me suis trompé de bouton
par lord Varices, le Mardi 21 Juillet 2020 à 07h08  
C'est les proc AMD qui n'utilisent pas 3DNOW! ou c'est le jeu? C'est pas trop ce que je lis dans l'encart et de base 3DNOW! c'est un jeu d'instruction AMD, il est vieillot mais je crois que c'est toujours supporté.
par Un ragoteur viking en Île-de-France, le Mardi 21 Juillet 2020 à 06h16  
Salut tt le monde! Je comprends mieux pourquoi quand j'ai rejoué au jeu avec mon Ryzen... Bah... J'ai arrêté à cause de ce bug... Avec mon phenom, je n'avais jamais eu ce problème.

J'ai cru que cela venait un codage vieillissant, plus adapté au PC moderne.

Merci pour l'info, je vais voir cela de plus près, mass effect étant une franchise dont je ne me lasse pas.