Użyłem odpowiedzi steffena, aby uzyskać to działające w systemie Windows 10 i prześledziłem to nieco bardziej szczegółowo.
Wcześniej próbowałem wyłączyć TVEnableOverscan
i DigitalHDTVDefaultUnderscan
bez powodzenia (zmieniając je również w kluczu amdkmdag
pod CurrentControlSet\Services
), a także wiele wersji i kombinacji starszych instalatorów CCC / sterowników. Przed aktualizacją do Windows 10 działał on dobrze na Windows 8.1 (nie pamiętam, czy robiłem coś specjalnego, aby go uruchomić, ale nie jestem tego w 100% pewien).
Po pierwsze, w Windows 10 rozpakowany pakiet instalatora (13.4 beta) nie chce się uruchomić. Zamiast tego wszedłem do Menedżera urządzeń i odinstalowałem kartę graficzną, zaznaczając pole, aby usunąć sterownik. Następnie wybrałem Akcja->Skanuj w poszukiwaniu zmian sprzętowych i otrzymałem “Microsoft Basic Display Adapter”. Kliknąłem prawym przyciskiem myszy i wybrałem opcję aktualizacji sterownika, a następnie wybrałem opcję samodzielnego określenia sterownika. Wybrałem folder Packages\Drivers\Display\W86A_INF
z rozpakowanego pakietu AMD, tak jak opisał to steffen. Nastąpił dość długi okres wykrywania/instalacji sprzętu i na jego końcu wersja sterownika była nadal wersją z Windows 10 (03/01/2015, 8.970.100.9001 zamiast 04/24/2013, 8.970.100.0000 z paczki). Jednak uruchomienie programu instalacyjnego i zainstalowanie VISION Conrol Center spowodowało, że CCC zaczęło działać. Zgłaszało ono poprawną, starszą wersję sterownika.
W tym momencie mogłem regulować overscan uruchamiając Process Monitor i obserwując jakie wartości rejestru były ustawiane po naciśnięciu Apply:
15:26:19.6441241 CCC.exe 6740 RegSetValue HKLM\System\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}0x1&000\GDOADJR6 DFP SUCCESS Type: REG_BINARY, Length: 384, Data: 00 00 00 00 02 00 00 00 10 00 00 00 00 00 00 00
15:26:19.6457995 CCC.exe 6740 RegSetValue HKLM\System\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}0x1&000\DALR6 DFP1920x1080x0x59 SUCCESS Type: REG_BINARY, Length: 48, Data: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
15:26:19.6468669 CCC.exe 6740 RegSetValue HKLM\System\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}0x1&000\DAL_DFPOptions SUCCESS Type: REG_BINARY, Length: 4, Data: 18 00 00 00
Wierzę, że prefiksy to te same ścieżki rozwiązywane przez klucz HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video
wspomniany przez steffena i innych. Process Monitor nie pokazuje pełnych danych, ale trochę eksperymentowania i powiększania za pomocą RegEdit pokazało, że odpowiednie bajty są w obu DALR6 i GDOADJR6 - w pierwszym z nich w bajcie 37 (offset 0x24), a w drugim w bajcie 21 (offset 0x14). Mają one wartość 0 przy całkowicie wyłączonym overscanie (w prawo w GUI) i zwiększają się o jeden przy każdym przesunięciu suwaka w lewo.
Na koniec ponownie odinstalowałem sterownik karty graficznej z Menedżera urządzeń (łącznie z usunięciem sterownika). Windows automatycznie przeszedł przez kolejny wydłużony cykl wykrywania i powrócił do oryginalnego, dostarczonego przez Microsoft sterownika. Z jakiegoś powodu CCC wydaje się nadal działać i wyświetla teraz nowocześniejszą wersję sterownika. Pozwoliło mi to ponownie dokonać zmiany w GUI i zaobserwować efekt. Co ciekawe, przy zmianie urządzenia/sterownika pod kluczem HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video
tworzone są nowe wpisy. Co jeszcze bardziej mylące, za drugim razem okazało się, że mój monitor ma 60Hz zamiast 59Hz, więc odpowiedni klucz nieco się zmienił. Jednak oba offsety były nadal poprawne i zmieniały się wraz z procesem suwaka/aplikacji.
Nie testowałem tego bez wcześniejszego zainstalowania CCC, ale po jego usunięciu nadal działało. Mogę tylko przypuszczać, że są one odczytywane przez sterownik: w najgorszym wypadku przy starcie i prawdopodobnie przy każdym większym zdarzeniu na ekranie (jak zmiana rozdzielczości).
Windows 10 TH2 (Threshold 2)
Po zainstalowaniu TH2 overscan powrócił, a nawet pogorszył się. Binarne plamki zmieniły rozmiar i domyślnie jest ich teraz 8 zamiast 2. Wersja sterownika pozostaje bez zmian, a lokalizacja danych binarnych pozostaje bez zmian. Jedynki DALR6 są nadal w bajcie 37 (offset 0x24), GDOADJR6 jest nadal w bajcie 21 (offset 0x14). Początkowo źle odczytałem offsety heksadecymalne w RegEdit, więc zainstalowałem ten sam Catalyst 13.4 beta VISION Control Center, co poprzednio (bez sterownika). Tym razem zadziałało za pierwszym razem i od razu byłem w stanie kontrolować overscan z GUI.