Rewolucja w kompie
Niedawno pojawiło się nowe XFCE: 4.4. Najpierw chciałem to w pracy sobie zainstalować, ale okazało się, że ani tego nie ma w PLD Ac, ani nie da się w tym Ac zainstalować. Instalacji Th wolałem nie ryzykować na maszynie która służy mi do pracy... co innego w domu, tam ostatnio używam jedynie CJC i Firefoksa. Uznałem, że dwie aplikacje jakoś do działania doprowadzę.
Upgrade nie był prosty. Masy rzeczy w repo Th brakuje. Wiele zależności jest zepsutych. Cała masa pakietów zbudowanych w Ac wymaga X11-*, albo XFree86-*, których w Th już nie ma (wystarczyłyby zależności od libX*, które pociągnęłyby odpowiednie pakiety xorg-*). Dodatkowo, żeby nie było za prosto, mam u siebie pomieszane pakiety 32- i 64-bitowe. Ale jakoś się udało...
Pierwsze co chciałem odpalić, to Xy. W końcu dla nowego XFCE jest ta cała szopka... Poprzednio używałem 64-bitowego X-serwera i zamkniętych sterowników ATI. Otwarte nie dawały akceleracji, a zamknięte nie działały, gdy X-serwer był 32-bitowy (generalnie większość systemu mam 32-bitowe), a kernel 64-bitowy (bo tylko taki pozwala mi odpalać binarki i 32- i 64-bitowe). Teraz chciałem spróbować z serwerem 32-bitowym i sterownikami Open Source, w końcu między X.org 7.0, a 7.2 coś mogło się zmienić...
Jedno się nie zmieniło – sterownik z X.org wciąż nie rozpoznaje mojej
karty (ATI Technologies Inc RV370 secondary [Sapphire X550 Silent]) i obsługuję
ją dopiero po dodaniu do xorg.conf: ChipId 0x5b60
. Akceleracja 3D też nie
ruszyła, chociaż sterownik DRM w kernelu się załadował i kartę poprawnie
wykrył... logi sugerowały, że znowu może być coś z tymi bitami... Zainstalowałem
więc 64-bitowy X-serwer z 64-bitowymi sterownikami. DRI ruszyło. Rozszerzenie
"Composite" też. Mogłem podziwiać piękną przezroczystość w XFCE. Najpierw
działało to strasznie wolno, ale po poprawieniu paru opcji da się tego używać.
Jednak z OpenGL coś wciąż było nie tak... mimo że glxinfo pokazywało, że
wszystko jest OK i nawet Direct rendering: yes
. To glxgears nie działało.
Znaczy się działało, ale nic nie wyświetlało. Podobnie wszystkie inne aplikacje
3D...
Spróbowałem więc zamkniętych sterowników... musiałem przebudować, bo w Th były stare, niekompatybilne z nowymi Xami. Nowe się zbudowały, nawet działały, ale bez akceleracji 3D. Linker dynamiczny nie mógł znaleźć jakiegoś symbolu od DRI w modułach X-serwera... pewnie te zamknięte binarki nie są zgodne z naszym buildem X.org... no cóż, tym razem lepiej wypadły sterowniki otwarte.
Wróciłem do otwartych sterowników i spróbowałem jeszcze czegoś: zainstalowałem 64-bitowe glxgears... i ruszyło. Czyli tym razem, pod 64-bitowym kernelem, nie tylko X-serwer musi być 64-bitowy, ale i wszystkie aplikacje OpenGL. Przykre... ale chwilowo mogę z tym żyć. Ostatnio i tak wiele takich aplikacji nie używam. Właściwie, to tylko StepManię.
Dzisiaj więc postanowiłem sobie skompilować StepManię na 64-bity. Środowisko do budowania zrobiłem sobie w chroocie z czystym 64-bitowym Th. Zainstalowałem co StepMania potrzebowała i zacząłem budowanie. Od razu się wykrzaczyło... SM jest w C++, a C++ ma to do siebie, że kod napisany dla starszego kompilatora często nie da się skompilować nowszym. W PLD Th mamy GCC 4.2 i to GCC kodu StepManii nie polubiło. Jednak potrzebnych poprawek nie było dużo i większość z nich była nawet dla mnie (nie znającego i nie lubiącego C++) oczywista. W końcu się skompilowało. I nawet dało się uruchomić.
Skompilowana przez mnie StepMania działała, ale tak jakby nie do końca. Nie
dało się wejść do ustawień gry, a rozpoczętej gry nie dało się wygrać. Jak się
poprawnie przeszło
którąś piosenkę, to maszyna puszczała ją od początku.
Można by się było zajechać ;-). Podczas kompilacji widziałem
warningi dotyczące, między innymi, strict aliasing rules
, więc
postanowiłem spróbować kompilacji z innymi opcjami. Okazało się, że skrypt
configure StepManii na sztywno ma wpisane -O3
. To już mogło sprawiać
problemy. Zmieniłem na -O2
i dodałem -fno-strict-aliasing
i całość
skompilowałem od nowa. Podczas kompilacji ćwiczyłem sobie na tej niedorobionej
binarce – ciekawie się gra, gdy komputer się czasem zagapi i nie
zauważy
, że się strzałkę wcisnęło na czas. ;-)
Po kilkunastu minutach miałem nową 64-bitową binarkę gotową. I tym razem
działa dobrze. To sobie jeszcze kiedyś poskaczę. :-)
W kolejce czeka zbudowanie GComprisa dla Krysi, bo stare wyleciało razem z Ac (w Th tego brak).
Śledzenie komentarzy (RSS)
Jesteście obserwowani...
02 lutego 2007 22:11:58
to co tam u Ciebie Jacuś?:)