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

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

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.

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.

Bir Yorum Yazın

one × five =

× CANLI DESTEK