Tuto : Comment retrouver la mise en veille de Windows !



Avez vous déjà rencontré ce problème ? La mise en veille qui ne se met plus en place. Ca a l'air d'un souci tellement banal qu'on ne se douterais pas une seconde que cela soit aussi Complexe de le réparer... Vous pourrez vous arracher les cheveux longtemps avant de trouver l'origine du problème et peut etre même finir par Réinstaller Windows Et le pire ? C'est qu'à mesure que vous réinstallerez alors tout vos petits logiciels , le problème réapparaitra Forcement , vous faisant crier de désespoir ...ou pire , abandonner et vous contenter d'éteindre l'écran manuellement comme je l'ai fait pendant plusieurs années ...  Mais la solution existe ... et après avoir passé des semaines à étudier le souci , j'ai enfin tout compris et je vais vous la donner... Vous êtes sur InfoDeGeeks et vous lisez le tuto "Comment retrouver la Mise en Veille de Windows"


Première Etape : PowerCFG , Notre plus bel allier !

Pas de Blabla inutile , on rentre tout de suite dans le vif du sujet , vous devez tout d'abord savoir ce qui bloque votre "SleepMode". Que ce soit l'écran qui doive s'éteindre ou tout l'ordinateur qui passe en veille , le souci est de toute facon le même , Windows considère que quelque chose provoque une "input" quelque part et que donc , vous n'avez pas arrêté l'activité sur votre ordinateur. Bien , on vas regarder ce qui provoque ca. Tout d'abord , les premières étapes (celles que vous avez probablement déjà vue dans d'autre sites mais il vaut mieux commencer par là). En tout premier , Fermez votre session SANS éteindre votre ordinateur et vérifiez que vous passez bien en Veille , si ce n'est pas le cas , alors vous avez surement zapé un truc directement dans les configs de base ... Je ne vous ferez pas l'affront de vous demander si vous avez bien paramétré la veille ici :



ou là :


Mais bon , vérifiez quand même. Bien si par contre , avec la session fermé , vous basculez bien en veille , c'est qu'on a un souci directement dans la session (99% des cas). Alors c'est partie. Pour commencer , je me doute que ces astuces , vous les avez déjà vue 10 fois et pourtant votre ordinateur ne bascule toujours pas en Veille alors, on vas maintenant identifier les premiers Blocants (Ceux qui de toute façon sont à corriger). Executez PowerShell (Admin) et lancez la commande suivante : powerCFG /requests


Ici , le but du jeu , ca vas être de vider TOUTES les lignes pour que le message Aucune apparaisse partout. Si vous voyez par exemple Realtech High Definition , alors il faudra désinstaller puis réinstaller les drivers de votre Carte Son Realtech.

Si par contre vous voyez : MusoCoworker Alors là , vous avez un des Bugs les plus célèbres de Windows 10. c'est un Module interne qui est censé passer Derrière Windows Update dans la liste des priorités internes du kernel, mais qui reste au premier plan. Résultat , Windows Update "bataille" tout le temps contre lui pour repasser devant dans la liste des priorités de service , et ca bloque la mise en veille. C'est très con et en plus pour le solutionner Définitivement , c'est on ne peut plus simple ...
Executer => services.msc => Windows Update => Arreter => Propriétés => Automatique => Démarrer... en faisant cela , il vas repasser en premier dans la liste des priorités Windows , et MusoCoWorker vas se taire et accepter son second role comme un gentil chienchien pour toujours (oui même après un redémarrage , ce bug n'apparaitra plus , il suffit de le faire une seule fois)...

Bien maintenant , Refaites powerCFG /requests , normalement MusoCoWorker a disparue.
Si vous avez Désinstallé puis Réinstallé Realtech mais qu'il apparait toujours , alors c'est probablement un autre soft (qui n'apparait pas dans PowerCFG) qui est responsable. On vas regarder cela ... De toute facon , si vous avez les lignes toutes vides (Aucune) mais que ca ne bascule toujours pas en Veille , c'est que vous avez besoin de la seconde étape...

Seconde Etape : Les Programmes TrayBarre , ces plaies qu'il faut panser !

Si tout est bien configuré dans la première étape et que PowerCFG n'indique plus rien à part un résidu de Flux Audio (Realtech par exemple) , c'est qu'on est face à un programme discret de la TrayIcone qui refuse de laisser se reposer votre PC. Alors sur la toile , vous allez voir souvent parler de MSI AfterBurner  ou RivaTuner FPS Server , et bien , non , cela fait bien longtemps que ces Softs ont été corrigé et ne provoque plus du tout de problème , d'ailleurs quand vous trouverez la vrais source du problème , vous serez surpris.

Parfois , c'est un combiné de soucis , dans mon cas par exemple (que nous allons considérer ici comme canonique) , c'est Virtual Desktop (Logiciel d'accès distant à Oculus Quest) et Parsec (Prise de main Distance avec Support jeux 3D). Dans ces cas là , il vous faudra tout simplement malheureusement leur demander de ne plus se lancer au démarrage de votre PC. C'est un peut triste , je vous l'accorde. Mais n'hésitez pas à réessayer de temps en temps , après quelques mises à jour. Ils finiront bien par patcher leur souci ... Vous pourrez alors faire un raccourcis et utiliser un autre soft pour pouvoir les lancer au besoin (par exemple AnyDesk fonctionne très bien et ne bride pas la Veille en mode service). Si vous n'avez plus aucun Soft dans la TrayBarre mais que la veille n'apparait toujours pas , alors vous avez peut-être une surcouche de type ShadowPlay (GeforceExperience Replay) , on vas regarder cela ...

Troisième étape : Nvidia ShadowPlay , le cas particulier ...

Dans le cas de GeForce Experience , La veille est parfois bloquée dès que vous activez ShadowPlay. Essayez de le désactiver , et si votre Veille réapparait , (à condition d'avoir bien suivie les étapes précédentes bien entendu pour être sure que c'est le dernier problème à corriger) alors c'est qu'il faut le traiter ! Pas de panique , je ne vais pas vous demander de vous en passer comme avec Parsec ou Virtual Desktop. Pour ShadowPlay et bien que cela ne semblait pas être le cas , il existe bien une alternative plutôt que de le désactiver. Oui , car se passer du replay dvr 30 s et du Streaming Alt-Z , vous en conviendrez , ce serait très triste.




Alors sachez que la solution n'a pas été apporté par Nvidia ... Ils n'ont JAMAIS Corrigé leur Bug depuis plus de 4 ans et sur les Forums , ca gueule FORT ! C'est effarant. Pourquoi ? Parce que ce Bug n'arrive pas à tous. En effet , si vous n'avez qu'une seule manette de branchée , alors il y a peut de chance que cela soit votre cas. Mais si vous avez plusieurs éléments USB (Casque USB , JoySticks , WebCam) , vous êtes susceptibles d'être concernés. Par quel problème me direz vous ? tout simplement quand ShadowPlay est activé , il considère que certains périphériques USB "bougent" et activent de "l'Input" tout le temps... Conséquence , il bloque la veille et passe outre les paramètres d'énergie (Gestionnaire de Periphérique => Gestion Alimentation). Et le pire , c'est que cet élément n'apparaitra même pas dans PowerCFG. Alors il existe une seule façon de faire , il faut Patcher le fichier DLL libcef.dll de Nvidia soit même car Nvidia ne le fera probablement JAMAIS ! (Vue que ce problème est marginal d'après eux ... pfff) Bref ...

Voici comment faire : 
Etape 1 : Lancer PowerShell en Admin
Exécuter cette commande : Set-ExecutionPolicy Unrestricted , Dire oui pour tous
Quitter PowerShell.
Désinstaller Totalement GeForce Experience (Geforce Exeperience disparait des deux options TrayIcone , ne laissant que les paramètres de la carte graphique accessibles).
Télécharger la toute dernière version : https://www.nvidia.com/fr-fr/geforce/geforce-experience/download/    Installer GeForce Experience. désactiver ShadowPlay si jamais il est lancé.
Fermer GeForce Experience.
Créer un Fichier NotePad avec ce contenu : 

============================================================

## Make sure NVIDIA GeForce Experience overlay is disabled before running this script.
## PowerShell must be run as Administrator.
## This was tested against GeForce Experience:
##  - 3.20.5.70
##  - 3.20.5.83

$path = Split-Path ((Get-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\GeForceExperience\Shell\Open\Command).'(default)' -replace '"',"")
$file = [System.IO.File]::ReadAllBytes("$path\libcef.dll")
$offset = 0x61e0ae8
if($file[$offset] -eq 4 -and $file[$offset+2] -eq 5 -and $file[$offset+4] -eq 8) {
    Stop-Process -Name "NVIDIA GeForce Experience" -ErrorAction SilentlyContinue
    Stop-Process -Name "NVIDIA Share" -ErrorAction SilentlyContinue
    [System.IO.File]::WriteAllBytes("$path\libcef.dll.bak", $file)
    $file[$offset] = 6    # Replace usage 0x04 (Joystick) with keyboard
    $file[$offset+2] = 6  # Replace usage 0x05 (Gamepad) with keyboard
    $file[$offset+4] = 6  # Replace usage 0x08 (Multi-axis Controller) with keyboard
    [System.IO.File]::WriteAllBytes("$path\libcef.dll", $file)
} else {
    Write-Output "Your libcef.dll doesn't seem to match the version this file was tested against."
    Write-Output "We have have two options: use heuristics to patch the libcef you've got: https://github.com/nuzayets/rawinput-debug/blob/master/universal_heuristic_patch_libcef.ps1"
    Write-Output "Or download a version of a reasonable vintage and patch that: https://github.com/nuzayets/rawinput-debug/blob/master/universal_patch_libcef.ps1"
}

==========================================================
Nommer ce fichier PowerScript.ps1 et copier ce fichier ici :
"C:\ProgrammeFiles x64\NVIDIA Corporation\Nvidia Geforce Experience\"
Lancer PowerShell en Admin
Se déplacer là où vous avez le fichier PowerScript.ps1 (C:\ProgrammeFiles x64\NVIDIA Corporation\Nvidia Geforce Experience\)
Exécuter cette commande : PowerShell PowerScript.ps1
Normalement vous voyez des fichier bouger si vous aviez une fenêtre dans le dossier nvidia ouverte.
Exécuter ensuite la commande : Set-ExecutionPolucy Restricted   .   Dites Oui pour Tous
Fermer PowerShell
Activer ShadowPlay , et voilà , il n'empêche plus la Mise en veille...

Oui , c'est foufou , j'en conviens. Mais c'est la seule solution , car il ne faudra pas esperer que Nvidia modifie grand chose. Le pire , c'est que les Mises à Jour Nvidia n'incluent même plus ce fichier , ils le laisse ainsi depuis toutes ces années alors que pourtant il est utilisé tout le temps par ShadowPlay ... Une hérésie... Bref. On passe à la conclusion ...

En Conclusion : Comme vous l'aurez compris les problèmes de Veille dans Windows sont beaucoup plus vicieux qu'ils n'y paraissent et souvent la solution du gestionnaire des périphériques (Gestion de l'alimentation , ce périphérique peut sortir l'ordinateur de la veille) ne donne rien. Et si je devais résumer , je dirais d'abord , on test les paramètres de base , ensuite on contrôle qui bride le tout grâce à PowerCFG, puis on élimine tout les programmes discrets un à un et enfin , on contrôle les Sur-Couches de type ShadowPlay pour les patcher au besoin. Normalement , la mise en veille devrait réapparaitre comme par magie. Vous l'aurez compris , hélas pour ce problème une réinstallation de Windows n'est souvent pas la solution , car si vous aviez pris l'habitude d'un soft ou d'un autre , il recommencera à brider la mise en veille dès qu'il sera réinstallé. Il est important alors de savoir comment l'identifier , et PowerCFG ainsi que votre logique dans la TrayBarre devrait vous y aider. Merci d'avoir tout lu !

PS : Vous noterez que je ne parle pas de la commande powerCFG /requestsoverride qui devait soi-disant permettre d'ignorer certaines requêtes. Mais de toute évidence , et après de nombreuses heures à tout tester pour confirmer les messages croisés sur les forums , cette commande , c'est du vent ... Elle ne change rien ! Autant essayer de désinstaller les programmes gênants ... C'est beaucoup plus sérieux.

Source de la solution ShadowPlay : https://details-of-note.blogspot.com/2020/12/nvidia-3-year-old-bug.html
Cette solution a été découverte par un Développeur du nom de Dmitry Nuzayets

Aucun commentaire:

Enregistrer un commentaire

Remarque : Seul un membre de ce blog est autorisé à enregistrer un commentaire.