Duke Nukem 3D to chyba pierwsza gra w jaką grałem na PC. Pamiętam całą bandą przyłaziliśmy pograć do koleżanki, bo jako jedyna na osiedlu miała jakiegoś lepszego kompa (P1 133Mhz??). I tak to jest, że staruszki lubią sobie powspominać o starych czasach. Takie przemyślenia też pewnie miał twórca projektu Retropie który ma na celu zamienić Raspberry Pi w małą konsolkę na której można pograć w stare gry jak Quake, Doom, Mario, Tanks, Galaga. Generalnie Retropie skupia w sobie emulatory gier Amiga, Atari, PSX1, Game Boy, NES, SNES, PC. Po prostu całkiem niezła gratka dla fanów starych gier.
Mnie też ostatnio wzięło na pogranie w coś i właśnie pomyślałem, żeby uruchomić Retropie na swoim Raspberry Pi. Jak wiecie często
robię zakupy w oszołomie to wybrałem się po pady. Ku mojemu zaskoczeniu kupiłem dwa całkiem fajne pady na USB – 13zł za sztukę. Wgrałem obraz ze strony na kartę i uruchomiłem. Obawiałem się, że będzie jazda z padami, konfiguracja itd. Przy starcie retropie powiadomiło mnie, że wykryło pady i poprosiło o konfiguracje guzików. Wszystko działa od reki a instalowałem wersje testową. Od razu można pykać w Dooma :)
W między czasie dostałem Raspberry Pi2 i TFT LCD od kamami.pl na wieczne testy :) Więc postanowiłem uruchomić retropie tak aby działał z LCD. Miałem zajawkę aby stworzyć gameboya jak adafruit ale co będę po kobietach zgapiał. Trochę mi to zajęło, konfiguracje w device tree, frejmbuferry, moduły. Testy na czystym raspibiane, na retropie, na wersji od adafruit. W końcu doszedłem do najczystszego rozwiązania, które poniżej opisze. Czyli jak uruchomić LCD TFT na Retropie.
LCD TFT
Na początek trzeba pobrać obraz retropie i wgrać go na kartę sd.
dd bs=4M if=retropie-v3.0beta2-rpi2.img | pv | dd of=/dev/mmcblk0
Po pierwszym uruchomieniu trzeba koniecznie poszerzyć partycję uruchamiając raspi-conf
raspi-conf
Następnie trzeba zaktualizować system
sudo apt-get update && apt-get upgrade
Od jakiegoś czasu bftft jest w kernelu więc nie trzeba nic instalować dodatkowego a dodać do /boot/config.txt poniższe linie.
hdmi_force_hotplug=1 hdmi_cvt=320 240 60 1 0 0 0 hdmi_group=2 hdmi_mode=87 dtoverlay=pitft28-resistive,speed=32000000,rotate=270,fps=30
Linie zaczynające się od HDMI wymuszają konfiguracje portu hdmi a linia dtoverlay.. uruchamia TFT LCD z parametrami. Można tu zmienić fps, rotacje. Cały trik będzie polegał na uruchomieniu programy fbcp który kopiuje obraz z hdmi do TFT. Dlatego zmieniłem rozdzielczość hdmi na 320×240. Jeśli wyświetlacz zmienił kolor z białego na czarny po uruchomieniu to znaczy, że wszystko jest ok.
Instalacja fbcp
cd /tmp sudo apt-get install -y cmake git clone --depth=1 https://github.com/tasanakorn/rpi-fbcp mkdir -p rpi-fbcp/build cd rpi-fbcp/build cmake .. make sudo install fbcp /usr/local/bin/fbcp cd ../.. rm -r rpi-fbcp
Dodaj w /etc/rc.local przed exit 0 aby fbcp startował automatycznie z systemem.
/usr/local/bin/fbcp &
Wifi
Ja aby uwolnić się od kabli mam mały modulik wifi TP-Link’a na USB. Aby skonfigurować sieć WifF jako klienta dodaj w /etc/wpa_supplicant/wpa_supplicant.conf
network={ ssid="twojasiecwifi" psk="tajnehaslotajnehaslo" key_mgmt=WPA-PSK }
a w pliku /etc/network/interfaces zmień
iface wlan0 inet static
na
iface wlan0 inet dhcp
i
wpa-run /etc/wpa_supplicant/wpa_supplicant.conf
na
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Fotkiii
Powiesiłem Raspberry Pi nad biurkiem, w czasie przerwy nad składaniem quada lub nettempem mogę sobie pyknąć w jakąś gierkę na padzie. Praca z Raspberry Pi2 to naprawdę przyjemność. Jest szybsze i naprawdę przyjemnie się na nim instaluje pakiety ale wrażeniami podzielę się w osobnym wpisie. A zapomniałbym – minus używania TFT przez fbcp to lekkie regularne lagi. Czyli to nie minus po prostu gra się jak kiedyś :D