[OS] Arch Linux

Here come the beta release of my Arch Linux ARM port,

Feature :

  • Multitask
  • anywhere Volume / Backlight control
  • CPU actives Core number & Governor / Frequency selection
  • dedicated Launcher
  • multiple & native WI-Fi profiles
  • latest Mesa / Lima / Kernel / Retroarch …
  • dedicated Pacman binary repository
  • auto expand File System at first boot

Launcher, Fantasti, alpha revision
The fantasti is a Provencal elf, very close to the gripet, who establishes himself in the stables and then takes care of the cattle

  • Fast, writed in C
  • File Explorer philosophy
  • System native file launch method
  • sub-process management
  • could upgrade all packages from dedicated repository
  • transparent ZIP support

OS Keys :

  • Menu is the Hotkey
  • Volume control with Menu + Left / Right
  • Backlight control with Menu + Up / Down
  • Window context switch with Menu + Select
  • Terminate current program with Menu + B
  • Restart Xsession with Menu + X

SSH :
default user is gs, with password gs
root password is root

Fantasti Keys :

  • Menu to back, Start to enter

Explorer Keys :

  • Start to enter a directory
  • Start to launch a file
  • Select to go back a level
  • Menu to get out, will keep last position on next enter

Notes:

  • I put a bunch of public domain roms, tryed to keep all things legally, there may be any miss
  • You will for now need to reboot after created your WI-Fi profiles
  • Yaourt & Pikaur AUR helper are setup & fonctionnal
  • Mupen++ Retroarch Core don’t currently work with Lima, it miss shader functionality
  • Some things like Retroarch core are not for now from the repository and was Compiled & Setup in place
  • Native OS Open use xdg-open with the wrap of mimeopen, i set some roms file type to open with the good retroarch core, audio / video with mpv, pictures with feh, to create an association for an unhandled file use mimeopen -d “your file”
  • do system upgrade using sudo pacman -Syu by ssh, it will also upgrade all packages from custom repository, launcher update command will only do package from custom repo
  • do NOT push enter 10 times in file explorer to execute something, just be patient, will be limited in future
  • if a zip contain more than a file it will be show in explorer like a directory
  • if a zip contain a single file it will be uncrunch in /tmp and launched by the system
  • NO Bluetooth for now
  • still use clockwork u-boot
  • all the requirement for clockwork launcher are present (else wicd as we use netctl), system can launch clockwork launcher if you want

Future : Some, i wait for your return.

Setup
Minimal SD card is 8GB, OS take 5GB, Gzipped image is 1.6GB

Image MD5 :
a2605c78c008ba330bb94b8b6773867d arch.linux.arm.gs.beta.gz
Image Link : http://gs.dread.fr/arch/arch.linux.arm.gs.beta.gz

Linux :

curl http://gs.dread.fr/arch/arch.linux.arm.gs.beta.gz | gunzip -c | sudo dd of=/dev/sdX status=progress

Windows :
download OS compressed image : http://gs.dread.fr/arch/arch.linux.arm.gs.beta.gz
uncrunch it with winrar or other, flash it with etcher or other

Donation : Welcome

Video :

Merry Christmas :santa:

/ r043v / 2k19

16 Likes

Wow wow wow great job
Arch is fast

I want some screenshots ,lol

2 Likes

I tried your image, no usb ethernet?

never used it before, i initially used usb serial gadget,

checked, usb ethernet is enabled, but not configured,
you yet need type command from a terminal on the gameshell
for set a network with gs address at 10.0.1.1 :

sudo ifconfig usb0 10.0.1.1 netmask 255.255.255.0 up

and on my pc where usb eth show as enp0s26u1u2 device :

sudo ifconfig enp0s26u1u2 10.0.1.2 netmask 255.255.255.0 up

i will check automatic config on next release

i’ll try made a video :- )

edit > updated launcher to 0.4.h version, can now start usb ethernet with fixed ip 10.0.1.1 from network menu
you could update it directly from launcher update menu (with pressing enter for confirm the Y/n question)

1 Like

Screenshots please!!!

Merry Christmas!

Instead of using yaourt, I recommend using yay. Yaourt has several issues, and yay is the alternative to it. It was made to replace yaourt, and is supports every box in the comparison table. Yaourt has also been discontinued and cannot be found on the AUR itself.

1 Like

here is a screenshoot of my real christmas project, finished just before the deadline !

tomorrow i’ll try make a video :slight_smile:
don’t expect too much in graphic term, launcher is fully text & list based, not any icons at all,
philosophy is to be fast & efficient, giving you some control as primary goal

3 Likes

lol , you are best

shutdown seems a little bit bug , the shutdown won’t close the screen
leave all logs on the screen

3 Likes

i shutdown multiple times each days without issues,
systemd may occasionally be a bit longer to unmount the partitions, as first boot extend partition it may want done a full fsck on shutdown ?
it also could be longer to shutdown if a process get stuck, if it is the case you will see rotating red stars *** with a timeout waiting the process exit before killing him

1 Like

added a tiny demo video

direct link : http://gs.dread.fr/arch/arch.linux.arm.gs.beta.mp4

youtube :

4 Likes

Wow! this is awesome, and so fast!

How can I connect to my hidden wifi network?

1 Like

thanks :slight_smile:

for now using launcher you could only connect to visible wpa networks,
as the launcher only create a netctl conf file in /etc/netctl/ you could manually create a dedicated file

in your case for a hidden network you must add a Hidden=yes line in your file (netctl.profile man)

1 Like

just updated the launcher to 0.4.i, first entry of “scan wifi” result will now be “hidden network”, if selected it will asking you ssid to create the profile file,
still yet need to be a wpa network, and yet need having a network active to update the launcher using update menu entry

1 Like

Worked perfectly.

How are RetroArch and its cores installed? is it using the Arch repo or are they compiled by you? how can I update it to the latest nightly if I want?

EDIT: oh, I’ve just saw that a core for SNES is missing. I don’t know if BSNES could work full speed on the GS, but at least SNES9X.

some are from the official repo, some compiled from AUR, i started make binary packages in my dedicated repo, there must be one or two core who still manually compiled

current snes core is pocketsnes, a prebuild binary package is on my custom repo, you could also found precompiled bsnes package but my last test wasn’t lucky

http://gs.dread.fr/arch/armv7h/libretro-bsnes-gameshell-r1161.309341d0-1-armv7h.pkg.tar.xz

you could sudo pacman -U the package file or directly sudo pacman -S libretro-bsnes-gameshell

snes core(s) was the last platform who weren’t work, black screen at each core for an unknow raison, finally pocketsnes worked :- )

(real miss still n64, arm dynarec in mupen & parallel hang the system and each complain about shader functionality missing at init, force mesa to declare other GLES & GLSL wasn’t help

all core & file associations :

[gs@gs ~]$ ls /usr/lib/libretro/
fbneo_libretro.so              mgba_libretro.so
gambatte_libretro.so           mupen64plus_next_libretro.so
genesis_plus_gx_libretro.so    nestopia_libretro.so
handy_libretro.so              nxengine_libretro.so
libretro-pocketsnes.so         pcsx_rearmed_libretro.so
mednafen_ngp_libretro.so       pocketsnes_libretro.so
mednafen_pce_fast_libretro.so  scummvm_libretro.so
mednafen_wswan_libretro.so     yabause_libretro.so

[gs@gs ~]$ ls ~/.local/share/applications/
bash-usercreated-1.desktop     retroarch-ngp.desktop
bash-usercreated-2.desktop     retroarch-pce.desktop
python2-usercreated-1.desktop  retroarch-pocketsnes.desktop
retroarch-genesis.desktop      retroarch-psx.desktop
retroarch-handy.desktop        retroarch-snes9x2002.desktop
retroarch-mgba.desktop         retroarch-snes9x.desktop
retroarch-n64.desktop          retroarch-wswan.desktop
retroarch-nestopia.desktop     xterm-usercreated-1.desktop

[gs@gs ~]$ cat /home/gs/.config/mimeapps.list
[Default Applications]
application/x-nes-rom=retroarch-nestopia.desktop;
application/x-gamegear-rom=retroarch-genesis.desktop;
application/x-genesis-rom=retroarch-genesis.desktop;
application/vnd.stardivision.mail=retroarch-genesis.desktop;
application/x-pc-engine-rom=retroarch-pce.desktop;
application/x-sms-rom=retroarch-genesis.desktop;
application/x-gameboy-color-rom=retroarch-mgba.desktop;
application/x-gameboy-rom=retroarch-mgba.desktop;
application/x-wonderswan-color-rom=retroarch-wswan.desktop;
application/x-wonderswan-rom=retroarch-wswan.desktop;
application/x-gba-rom=retroarch-mgba.desktop;
application/x-atari-lynx-rom=retroarch-handy.desktop;
application/x-shellscript=bash-usercreated-2.desktop;
application/x-cue=retroarch-psx.desktop;
application/x-neo-geo-pocket-color-rom=retroarch-ngp.desktop;
application/x-n64-rom=retroarch-n64.desktop;
application/vnd.nintendo.snes.rom=retroarch-pocketsnes.desktop;
audio/x-mpegurl=mpv.desktop;
2 Likes

damn it, another one who die %) i was used from years apacman, RIP
i’ll check yay, thanks for the info !

edit > have Go has deps add 500mo, a bit too much for an AUR helper as pikaur is already present :confused:

1 Like

tiny update on the window manager (monsterwm)
adding new shortcut :

  • Terminate current program with Menu + B
  • Restart Xsession with Menu + X

can be updated from update menu entry

1 Like

Extremely interesting!
Could you try FinalBurn Neo (ref.0.2.97.44) emulation with In The Hunt (inthunt.zip), Night Slasher (nslasher.zip), Ninja Baseball Bat Man (nbbatman.zip) and Attack of the lunar Loonies (spcinv95.zip) ? This will show right away if Arcade emulation is better.

inthunt : 30fps
nslasher : 28fps
nbbatman : fail to load, maybe the rom i took
spcinv95 : 18~20fps

it’s the stock retroarch & fbneo core from repo, recompile it on gs with right cpu & not generic arm one may help

1 Like

Really digging the launcher! Really snappy and I haven’t run into any sort of crashing issue at all!

I have two questions.

  1. Is there a way to set up an autostart script so that retroarch launches on boot?
  2. I made the mistake of attempting to edit the mimekey.list to change default apps for gb and gbc (would really want to use gambatte for those, and possibly gpsp for gba if it is working). This ended up breaking it. Is there a way to get it working again?