Dot.Blog

C#, XAML, Xamarin, UWP/Android/iOS

Windows 8.1 : Le grand retour des BSOD !

[new:05/11/2013]Qu’on aime ou pas Windows 8, premier du nom, il faut lui reconnaître une stabilité proche de celle de Windows 7 qui était exemplaire sur ce point. La mise à jour Windows 8.1 semble plus chatouilleuse, testez-là bien avant de la déployer !

Driver Power State Failure

C’est certainement grâce à lui que vous découvrirez à quoi ressemble un Blue Screen Of The Death (BSOD) avec Windows 8.1 …

De nombreux fils de discussion fleurissent sur le Web, tous avec des solutions plus ou moins confuses et aucune qui ne marche vraiment pour tout le monde…

Cela aurait à voir avec la suspension de l’horloge pour les unités mobiles, système maintenu par défaut sur PC. Après modification d’une valeur particulière pour couper ce fonctionnement tout rentrerait dans l’ordre. Ce n’est pas le cas (expérience faite).

Pour d’autres cela serait en relation avec les drivers Intel Smart Connection ou un autre du même acabit, les désinstaller serait la feinte ultime. Ce n’est pas le cas (expérience faite).

D’autres préconisent de désactiver au niveau du BIOS (UEFI) les fonctions spéciales pour Windows 8 si elles existent. Mon UEFI possède ce genre d’options, elles sont toutes désactivées et cela ne change rien.

D’autres sur les forums Android et Xamarin on l’impression d’une malédiction spécifique, ce qui n’est pas vrai, mais qui n’est pas faux non plus…

Une florilège de raisons

Certains forums évoquent des problèmes avec VirtualBox de Oracle. Mais ils ne sont pas les seuls concernés.

Concernant Xamarin, l’évocation d’un problème lié à l’accélérateur Intel de la machine virtuelle des émulateurs Android renforce au fil du temps l’impression que quelque chose n’irait pas avec tout ce qui est virtuel…

Hyper-V le fautif ?

Quand on recoupe tous ces problèmes on en tire la conclusion qu’en réalité ce n’est pas un produit spécifique qui est concerné mais la virtualisation dans son ensemble dont Hyper-V et l’activation VT-x au niveau du BIOS (ou de l’UEFI).

Mon Expérience

J’ai déjà expérimenté ce problème de boot et de BSOD avec Windows 8. Quand ? Dès lors que j’ai installé le SDK Windows Phone 8 (notamment cet été pour faire les vidéos sur le cross-plateforme).

Et quelle est la particularité du SDK Windows Phone 8 ? C’est son .. émulateur qui utilise et donc oblige à l’activation de Hyper-V…

A l’époque j’ai désinstallé le SDK Windows Phone 8 et tout est rentré dans l’ordre.

Aujourd’hui, mon Windows 8.1 est d’une instabilité inconcevable, problèmes de boot, BSOD, un enfer.

Je pense que la désinstallation du SDK Windows Phone 8 donnera le même résultat… Sauf que le SDK Windows Phone 8 est bien présent dans les cases à cocher de l’installateur de VS 2013 mais qu’il n’apparait pas à part dans les désinstallation possible du menu de suppression de programme… Il va falloir galérer je le sens…

Gros problème

Microsoft oblige à utiliser Visual Studio 2013 pour développer du WinRT et pire, que ce VS2013 soit sur une machine Windows 8.1 et non 8 tout court. C’est déjà assez contraignant.

Pour Windows Phone 8.x on a besoin de VS2013 aussi pour bénéficier des derniers aménagements et ceux à venir.

Or l’activation de Hyper-V pour l’émulateur Windows Phone semble être la cause de tous les soucis.

Deux solutions : désinstaller Windows Phone 8 SDK ou bien tout reformater et retourner sous Windows 7. Mais là c’est VS 2013 et la partie WinRT qui ne marcheront plus…

Conclusion

Il y a un sac de nœuds dans Windows 8 et Windows 8.1 avec Hyper-V, ce qui impacte l’émulateur Windows Phone 8, mais semble-t-il tout ce qui touche à la virtualisation, d’où les problèmes relevés par les développeurs Xamarin avec l’accélérateur de l’émulateur Android de Intel, d’où les problèmes relevés par d’autres utilisant pour d’autres raisons VirtualBox de Oracle.

Tout cela n’est pas très sérieux et je m’attendais que le SP1 de Windows 8, enfin Windows 8.1, soit plus achevé. Au lieu du joke énorme du vrai-faux retour du bouton Start je pense qu’ils auraient du travailler à certains vrais problèmes qui existaient déjà dans Windows 8.0.

A l’époque il s’agissait de faire passer ça sur les cartes mères. Or la mienne est récente, haut de gamme et parfaitement à jour. Depuis il y a eu de nouvelles mises à jour mais cela ne change rien. Comme je n’utilise pas du matériel exotique et que je me vois mal changer de carte mère à cause d’un bug de chez Microsoft (changer sans assurance que ça marche en plus !), je me pose la question de savoir comment je vais travailler ? … Ou plutôt en quoi je peux finalement travailler.

Par chance pourrait-on dire, aucun de mes clients ne me demande de projets en Windows Phone 8 pour l’instant. Je n’ai qu’à supprimer le SDK et l’activation de Hyper-V et je devrais retrouver la stabilité comme avec Windows 8.0. Mais visiblement on ne peut désinstaller le SDK WP8 comme sous VS2012, il n’apparait pas dans le menu de désinstallation de la machine… Mais est-ce bien sérieux tout cela ? Est-ce comme cela qu’on va inciter les développeurs à travailler sur Windows Phone 8 ?

Plus loin, d’autres sont concernés, même ceux faisant de l’Android avec Xamarin pour peu qu’ils installent l’accélérateur d’émulateur Intel. Eux peuvent toujours revenir aux émulateurs de base, un peu plus lent, mais ça marche (et ça m’arrange car de l’Android, ça on m’en demande…).

Et tous les autres avec leurs problèmes sous VirtualBox pour d’autres raisons, d’autres OS ?

Sans Windows 8.1 même avec VS2013 vous ne pourrez plus faire de projets Windows Store WinRT. Avec Windows 8.1 et VS 2013 vous ne pourrez pas faire de projets Windows Phone 8 sinon gare aux BSOD !

Revenir à Windows 7 / VS 2012 est une option intéressante : vous pourrez faire du WPF, du Silverlight et du Xamarin avec accélérateur Intel… Mais pas de Windows Phone 8 certainement et en tout cas pas de WinRT, il faut un Windows 8.1…

Dans notre métier on appelle ça un dead lock, un verrou mortelle. Situation bien connue de ceux qui se sont essayés au multithreading !

Microsoft ne semble pour l’instant pas réagir plus que ça (quelques MVP Windows se dévouent bien sur certains forums mais avec des solutions incomplètes, voire mauvaises).

Tout cela est un peu bancale et je vous invite à vous méfier si vous désirez installer Windows 8.1 et vous en servir. Car comme d’habitude, Microsoft vous dira qu’une installation “propre” de leur OS ne pose aucun problème ni BSOD. Et c’est vrai. Mais un OS tout seul, sans ses outils de développement, sans la virtualisation, c’est un peu comme une boîte de conserve sans ouvre-boîte : ça ne sert à rien.

Et Microsoft a créé un tel entonnoir que revenir à Windows 7 vous causera de toute façon des soucis par l’impossibilité de programmer pour WinRT par exemple.

En clair, Microsoft vous force à abandonner le développement Windows Phone 8 à cause d’un émulateur mal ficelé ou d’un bug de l’OS avec Hyper-V sous Windows 8.1 ou vous demande d’abandonner aussi le développement WinRT si vous restez en Windows 8.0. Situation qui revient alors à rester en Windows 7 c’est le plus stable… mais sans aucun moyen de développer pour les plateformes que Microsoft tient absolument à imposer ! Un non-sens total.

Bref tout cet amateurisme m’énerve. Et je vous le dit : en quoi que vous soyez, ne vous pressez pas pour changer, car mieux vaut encore un vieux Visual Studio sous Vista pour faire du WPF qui marche que l’ensemble des derniers zinzins de Microsoft qui ne marchent pas ….

Si vous avez expérimenté des BSOD ou des reboot intempestifs, des problèmes de drivers ou autres avec Windows 8.1 n’hésitez pas à laisser un commentaire, à force on finira bien par trouver d’où cela vient exactement avec l’espoir de pouvoir tout faire marcher…

Stay Tuned !

blog comments powered by Disqus