top of page
Yazarın fotoğrafıScroll.com.tr

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


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ü:


<img alt="joystick uyku modu" src="https://www.scroll.com.tr/wp-content/uploads/2020/12/3-yillik-windows-sorunu-yalnizca-1-byte-lik-bir-dosyayla-cozuldu-5fe19ddd3b568.jpeg" />

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ü:


<img alt="windows uyku modu" src="https://www.scroll.com.tr/wp-content/uploads/2020/12/3-yillik-windows-sorunu-yalnizca-1-byte-lik-bir-dosyayla-cozuldu-5fe19ddfdbf96.jpeg" />

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’nin paylaştığı çözüm dosyası için tıklayınız.

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.

Comments


bottom of page