Laptopy z bezsennością: gdy złożoność szkodzi [OPINIA]
Podejrzanie dużo laptopów klasy premium ma problem ze skutecznym przejściem w stan uśpienia. Problem ten, niemający uniwersalnego wytłumaczenia, staje się powszechny. Fora głównych producentów sprzętu są zalane wątkami na ten temat. Dlaczego?
Usypianie (ACPI S3), podobnie jak hibernacja, przez wiele lat uchodziło za niezwykle problematyczną funkcję. W antycznych czasach Windows 98 odradzano jej stosowanie nawet na porządnych laptopach. Windows XP z kolei miewał tendencje do budzenia się "w amoku": niektóre urządzenia nie wstawały, wydajność systemu była inna niż przed uśpieniem, a cały proces trwał bardzo długo.
Problemy te zniknęły, gdy Microsoft zaczął bardziej pilnować sterowników. Windows Vista i 7 działały bezproblemowo z uśpieniem i opór przez stosowaniem tej funkcji zdążył całkowicie zniknąć. Wraz z Windows 8, Microsoft (korzystając z intelowskich inwestycji w mobilność) zaczął próbować upodobnić komputery do telefonów: usypianie i łączność miały wtedy stać się całkowicie naturalne, przezroczyste i szybkie.
W efekcie z laptopów miały "wylecieć" wszystkie bezsensowne aplikacje do zarządzania energią i łącznością, a idealne urządzenie z Windows 8 miało zachowywać się następująco:
- Budzić się i zasypiać natychmiast, od naciśnięcia przycisku zasilania, jak w telefonach
- Oszczędzać energię, ale nie rozłączać się całkowicie z sieciami
- Budzić się na żądanie aplikacji Metro (czyli z przestrzeni użytkownika, administrator już wcześniej mógł definiować zdarzenia budzące korzystając z timerów)
- Reagować żyroskopowo na zmianę orientacji przestrzennej urządzenia, wzbudzać ekran wraz ze zmianą oświetlenia (np. wskutek otwarcia klapy lub etui z klawiaturą)
Aby było to możliwe, konieczne było zdefiniowanie nowego stanu zasilania ACPI, stosowanie wyłącznie zgodnych sterowników, a także wykorzystanie UEFI, Secure Boot, przylutowanych pamięci RAM (!) i TPM 2.0. Zgodne urządzenia muszą posiadać obowiązkowy zbiór przycisków fizycznych oraz reagować na zdarzenia związane z orientacją urządzenia.
Po nowemu
Nowy tryb zasilania nazwano Connected Standby, dziś standard ten nazywa się InstantGo, a w odświeżonej implementacji Microsoftu - Modern Standby. Windows 10 idzie jeszcze dalej w "unowocześnianiu" uśpienia i likwiduje możliwość wyłączenia Connected Standby. Porzuca także plany zasilania. Dostępny jest tylko jeden plan: Zrównoważony, zamiast trzech (poprzednio istniały także Wysoka Wydajność i Oszczędzanie Energii).
Plany zasilania, poza wyprowadzaniem dla użytkownika zbioru ustawień, zawierały także cechy wbudowane. Dlatego plan Wysokiej Wydajności zawsze był mocniejszy od Zrównoważonego, nawet gdy w tym drugim "wymaksowano" wszystkie ustawienia. Trzy podstawowe plany zmieniały bowiem niewidzialne ustawienia wydajności, a nie tylko te widoczne w Panelu Sterowania.
Zamiast planów zasilania, Windows oferuje obecnie Suwak Wydajności, pozwalający wpłynąć w ograniczonym stopniu na zarządzanie mocą sprzętu. Nowe stany energetyczne, choć zdefiniowane programistycznie, nie są klasycznymi planami zasilania, a jedynie sposobem, na jaki plan Zrównoważony rozmawia z platformą przez UEFI. Włączenie planu Wysoka Wydajność jest nieobsługiwane, a wymuszenie go poprzez interakcję z systemowym obiektem o urokliwym identyfikatorze 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c może popsuć usypianie i wywołać problemy ze sterownikami.
Złożoność
Co to wszystko oznacza? Nowe systemy wymagają UEFI, zaawansowanych sterowników i oprogramowania układowego, zarządzają wydajnością całkowicie automatycznie i bez naszej kontroli, a dotychczasowe metody debugowania stały się nieaktualne. O detalach wie Microsoft, Intel i może kilku fanatycznych pasjonatów, z którymi trudno się dogadać.
Innymi słowy, jesteśmy całkowicie zdani na firmware, a ten stał się o rzędy wielkości bardziej złożony. Kilkunastomegabajtowe UEFI oraz niewiele mniejsze bloby binarne dla układów Intel AMT, Thunderbolt, TPM i innych mniejszych to idealny przepis na problemy. Wydanie zestawu oprogramowania sprzętowego bez błędów nie jest dziś możliwe. Nigdy zresztą nie było, ale dziś konsekwencje tego stanu rzeczy są poważniejsze.
A jak się objawiają? Cóż, chociażby:
- Spontanicznymi wybudzeniami urządzeń 2-w-1, które w plecaku stwierdzają, że właśnie je otwarto (ale jakoś nie chcą potem zasnąć z powrotem po 5 minutach).
- Budzącymi się w plecaku laptopami, które twierdzą, że rozłączenie z Wi-Fi to doskonała okazja by się włączyć i zacząć bezowocnie szukać nowych (zagotowując plecy użytkownika).
- Niemożliwymi do uśpienia laptopami wpiętymi w stacje dokujące na Thunderbolt, bo złożoność protokołu oraz potencjalna niezgodność peryferiów sprawiają, że laptop uznaje że właśnie podpięto nową klawiaturę albo mysz, co jest zdarzeniem wybudzającym.
- Sterownikami tak złożonymi, że laptop budzi się "po prostu" i żaden PowerCfg ani Power-Troubleshooter nie wiedzą co było powodem (brak eventu w dzienniku).
I tak dalej.
Zachowują się tak urządzenia kosztujące po kilkanaście tysięcy złotych. Przez pewien czas rozwiązaniem było całkowite wyłączenie Connected Standby, ale wraz z usunięciem planów zasilania i nadejściem nowych platform Intela, jest to dziś niemożliwe. Pozostaje w kółko aktualizować BIOS i liczyć na to, że w końcu problem zniknie (co często jednak ma miejsce i wersja 45 aktualizowanego co 3 dni UEFI w końcu rozwiązuje kłopot). Ale poza tym bardzo często użytkownicy zaczynają po prostu wyłączać urządzenia, zamiast je usypiać, aby z tym nie walczyć.
Przegramy?
Jeżeli poddawanie walki stanie się powszechną praktyką, sytuacja będzie się tylko pogarszać. Producenci muszą mieć motywację do tego, by przyłożyć się do jakości sterowników i firmware'u. A nie jest tak, że nie wiedzą o problemie. Niemal każdy główny producent ma na swojej stronie poradnik rozwiązywania problemów z uśpieniem (zupełnie jak w czasach Windows 98).
Jeżeli sprawa stanie się zbyt poważna/uniwersalna (a nie jest przecież tak, że usypianie nie działa zupełnie nigdzie, to problem punktowy), ratunkiem może być… Apple. Firma ta parokrotnie wyznaczała trendy sprawiające, że porównywanie się z pecetami wypadało żałośnie.
Rozwiązano w ten sposób problem żenująco małych i niefunkcjonalnych gładzików, nadwagi oraz aktualizacji. Być może MacBooki, które po prostu umieją zasnąć, zestawione z bezsennymi pecetami kosztującymi pięciocyfrowe kwoty, doprowadzą do powstania sprzętu, który w końcu działa.
Kamil J. Dudek, współpracownik redakcji dobreprogramy.pl