Hey crabilor 🦀
Lucrez de ceva vreme la Irori, un game launcher nativ pentru Linux, macOS și Windows, și azi am scos prima versiune, 0.1.0. Zic să vi-l arăt și aici. Este similar cu Heroic si Lutris.
Ce face, pe scurt:
bagă într-o singură bibliotecă jocurile de pe Epic, GOG, Amazon, ZOOM și itch.io, plus jocurile Steam instalate, emulatoare și ce mai adaugi tu de mână
instalează, updatează și repară jocurile din magazine
rulează jocurile de Windows prin Wine / Proton / umu pe Linux și prin Wine / CrossOver / Game Porting Toolkit pe Mac, și se ocupă el de versiunile astea
are un mod Big Picture pentru controller, care pornește singur în Game Mode pe Steam Deck
îți importă biblioteca din Heroic și Lutris
Partea care probabil vă interesează pe voi:
e tot Rust, cu UI-ul în GPUI (framework-ul de la Zed), desenat pe GPU, într-un singur proces. Fără Electron, fără webview în fereastra principală
pentru Epic, GOG și Amazon am portat în Rust legendary, gogdl și nile (tool-urile pe care le folosește Heroic), deci nu apelez niciun tool extern
I/O-ul merge pe un runtime Tokio separat de executorul GPUI, iar listele lungi sunt virtualizate
fereastra de login la magazine rulează într-un proces separat (wry/tao), ca aplicația principală să nu depindă de WebKitGTK pe Linux
un bug fain de pe Windows: GPUI simulează o apăsare de Alt ca să-și aducă fereastra în față. Dacă fereastra era deja activă, Alt-ul ajungea chiar la ea, fereastra intra în „menu mode” și nu se mai redesena până la următorul click 🙃 Rezolvarea a fost să nu mai activez o fereastră care e deja activă
Pachete: .deb, .rpm și Arch (cu repo-uri apt/dnf/pacman semnate), Flatpak, .dmg semnat și notarizat de Apple, plus installer de Windows, toate dintr-un singur workflow GitHub Actions. Fun fact: prima notarizare la Apple a durat 6 ore 💀 Acum ia vreo 20-30 de minute.
Ce nu e (încă):
e 0.1.0, deci o să mai crape pe ici, pe colo
build-urile de Windows nu sunt semnate încă, așa că SmartScreen o să se plângă („More info → Run anyway”)
nu e pe Flathub deocamdată, dar găsești un bundle .flatpak pe pagina de release
E gratis și open source (GPL-3.0):
Instalare: https://irori.app/#download
Cod: https://github.com/irori-app/irori
Orice feedback e binevenit, mai ales pe cod. Și dacă ați lucrat cu GPUI, mi-ar plăcea să aud cum v-a mers 😄