02 lutego 2007
22:08:24
|
kategorie:
gry,
linux,
oprogramowanie,
pld,
programowanie,
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).
10 grudnia 2006
22:14:07
|
kategorie:
linux,
sieci,
sprzęt,
Niedawno żonka dostała
nowego laptopa. Z różnych ciekawych rzeczy, ten laptop ma, między innymi,
WiFi. Karta na chipsecie Prism 2.5 została od kopa rozpoznana przez Linuksa
(na początku jako eth0, co przez chwilę powodowało moje wątpliwości
w sprawność normalnego portu Ethernet). Szkoda by było tego nie
wykorzystać.
W domu mam jeszcze dwie bezprzewodowe karty sieciowe: na PCMCIA i na USB,
obie Compex, obie zawsze sprawiały mi problemy, ale przynajmniej dawało się na
otwartych sterownikach to jakoś odpalić. Tę na PCMCIA sobie
odpuściłem, bo nie będę odpalał innego laptopa i kernela 2.4, żeby sprawdzić
czy WiFi u żony działa. Postanowiłem spróbować z tą na USB, od razu
podłączając ją do mojego routerka.
Karta jest na chipsecie ATMELa. Zasadniczo są do tego dwa sterowniki:
atmelwlandriver i at76c503a (berlios driver
). Oba
od dawna nie rozwijane. Żadnego z tych sterowników w PLD nie ma (pewnie
w żadnej dystrybucji nie ma). Poprzednio tę kartę uruchamiałem na tym pierwszym
sterowniku, nawet udawało się do tego PLDową paczkę zbudować i jako-tako to
działało. Z drugim też próbowałem, ale bez lepszych rezultatów (innych niż
zwis maszyny czy okazały Oops
).
Tym razem atmelwlandriver nie udało mi się nawet skompilować
– systemu budowania dostosowanego do antycznych kerneli nie umiałem
pogodzić z PLDowym kernel-module-build. O dziwo, sterownik z Berliosa,
w wersji CVS, skompilował się bez problemów. Co więcej, załadował się na
tropku i połączył się z laptopem żonki. Oczywiście konfiguracja nie może być
normalna (gdzie router z kartą WiFi robiłby za AP) – karty
działają w trybie Ad-Hoc, bo ta na USB trybu master
nie umie.
Połączył się, ale coś za bardzo sieć nie działała. Sprawdziłem
tcpdumpem i zobaczyłem ip packet truncated - 4 bytes
missing
. No fajnie, pewnie sterownik spieprzony. Ale nie wyglądało to na
coś, czego nie dałoby się naprawić. Google dużo na ten temat nie miało do
powiedzenia. Zajrzałem więc do źródeł i lepiej przyjrzałem się logom. W logach
znalazłem: firmware version 1.103.0 #175 (fcs_len 4)
. Najpierw
spróbowałem starszego firmware'u (ze sterownikiem przyszły dwie wersje), ale
to w ogóle nie działało. Pozostało pogrzebać w źródłach. Okazało się, że jest
tam kod odpowiedzialny za obcięcie FCS (cokolwiek to jest) z końca ramki. Ten
FCS to 4 bajty, z wyjątkiem jednej wersji firmware (jakiejś starej), gdzie
ta długość była ustawiona na 0 (z komentarzem, że ta wersja jest głupia i FCS
nie doczepia). No to wpisałem 0 na stałe i bingo! Zadziałało :-).
Kolejnym problemem były straty pakietów. W pokoju, gdzie zwykle stoi
laptop, 17%. Przeszedłem się z nim po mieszkaniu i w przedpokoju, gdzie
powiesiłem nadajnik (kartę USB) było 0%. Ale w przedpokoju nikt pracować nie
będzie... Spróbowałem jeszcze przenieść nadajnik (najpierw powiesiłem nad
drzwiami, obok dzwona, bo tam się ładnie komponował ;-)), położyłem na
drzwiczkach szafki... i w całym domu jest zasięg i 0% strat. Tylko jak to tam
na stałe powiesić... próbowałem dwustronną taśmą klejącą, ale odpadało. Ten
problem zostawiłem sobie na później.
Na początek teksty robiłem na gołym 802.11b, nawet bez WEP. Oczywiście nie
mogło tak zostać. WAP to też żadne zabezpieczenie. O WPA na tych kartach
mogłem zapomnieć (tylko 802.11b umieją, a więc WPA na pewno nie). Bawić się
w 802.1x+WEP nie widziałem sensu. PPPoE też już przerabiałem w pracy (więc
żadne wyzwanie), a do tego też wydawało mi się to mało sensowne w domowej
sieci z jednym komputerem. Postanowiłem spróbować IPSec. W końcu tę
technologię też trzeba poznać. Dodatkowo chciałem też WEP odpalić z prostym
kluczem, po co cokolwiek ułatwiać... ale to nawet nie chciało ruszyć między
tymi kartami. Trudno.
Poczytałem o ipsec-tools, poeksperymentowałem, w końcu
załapałem jak ten racoon i setkey działają.
Okazało się że w takim przypadku jak mój, gdzie nie potrzeba DHCP, czy innej
automatycznej konfiguracji, to takie IPSec całkiem dobrze może się sprawdzić.
Gdy już miałem prawie wszystko gotowe, z szyfrowaniem, przygotowanym
routingiem, NATem itd... połączenie przestało działać. Karty się nie
widziały... przypomniałem sobie, że wcześniej dziecko walnęło drzwiami w tę
wiszącą kartę USB... przestraszyłem się, że się rozwaliła. Kilka jej restartów
nie pomogło. Rozkręciłem... w środku wyglądało bardzo solidnie i raczej na
nienaruszone... postanowiłem sprawdzić jeszcze jedną możliwość –
zrestartowałem laptopa (samo ifdown/ifup, czy nawet wyładowywanie modułu nie
pomagał)... ruszyło... uff...
Na koniec zamontowałem trochę solidniej nadajnik:
A teraz żonka siedzi przy laptopiku, bez kabelka i nie narzeka. Wiec chyba
jest ok. :-) Tylko czemu zawsze w tą radiówką musi być tyle problemów?...
28 listopada 2006
08:39:10
|
kategorie:
firefox,
linux,
oprogramowanie,
Niedługo po wydaniu Firefoksa 2.0 zainstalowałem go sobie na komputerze w
pracy. I tylko tam, bo szybko się okazało, że jest z nim poważny problem:
wiesza się losowo co jakiś czas, nawet kilkanaście razy dziennie. Okropnie to
wkurzające. Gdyby nie to, że Fx 2.0 ma parę fajnych ficzerów (szczególnie
sprawdzanie pisowni) i że downgrade nie sprowadza się tylko do "upgrade
--downgrade mozilla-firefox" w Poldku, to już bym dawno to wywalił. Nie
wywaliłem, ale i w domu sobie tego nie zainstalowałem. A w pracy się ciągle
wkurzam...
Ale nie to jest najbardziej wkurzające, że jest błąd. W każdym programie
zdarzają się błędy ale, że nie można go normalnie zgłosić (jak już pisałem: twórcy
Firefoksa nie chcą moich bug-reportów), ani normalnie zobaczyć co się z
błędem dzieje (nie ma zgłoszeń błędów w konkretnym wydaniu, a więc nie można
sobie zobaczyć listy błedów w Firefoksie 2.0, a w tej całej masie zgłoszeń z
całej historii Mozilli ciężko znaleźć właściwe). Wiem tylko, że nie jestem
sam, wystarczy w Google wpisać: firefox 2.0 random freeze
, żeby się
przekonać, że nie mnie jednego Fx 2.0 wkurza... Niestety, nie znalazłem nic na
temat przyczyn błędu, jakiś workaroundów, czy planów jego naprawy (to wszystko
IMHO powinno być z bugzilli).
Czy naprawdę mam jakieś dziwne wymagania co do systemu zgłaszania błędów?
Dla mnie to naturalne, że jednym z celów istnienia takich systemów jest
inwentaryzacja błędów w konkretnych wydaniach. Tak, żeby użytkownik mógł
sprawdzić co w konkretnej wersji siedzi, czy jego problemy zostały zauważone,
czy może się spodziewać naprawy. A tu nic... Nie działa ci oficjalne wydanie i
chcesz zgłosić problem? To ściągnij nightly-build i debuguj... Nie chcesz, bo
jesteś tylko zwykłym użytkownikiem
? To mamy Cię w nosie...
Długo powstrzymywałem się przed tym narzekaniem... ale dzisiaj nie
wytrzymałem, gdy mi się zawiesił dwa razy w ciągu jednej minuty...
14 września 2006
08:40:35
|
kategorie:
imprezy,
linux,
rodzinka,
Jesień Linuksowa już za trzy tygodnie.
105 osób zapisanych, ale na razie tylko 54 potwierdzonych. Na liście tylko jedna
kobieta. :-( Dobrze, że żona nie z tych co się czują bardzo źle w roli rodzynka.
A'propos żona... są w tym Lewinie Kłodzkim jakieś konie? ;-)
Tym razem szykuje się bezstresowy odpoczynek – mój wykład przegrał w wyborach
, pewnie dlatego, że
zapomniałem umieścić słowa hacking
w tytule. ;-) Może to i lepiej.
Ktoś jeszcze się wybiera?
07 września 2006
14:47:50
|
kategorie:
linux,
praca,
Dzisiejsza moja robota wygląda mniej-więcej tak:
- dłubanie w skryptach,
- podpięcie pendrive'a,
-
cat usb.img > /dev/sdc,
- wyciągnięcie pendrive'a, podpięcie do drugiej maszyny,
- reboot,
- przejrzenie komunikatów na konsoli,
- dłubanie w skryptach,
- przepięcie z powrotem pendrive'a,
-
cat usb.img...
- ...
Jestem chyba przy setnej iteracji, ale już prawie działa
;-). No, prawdę mówiąc, to prawie działa
już chyba od dwóch
godzin, tylko definicja prawie
się zmienia... ;-).
16 sierpnia 2006
10:04:15
|
kategorie:
linux,
muzyka,
oprogramowanie,
w sieci,
Wróciłem po urlopie do roboty, chciałem sobie puścić muzyczkę, no to
zajrzałem na Last.FM, co tam nowego.
Okazało się, że wreszcie jest Last.FM Client pod Linuksa. Ściągnąłem,
odpaliłem i wygląda całkiem miło – już na pierwszy rzut oka wydaje się
dużo bogatszy i wygodniejszy od starego Last.FM Playera. Muzyczka gra.
:-) ...trzeba zająć się robotą. :-(