Les derniers contenus liés au tag Microsoft

Afficher sous forme de : Titre | Flux Filtrer avec un second tag : AMD; ARM; DirectX; DirectX 12; GDC; Intel; Mantle; Nvidia; Qualcomm; Windows;

Pilotes Radeon et GeForce pour Far Cry 5

Publié le 27/03/2018 à 16:49 par Guillaume Louel

A l'occasion du lancement de Far Cry 5, AMD et Nvidia proposent coup sur coup de nouveaux pilotes optimisés pour ce titre. Chez AMD tout d'abord, outre le support optimisé de ce titre (AMD note malgré tout que ces pilotes peuvent causer des clignotements dans ce jeu en multi GPU après avoir utilisé Alt+TAB), on retrouve également quelques correctifs.

Pour Final Fantasy XV, certains effets de lumières sur les arbres à certains endroits de la carte ont été corrigés, tout comme un bug qui pouvait causer un crash à l'arrivée du second chapitre. Dans la liste des "problèmes corrigés", le constructeur parle aussi d'une baisse de performances sur certaines charges "blockchain" comparé aux pilotes précédents, ce qui nous rend assez circonspects, on ne sait pas si la chose est corrigée ou si c'est ce pilote qui est plus lent. On notera également dans les problèmes connus que ces pilotes peuvent causer un crash système après une utilisation prolongée et simultanée de 12 GPU (!) pour des tâches compute. Ces pilotes 18.3.4 sont téléchargeables sur le site du constructeur .

Chez Nvidia, il s'agit des pilotes 391.35 qui apportent un support pour ce titre. Quelques bugs ont été corrigés, un problème d'Alt-TAB sous Diablo III en SLI avec V-Sync actif qui pouvait planter le jeu, et une fuite mémoire de GeForce Experience lorsque l'on utilise la fonction "freestyle". Plus important, le pilote apporte des correctifs de sécurité pour ses pilotes. 7 CVE sont pointés par Nvidia, plusieurs s'attaquant au pilote "noyau" (nvlddmkm.sys) avec des risques importants d'escalade de privilèges.

Contrairement aux autres périphériques sous Windows dont les pilotes fonctionnent dans l'espace mémoire utilisateur (une restriction imposée par Microsoft pour réduire les plantages), les GPU disposent encore d'un petit pilote niveau "noyau", ce qui permet théoriquement aux pilotes GPU de planter complètement votre système (ou d'être un vecteur de failles) contrairement à un pilote USB par exemple, quelque chose dont Microsoft se plaint souvent même s'ils sont responsables de cette situation !

Certaines failles concernent également le pilote en espace mémoire "utilisateur". Nous ne pouvons que vous conseiller de mettre à jour vos pilotes qui sont téléchargeables ici pour Windows 7 , et là pour Windows 10 .

Microsoft annonce DirectX Raytracing

Publié le 20/03/2018 à 15:16 par Guillaume Louel

Microsoft a profité de l'ouverture de la GDC pour annoncer une nouvelle API, DirectX Raytracing (DXR) . Comme son nom l'indique, il s'agit d'une nouvelle API qui vient s'ajouter aux autres API DirectX pour standardiser l'utilisation de certaines techniques dites de raytracing. Le raytracing tente pour rappel de représenter de manière plus exacte le parcours de la lumière pour proposer des rendus réalistes. L'inconvénient de la technique étant son coût généralement prohibitif, même si des approximations existent.

A l'inverse, le rendu 3D dans les jeux actuel est basé sur la rasterisation, la projection d'une scène 3D en 2D avant d'y appliquer les traitements pour obtenir la couleur des pixels, avec des techniques plus ou moins avancées de gestion de lumière (les premiers jeux 3D se contentant d'imiter les effets de lumière en les dessinant directement dans les textures, tandis qu'aujourd'hui les pixel shaders s'appliquent sur l'image 2D ce qui limite les possibilités même si les développeurs sont extrêmement créatifs). Comme le rappelle le sous titre de l'annonce de Microsoft, "3D Graphics is a lie" (le rendu 3D est un mensonge) !

Avec DXR, Microsoft souhaite donc ajouter un peu de "réalisme" avec une petite dose de raytracing. Dans le détail, il s'agit d'une API complémentaire qui ajoute de nouvelles possibilités pour utiliser le raytracing par dessus les pipelines actuels de rasterisation. En pratique, DXR s'appuie sur une représentation de la géométrie pour lancer des rayons. Par dessus cette représentation, chaque objet ou groupe d'objet pourra définir des "raytracing shaders" et des textures spécifiques à utiliser. Une fois ceci crée, le lancé de rayons est appliqué, l'API définie les cas d'intersection, de non intersection, et de "presque" intersection (near miss), en gérant les cas ou les rayons rebondissent sur plusieurs surfaces (multi bounce).

Techniquement, le lancer de rayon est effectué a partir de la "caméra" dans la variante utilisée par DirectX, et peut se faire pour une sélection de pixels de l'écran ou la totalité (Microsoft prend l'exemple de ne le faire uniquement que pour les objets dont la surface est réfléchissante).


Un exemple de rendu DXR avec le moteur SEED d'EA, Project PICA

D'un point de vue compatibilité avec le matériel existant, Microsoft renvoi simplement vers les constructeurs pour les détails. Certains matériels sur le marché disposeraient déjà d'un support de DXR (on ne sait pas lesquels), et Microsoft semble proposer un mode de rendu alternatif s'appuyant sur Direct Compute pour fonctionner sur tout le matériel existant aujourd'hui (avec un niveau de performances on l'imagine réduit).

AMD nous a indiqué qu'ils collaboraient "étroitement" avec Microsoft "pour les aider à définir, améliorer et prendre en charge l'avenir de DirectX 12 et du ray tracing", un propos qui évite soigneusement de prononcer l'acronyme DXR. AMD dispose déjà d'une API de ce type utilisable sur de multiples plateformes avec Radeon Rays . Interrogé sur la question spécifique de l'accélération matérielle, AMD nous a indiqué qu'ils proposeraient, à un moment non défini, un pilote qui proposera une accélération DXR (au delà du mode "fallback" utilisant Direct Compute et qui lui marche sur tous les GPU, mais probablement en étant peu utilisable). Ce qui sera accéléré, et quelles cartes seront concernées n'est pas encore défini non plus selon le constructeur. On semble sentir une certaine précaution pour ne pas dire frilosité de la part de la société sur sa communication, il nous est difficile de savoir s'il s'agit d'un manque de préparation sur le sujet, d'un désaccord avec Microsoft sur certains choix effectués, ou d'autre chose.

Nvidia de son côté a évoqué son implémentation sous le nom de RTX, cette dernière ne s'appliquera qu'à compter des GPU Volta et ultérieurs (soit uniquement la Titan V dans les GPU "joueurs" actuels de la gamme du constructeur). Nvidia présente la technologie là aussi de manière assez vague, sous entendant que leur implémentation sera utilisable "via" DXR, mettant son API en avant sans que l'on sache si c'est simplement dans un but de démarcation compétitive ou autre chose. Là encore à l'image d'AMD, la communication des deux principaux constructeurs ne va pas exactement dans le même sens que celle de Microsoft (les relations entre Microsoft et les responsables GPU ont toujours été particulières, chacun tentant de tirer la couverture de son côté et de créer un avantage compétitif, que ce soit les constructeurs de GPU l'un face à l'autre, ou Microsoft à proposer une API et des fonctionnalités qui ne soient pas cross-platform).

Du côté des développeurs, Microsoft annonce que les moteurs Frostbite, SEED (plus haut), Unity et Unreal Engine proposeront une forme de support de DXR. Futuremark devrait également proposer un test de ce type pour une version de 3D Mark.

Radeon Software 18.3.3 beta avec Vulkan 1.1

Publié le 20/03/2018 à 13:27 par Guillaume Louel

AMD a mis en ligne ces dernières heures une nouvelle version beta de ses pilotes graphiques. On retrouve comme souvent un support "optimisé" pour de nouveaux titres, cette fois ci il s'agit de Sea of Thieves et A Way Out.

Côté bugs, un problème de stuttering intermittent sous Forza Motorsport 7 à été corrigé. Pour Final Fantasy XV, ce sont des clignotements et objets disparaissant qui ont été résolus pour les configurations Multi GPU. Enfin pour Battlefront 2, c'est un plantage au lancement du titre, là encore sur des configurations Multi GPU, qui a été corrigé.

L'autre nouveauté de ces pilotes est qu'ils apportent un support de la version 1.1 de Vulkan, l'API "bas niveau" de Khronos Group. Cette nouvelle version avait été annoncée il y a quinze jours de cela  apporte plusieurs nouveautés dont les "Subgroup Operations" pour partager des données entre plusieurs tâches sur un GPU et une nouvelle version du langage intermédiaire de shaders, SPIR-V 1.3 (et de ses outils). Nvidia avait de son côté proposé un pilote beta spécifique pour Vulkan 1.1 au moment de l'annonce .

L'autre objectif pour Khronos Group est un support multi plateforme universel. Quelques jours avant l'annonce de cette version 1.1, la "Khronos Vulkan Portability Initiative"  avait été annoncée avec pour but de créer des couches de compatibilités fines s'appuyant sur les API bas niveau natives des plateformes, comme DirectX 12 pour Windows ou Metal chez Apple.

Pour rappel, Apple gère le déploiement (et le co développement) des pilotes graphiques pour sa plateforme contrairement à ce que l'on voit sous Windows, et il n'y a pas de support natif dans l'OS pour Vulkan. Microsoft n'en propose pas non plus pour Windows, le support y étant assuré par les pilotes directement (cf cette actualité), comme cela était le cas pour OpenGL dans les dernières versions de Windows.


Avec LunarG et MoltenVK, Valve annonce 50% de performances en plus sous Dota 2 par rapport à l'implémentation OpenGL sur Mac

Proposer des couches intermédiaires est donc une solution assez pragmatique, car si en général ces couches sont assez coûteuses, toutes ces API bas niveau sont excessivement proches dans leurs caractéristiques (elles sont après tout de bas niveau et "très proches du métal" avec des similarités larges) ce qui limite grandement l'impact sur les performances. Valve et Brenwill Workshop ont rendu open source LunarG  (un SDK MacOS Vulkan spécifique développé par Valve) et MoltenVK  (une couche de traduction Vulkan vers Metal pour MacOS et iOS) en partenariat avec Khronos. Vous pouvez retrouver une présentation de cette initiative sur cette page  qui évalue également la portabilité pour DirectX 12. Une autre initiative est celle de Mozilla  dans le cadre du développement de son API cross plateforme bas niveau gfx-rs .

Le téléchargement de ces pilotes AMD s'effectue sur cette page du site du constructeur .

Microcode final pour Spectre chez Intel

Publié le 15/03/2018 à 18:45 par Guillaume Louel

Intel vient de publier quelques informations  concernant les failles de sécurité Spectre et Meltdown. Après deux bons mois de développement, le constructeur a publié mardi soir une nouvelle version de ses microcode  qui contient la version définitive des correctifs pour Spectre. On se souviendra que Microsoft avait désactivé fin janvier son patch pour la variante 2 de Spectre suite aux problèmes de stabilité rencontrés dans certaines situations avec le microcode d'Intel.

L'attente aura été assez longue et la communication d'Intel au compte goutte, mais ce microcode final résout les problèmes de stabilités. Le correctif a été déployé d'après Intel sur toutes les architectures lancées ces cinq dernières années. En pratique, le patch Spectre est désormais disponible pour tous les CPU à partir de Sandy Bridge (les Core "2nde génération" comme les Core i7 2600K) en version classique et HEDT. A ce que nous avons pu voir, l'impact sur les performances ne changerait pas réellement entre la version finale et la version beta de ce microcode que nous avions testé il y a plus d'un mois de cela.

En parallèle, Intel annonce avoir effectué des modifications pour ses prochaines architectures. Le prochain processeur serveur Xeon, connu sous le nom de code Cascade Lake sera protégé nativement contre Meltdown (une faille qui ne touche qu'Intel côté x86) et la variante 2 de Spectre. Intel dit avoir "ajouté des "murs protecteurs" entre les applications et les niveaux de privilèges utilisateurs pour créer un obstacle contre les mauvais acteurs". En plus des Cascade Lake, Intel dit que des processeurs Core 8eme génération attendus pour la deuxième moitié de l'année proposeront aussi ces correctifs. Intel ne précise pas quels CPU sont concernées exactement, la logique voudrait que le constructeur parle de Cascade Lake-X, la déclinaison HEDT de Cascade Lake, même si le constructeur n'a pas pu nous le confirmer.

Corriger de manière matérielle Spectre V2 sera particulièrement important pour les nouvelles architectures d'Intel puisque Skylake, la dernière architecture en date, est assez difficile à sécuriser autrement qu'avec la méthode utilisée par Microsoft pour Windows (communément appelé patch IBRS). Une solution alternative développée par Google, retpoline , est plus difficile à appliquer sur les Skylake dont les mécanismes d'exécution spéculative diffèrent. L'impact de l'IBRS est particulièrement important sur les changements de contextes et les IO pour rappel. Intel n'a pas précisé le coût éventuel sur les performances de ses "murs protecteurs".

Les BIOS incluant ces mises à jour vont être rendus disponibles par les constructeurs dans les jours à venir.

Microsoft désactive la protection Spectre v2

Publié le 30/01/2018 à 16:37 par Guillaume Louel

Après de nombreux OEM, Microsoft s'est également décidé a désactiver son patch pour la faille Spectre (Variante 2) suite aux problèmes de plantages notés avec les "nouveaux" microcode d'Intel.

Pour rappel, suite à l'annonce des failles Spectre et Meltdown, Intel avait déployé une mise à jour de microcode début janvier pour certaines de ses architectures (Haswell et supérieurs côté client). Une mise a jour qui ajoute de nouvelles possibilités pour les développeurs d'OS pour contrer Spectre (Variante 2), comme le détaillait Intel dans ce PDF  :

These capabilities will be available on modern existing products if the appropriate microcode update is applied, as well as on future products, where the performance cost of these mitigations will be improved. In particular, the capabilities are:

  • Indirect Branch Restricted Speculation (IBRS): Restricts speculation of indirect branches.
  • Single Thread Indirect Branch Predictors (STIBP): Prevents indirect branch predictions from being controlled by the sibling Hyperthread.
  • Indirect Branch Predictor Barrier (IBPB): Ensures that earlier code's behavior does not control later indirect branch predictions.

Si l'on dispose du nouveau microcode (fourni par une mise à jour de BIOS), et des dernières mises à jour Windows Update, on avait, jusqu'à ce week-end tout du moins, un patch pour Spectre Variante 2 actif sous Windows, basé sur les fonctionnalités exposées ci-dessus.


Le logiciel InSpectre permet de vérifier la présence des patchs mais également de les activer et désactiver, tout ceci étant contrôlé - comme toutes choses sous Windows - par une clef dans la base de registre, bien évidemment...

Utiliser ces nouvelles fonctionnalités exposées par les mises à jour de microcode est la voie choisie par Microsoft pour combattre Spectre V2. Sous Linux, d'autres pistes comme retpoline ont été mises en place, mais elles requièrent, pour protéger complètement le système, de recompiler intégralement toutes les applications. Quelque chose de difficilement applicable au monde Windows, Microsoft ayant rejeté l'idée d'implémenter retpoline dans ses compilateurs. Reste qu'en pratique, retpoline semble avoir ses limites puisqu'il ne protège pas correctement les processeurs Skylake (et dérivés) qui ont un mode de fonctionnement différent dans leur spéculation d'exécution par rapport aux architectures Intel précédentes.

Mais comme on vous l'indiquait il y a plus d'une semaine, Intel avait admis que sa mise à jour de microcode posait des problèmes de stabilité sur certains systèmes, dans un premier temps uniquement sur Haswell et Broadwell, avant d'admettre le 17 janvier que le problème touchait non seulement les architectures plus récentes (Skylake et dérivées) mais aussi les plus anciennes (Sandy Bridge par exemple, même si curieusement le constructeur n'avait pas déployé publiquement de microcode pour ces architectures !).

Le 22 janvier, Intel avait finalement indiqué avoir trouvé la cause du problème "pour Haswell et Broadwell" (!), recommandant à ses partenaires privilégiés de tester les nouveaux microcode beta (disponibles uniquement pour les gros clients), et aux autres "de suivre les meilleurs pratiques de sécurités et de garder leurs systèmes à jour" (!).

Dans la foulée, nombre d'OEM ont désactivés les mises à jour de microcode qu'ils livraient, soit avec leur système d'exploitation (c'est le cas de Red Hat  et VMware ), mais également des revendeurs de PC (au hasard HP ) qui ont retiré les BIOS qui incluaient le nouveau microcode d'Intel.

Et ce week-end, c'est finalement Microsoft qui a également retiré, non pas la mise à jour du microcode (il ne semble pas que Microsoft l'ait distribuée via Windows Update, même si cela est de plus en plus complexe à confirmer avec les méthodes de distribution opaques utilisées), mais directement son patch pour Spectre V2 ! Le constructeur a déployé le KB4078130  pour désactiver le patch Spectre V2 de tous ses systèmes d'exploitations, et mis à jour ses recommandations  (ici pour les serveurs ).

Chez Intel, alors que l'on attendait une version finale du microcode qui aurait résolu le problème, c'est silence radio, ou presque. Sur le site Security Center , on trouve tout de même une mise à jour des recommandations qui parle de "nouveaux développements avec Microsoft" et pointe vers la désactivation du patch.

Intel ne donne pas vraiment de nouvelle information, clarifiant simplement que s'il pensait le 22 janvier avoir identifié la cause des "redémarrages intempestifs" sur Broadwell et Haswell, il sous-entendait (ce n'était pas précisé dans le communiqué original) continuer de travailler pour confirmer si ce correctif fonctionnait également sur ses autres plateformes également touchées.

Malheureusement, le constructeur ne confirme ni si le correctif est efficace sur Haswell et Broadwell, ni s'il a progressé sur la question des autres plateformes ! On pointera juste qu'Intel indique toujours demander à ses (gros) partenaires de continuer a tester les "early versions" de ses microcode afin "d'accélérer leur sortie". Confirmant donc qu'ils ne sont toujours pas finalisées alors que leur validation était attendue la semaine dernière.

Si l'on conjugue l'absence d'une nouvelle communication concrète de la part d'Intel (malgré le dépassement des dates de validation promises) avec le fait que Microsoft désactive complètement son patch, il nous est difficile de conclure autre chose que la disponibilité d'un nouveau microcode n'est pas imminente.

Dans l'attente, nous vous conseillons bien entendu de continuer à garder à jour votre système d'exploitation, et pour ceux qui auraient mis à jour leur BIOS avec le nouveau microcode d'Intel (ce qui ne concerne que les cartes mères Haswell et supérieures, pour rappel), de revenir vers une version précédente du BIOS pour éviter les problèmes de stabilité.

Top articles