Monday, 3. March 2008, 18:51:37
pcsx2, emulacja, gentoo, ebuild
Kolejny dzień, kolejne zmiany w ebuildach:
games-emulation/pcsx2James Le Curiot odkrył co psuło wykrywanie MMX przy custom-cflags. Okazuje się, że ten kawałek kodu głupieje, jeśli nie jest skompilowany z -finline-functions. Tak się składa, że pcsx2 bez łatki używa -O3, które zawiera tę flagę. Cóż, kolejna zagadka rozwiązana. Z nowym patchem już nie ma tego problemu. Usunąłem więc flagę custom-cflags, a patch jest zawsze aplikowany.
games-emulation/ps2emu-cdvdisoefp,
games-emulation/ps2emu-fwlinuz,
games-emulation/ps2emu-zerospu2Parę nowych pluginów na wypadek, gdyby komuś ich brakowało. Uwaga, fwlinuz i zerospu2 są dość leciwe i wymagają gtk1.x.
Sunday, 2. March 2008, 16:20:44
pcsx2, sdlmess, emulacja, gentoo
...
W dzisiejszym odcinku sagi "Opowieści z krainy ebuildów":
games-emulation/pcsx2Za sprawą pewnej osoby z
bugzilli Gentoo zaistniał w końcu porządny ebuild do pcsx2. Nowy ebuild jest modularny (na b.g.o. są też ebuildy do większości dostępnych wtyczek) i napisany dużo sprytniej od starej, monolitycznej kluchy. Oprócz tego zawiera elegancki i prostszy wrapper do odpalania binarki. Czego chcieć więcej?
Nie byłbym jednak sobą, gdybym w tej nowej zabawce trochę nie podłubał. Przede wszystkim usunąłem flagę recompiler, która robiła więcej złego niż było z niej pożytku. Moje dochodzenie wykazało, że w configure nie istnieje możliwość włączenia/wyłączenia SSE2. Istnieje za to możliwość włączenia sse3. Wyrzuciłem więc flagę sse2, a w zamian wrzuciłem flagę sse3. Idąc dalej, łatka od CFLAGS psuła u mnie wykrywanie MMX, więc teraz jest nakładana tylko przy włączonej fladze custom-cflags. Podobno nie jest to problem na architekturze amd64, ale nie miałem szansy tego sprawdzić. Poza tym naniosłem kosmetyczne zmiany w ebuildach do wtyczek peopsspu2, cdvdlinuz i cdvdiso, żeby używały systemowych CFLAGS, a później zrobiłem ebuilda do dość leciwej (używającej gtk1.x, brrr) wtyczki usblinuz.
Nie przestałem jednak na tym. Pomyślałem "Hmm, mam komplet ebuildów do wersji stable... Może by tak dorobić ebuildy do svn?" No i po jednym wieczorze kombinowania udało mi się. Nowy ebuild do emulatora jest dużo mądrzejszy od starego monolitu. Krótko mówiąc, stary pobierał całe repo, zajmujące ponad 90MB. Nowy ebuild pobiera tylko niezbędne dwa katalogi (a eclass svn starał się jak mógł, żeby mi to utrudnić). Łącznie (emulator + wszystkie wtyczki) nie jest pobierane więcej niż 30MB - bagatelka 3 razy mniej. Mmm
games-emulation/sdlmessSDLMESS to brat-bliźniak SDLMAME zajmujący się różnej maści konsolami i komputerami. Między obydwoma projektami istnieje wiele podobieństw, w tym dużo współdzielonego kodu i identyczny sposób kompilacji. Co to oznacza w praktyce? Wziąłem ebuild do sdlmame, zmieniłem nazwę, usunąłem obsługę wolfmame, dopisałem dwie linijki i... działa

Nawet patch od ścieżek nałożył się ładnie (po uprzednim s/mame/mess/g). Szkoda, że wszystko nie jest tak proste

<kryptoreklama>Ebuildy do pobrania z
Roslin Uberlay</kryptoreklama>