Ubuntu 12.10: Ból, Bumblebee i graficzne artefakty
23.10.2012 | aktual.: 25.10.2012 18:18
Witam, nie jestem aktywnym blogerem, gdyż do pisania lekkiej ręki nie mam, stąd też niniejszy wpis publikuję tylko dlatego, iż mógł ktoś mieć z Ubuntu 12.10 podobne problemy niż ja i wpis ten może mu zaoszczędzić czasu w szukaniu ich rozwiązań.
O tym jakie jest Ubuntu 12.10 nie będę się rozpisywał, bo to każdy przez pryzmat własnego gustu widzi. Moim zdaniem wygląda nowocześnie, jest fajnie minimalistyczne, w pewien zawadiacki sposób eleganckie i ma sporo ułatwiających życie funkcji.
Moja konfiguracja sprzętowa to laptop MSI z hybrydowym układem graficznym Intela oraz NVIDIA GeForce GT325M.
Ubuntu używam od wersji - chyba 9 i instaluję zawsze na świeżo każde kolejne co 6‑cio miesięczne wydanie. Te wydania nigdy nie są idealne i zawsze zawalczyć trzeba z jakimiś drobnymi problemami, by wszystko zadziałało tak jak tego chcemy i w sumie tak jak w zamyśle ma to działać. Co zatem doprowadziło mnie do wewnętrznego bólu i frustracji po instalacji wersji 12.10?
W sumie nie były to rzeczy zdawało by się poważne. Niestety jestem upierdliwym estetą i staram się dbać o szczegóły. Pierwszą sprawą, jaka boleśnie raniła moje oczy, było wykrycie dziwnego migotania i ciemnych, niemal czarnych „jak piekło” artefaktów w okolicach górnego panelu, a dokładniej miejsc, w których dumnie rzuca on swój delikatny cień. Niby nic - można z tym żyć i można tak pracować, ale strasznie szpeciło to pulpit i doznania estetyczne podczas korzystania z niego.
Podczas pierwszych prób poszukiwania rozwiązania pierwszego problemu doszło także do odkrycia problemu numer dwa, czyli: niepoprawnie działającego hybrydowego układu graficznego pod kontrolą Bumblebee, który co prawda wyłączał zasilanie niezintegrowanej karty graficznej nVidia, w żaden sposób nie pozwalał jednak z niej skorzystać. Choć i tak z niej nie korzystam w Ubuntu, bo gram sporadycznie i to tylko w stare RPG‑i na Windowsie.
Sama instalacja Bumblebee była prosta i bezbolesna - zgodna z hasłem towarzyszącym pobieraniu Ubuntu 12.10 z oficjalnej strony projektu. W sumie hasło raczej nietrafione, patrząc na - nie oszukujmy się - wciąż dalekie od ideału stabilności i kompatybilności Ubuntu. Windows 8 to dziwadło - fakt, ale zapewne będzie podobnie do 7 stabilny i kompatybilny z wszystkim na czym da się Windows zainstalować. Przyganiał więc tu kocioł garnkowi. Zresztą kampanie negatywnych oszczerstw pasują do polityki a nie do promocji systemów operacyjnych, bo każdy z nich ma swoje wady i zalety. A w polityce wiadomo: My – dobrzy, Wy – źli.
Dodałem zatem zasób oprogramowania (jak to teraz ładnie nazwano) w terminalu, jak prawdziwy linuksowy rzeniocha:
sudo add-apt-repository ppa:bumblebee/stable
UWAGA: Nie dodałem zasobu oprogramowania z nowymi sterownikami (sudo add‑apt-repository ppa:ubuntu-x-swat/x-updates), gdyż dla 12.10 na dzień 22.10. 2012 takiego zasobu jeszcze nie ma i menadżer aktualizacji sypałby wściekle błędem przy każdej próbie aktualizacji.
Później z paluszka aktualizacja:
sudo apt-get update
(No ok - z kopiuj wklej, bo kto by to pisał)
Ostatecznie bezbolesna instalacja:
sudo apt‑get install bumblebee bumblebee-nvidia
Po tym wszystkim zrestartowałem się i sytuacja była taka, jak wspomniałem. Kartę dedykowaną Bumblebee fachowo wyłączyło, żeby mi sprzętu nie grzała, ale nie dało się z niej za pomocą polecenia optirun nic uruchomić - żadnych trybów ani sfer.
optirun glxgears
optirun glxspheres
Konsola bezlitośnie wypluwała oczywistą oczywistość ubraną w ludzkie szaty w postaci komunikatu:
„Failed to assign any connected display devices to X screen 0”
Nastąpiła konsternacja, wewnętrzny niepokój i cichy głos gdzieś wewnątrz mnie szeptał – dlaczego? Po krótkiej konsternacji nastąpiły długie, wielogodzinne poszukiwania rozwiązań w internecie i mozolne ich testowanie. Ostatecznie pomogło:
1) wprowadzenie zmian w pliku /etc/bumblebee/bumblebee.conf:
Nie umiem operować tajnym kodem w terminalu, więc aby zmienić zawartość tego zabezpieczonego pliku posłużyłem się wygodnym fortelem, a mianowicie odpaliłem z terminala menadżer plików z uprawnieniami administratora (sudo nautilus) i tak nawigując i otwierając pliki w prostym edytorze tekstu mogłem zmieniać i zapisywać ich zawartość. A oto co zmieniłem w pliku bumblebee.conf:
linię
Driver=
zastąpiłem
Driver=nvidia
linię
KernelDriver=nvidia-current
zastąpiłem
KernelDriver=nvidia
2) wprowadzenie zmian w pliku /etc/bumblebee/xorg.conf.nvidia
linię
Option "ConnectedMonitor" "DFP"
zastąpiłem
Option "UseDisplayDevice" "none"
Po zastosowaniu tych zmian i zrestartowaniu się tryby i sfery zasuwały na nVidyjce z prędkością zawstydzająca czas odświeżania monitora, szybciej niż mrugnięcie okiem, prawie tak szybko jak światło - szok. To był wielki sukces w okiełznaniu grafiki hybrydowej na świeżynce 12.10. Niestety jak można się było spodziewać - czarnych „jak piekło” artefaktów z okolic cienia górnego panelu, które pojawiały się i znikały bez ostrzeżenia - to nie rozwiązało.
Wygrać walkę z artefaktami było ciężej, ciężej było coś wygooglać, ale i tą bitwę, a w ostateczności chyba i wojnę z tą wersją Ubu udało się wygrać. Wujek z ameryki nakierował mnie na to, by pogrzebać w ustawieniach takiego tworu jakim jest Compiz. Samo Unity niejako jest chyba czymś w rodzaju wtyczki (pluginu) do tego tworu.
Poszła zatem z centrum oprogramowania instalacja Menadżera ustawień CompizConfig. Po instalacji jego uruchomienie i niegroźne w nim grzebanie i sprawdzanie efektów tegoż grzebania. Sławna na cały świat wyszukiwarka www mówiła mi - grzeb w:
Ogólne > Composite > Cofnij przekierowanie okien pełnoekranowych
Zaznaczyłem tam ciemnego fiflaczka na pomarańczowym tle. Niestety nic to nie zmieniło. Artefakty czarne „jak piekło” zaczęły jak wściekłe atakować pod panelem, na kartach przeglądarki www, na pasku adresu menadżera plików, na gwibberze, twitterze - jak diabeł. Działanie moje okazało się więc tutaj fiaskiem. Ale że ponoć funkcja mimo wszytsko jest pożyteczna, to tak też zostawiłem fiflaczka zaznaczonego.
Ogólne > OpenGL > Synchronizuj z Vblank
Tutaj fiflaczek był już domyślnie zaznaczony, więc go przekornie odznaczyłem i liczyłem na cud rozświetlający czarne „jak piekło” cienie... Niestety... Zmianę tej opcji miały najzwyklej w świecie w swoich małych, czarnych jak wiadomo co – pupach. Ale że ponoć funkcja ta jest pożyteczna, to ją grzecznie przywróciłem do działania.
Tyle mi sugerował wuj z ameryki, co ponoć wie wszystko, jeśli tylko umie się dobrze zapytać. Ja najwyraźniej nie umiałem pytać - ani po polsku ani po angielsku. Ponownie odezwał się pełny zwątpienia cichy głos z wnętrza mnie i powtarzał - nie poddawaj się... nie poddawaj się...
Zacząłem więc błądzić sam po omacku po tym CompizConfig fajnym sprzęcie i natknąłem się na coś co mnie niezmiernie zaintrygowało:
Narzędzia > Obejścia problemów
Tak gdzieś sobie po znalezieniu tego w duchu pomyślałem, te małe wredne czarne, cieniste padalce to jak najbardziej jest problem - mój wielki problem burzący piękno mojego nowego systemu. Wszedłem więc tam ostrożnie i to co się tam pojawiło było super, po angielsku i nie wiadomo co do czego. To był raj dla człowieka takiego jak ja, człowieka - zrób to sam. Zmieniałem tam wszystko i było super, choć nic się nie zmieniało i małe, szydercze, migocące jak metalowe pluskwy w włączonej mikrofali, zartefakciałe cienie trwały dalej pod panelem. Próbowałem je niszczyć wskazując je kursorem myszy, ale znikały tylko na chwilę i powracały zdawało by się ze zdwojoną siła. Aż wreszcie doszedłem do równie tajemniczego jak pozostałe, a może nawet bardziej:
Narzędzia > Obejścia problemów > Force full screen redraws (buffer swap) on repaint
Tajemniczy bezlitosny wymuszacz został oznaczony fiflakiem i nadszedł mój cud. Choć nie było przy tym magicznych rozbłysków, spektakularnych scen zwycięstwa jasnego dobra nad ciemnym złem, to udało się - małe, czarne artefakty spod panelu bezpowrotnie odeszły i nie pojawiały się już nawet po tykaniu miejsc ich występowania kursorem myszy.
Konkluzja. Czy za nimi tęsknię? Minęło dopiero kilka godzin odkąd ich nie ma, ale nie... nie tęsknię za nimi. Były irytujące, jak mucha, która lata sobie i siada wkoło ciebie i na tobie i doprowadza Cię do szewskiej pasji. Wojna została wygrana. Trwała kilka godzin z przerwami na przestrzeni dwóch dni. Czy obeszło się bez ofiar? Każda wojna ma swoje ofiary, tutaj padł nią procesor. Force full screen redraws (buffer swap) on repaint naprawia problemy z moimi graficznymi artefaktami. Robi to jednam właśnie kosztem obciążenia procesora. Na szczęście przy mojej konfiguracji sprzętowej do czasu poprawienia Compiza lub sterowników graficznych jest to cena jak najbardziej do zaakceptowania.
Koniec-końców. Ubuntu 12.10 z nowymi gadżetami w Unity i dodaniem funkcji socialnych – znaczy społecznościowych :P bardzo mi się podoba. Prócz wspomnianych problemów innych historii z brakiem stabilności, czy jakiś rażących nieprawidłowości nie doświadczyłem. No może... 12.04 startowało trochę szybciej i to było akurat dobre, ale różnica nie jest diametralna i tak mam lepszy czas startu niż w Windows. Żeby nie było Windows tez lubię - choć używam tylko do starych, poczciwych RPG‑ów, w których budują swoje doświadczenie prawie tak samo, jak podczas zgłębiania tajników każdej kolejnej wersji mojego najulubieńszego Ubuntu.
Pozdrawiam wszystkich ubuntowiczów, Adam.