3 Yıllık Windows Sorunu, Yalnızca 1 Byte'lık Bir Dosyayla Çözüldü

81
14
8
1
1
Bir yazılım mühendisi, şans eseri denk geldiği uyku moduna geçmeme hatasının üzerine düşerek sorunun kaynağını buldu ve üstesinden geldi. Yazılım geliştiricisi, sorunun yalnızca 1 byte'lık dosyayla çözülmesini sağladı ve çözümü paylaştı.

Bir Windows kullanıcısıysanız ve bilgisayarınıza herhangi bir kontrolcü bağladığınızda bilgisayarınızı uyku moduna alamıyorsanız meraklanmayın; bu sorun aslında 3 yıldan beri kullanıcılar tarafından aktarılıyor. Ancak bugüne kadar sorunun kaynağı tam olarak bilinmediğinden çözülebilmiş de değildi.

Kanada'da yaşayan Dimitry Safonov isimli bir yazılım geliştiricisiyse bu sorunun üstesinden gelmeyi başardı. Dimitry, bu sorunla Microsoft Flight Simulator oynadığı gün karşılaştı. Logitech uçuş kontrolcüsünü bilgisayara bağlayan Dmitry, oyundan çıktıktan sonra bilgisayarının uyku moduna geçmediğini fark etti.

Hatayı çözmesi 2 gün sürdü:

joystick uyku modu

Dmitry'nin bilgisayarıysa birkaç dakikanın ardından otomatik olarak uyku moduna geçmek üzere programlanmıştı. Bu ilginç sorunla karşılaşan Dmitry, sorunu çözmek için çalışmalarına başladı. Sorunun daha önce pek çok kullanıcı tarafından da paylaşıldığını gören Dmitry, iki gün süren test ve yanılma süreçleri en sonunda üç yıldır çözülmeyen sorunu çözmeyi başardı.

İnternette pek çok kullanıcı sorunun bir şekilde NVIDIA'nın ShadowPlay'ine bağlıyordu. Bilgisayara eğer bir kontrolcü bağlıysa ve ShadowPlay aktifse bilgisayar uyku moduna geçmiyordu. ShadowPlay devre dışı bırakıldığında sorun ortadan kalkıyordu. Dmitry, bu sorunu NVIDIA'ya bildirse de kendisi de sorunla uğraşmak istedi.

En sonunda Dmitry, sorunun RAW Input tarafından kaynaklandığını keşfetti. NVIDIA'nın uygulaması, RegisterRawInputDevices fonksiyonuyla hangi uygulamanın ön planda olduğu fark etmeksizin klavyeden gelen RAW olayları alıyordu. Dmitry, sorunun kaynağını bulmuştu ancak doğrulamak için aynı sorunu DirectInput'ta da yaratmıştı. DirectInput'ta yaratılan sorun da bilgisayarın uyku moduna girmesini engelliyordu.

1 byte'lık dosyayla hata çözüldü:

windows uyku modu

Ancak bahsettiğimiz üzere NVIDIA, yalnızca klavyeden RAW Input alıyordu. Fakat uygulama, dolaylı olarak Chromium'dan RAW oyun kolu Input'u istiyordu. İşte bunu keşfeden Dmitry, GeForce Experience'ın 'libcef.dll' dosyasında tek bir ifadeyi değiştirerek sorunu ortadan kaldırmayı başardı. 3 yıllık sorun, aşağıdan ulaşabileceğiniz yalnızca 1 byte'lık dosyayla çözülebilir oldu.

Dmitry ile aynı sorunu yaşayan biriyseniz ve yukarıdaki çözüme başvuruyorsanız öncesinde bir şeyden emin olmanız gerekiyor. Yukarıdaki PowerShell dosyasını açmadan önce ShadowPlay'in kapalı olduğundan emin olun. Daha sonra dosyayı yönetici olarak çalıştırın.

Kaynak : https://details-of-note.blogspot.com/2020/12/nvidia-3-year-old-bug.html
81
14
8
1
1
Emoji İle Tepki Ver
81
14
8
1
1