RetroArch is a nice front-end GUI to enable a computer to emulate various console systems such as NES, SNES, Sega, etc. To keep it brief, here’s how to install this toy on CentOS.

# Add epel repo and install snapd
sudo yum -y install epel-release
sudo yum -y install snapd

# Enable snapd
# Pre-empt this error
# error: cannot communicate with server: Post http://localhost/v2/snaps/retroarch: dial unix /run/snapd.socket: connect: no such file or directory
sudo systemctl enable --now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap

# Use snapd to install RetroArch
sudo snap install retroarch

# Sample output
[root@playbox ~]# sudo snap install retroarch
error: cannot communicate with server: Post http://localhost/v2/snaps/retroarch: dial unix /run/snapd.socket: connect: no such file or directory
[root@playbox ~]#
[root@playbox ~]# sudo systemctl enable --now snapd.socket
Created symlink /etc/systemd/system/sockets.target.wants/snapd.socket → /usr/lib/systemd/system/snapd.socket.
[root@playbox ~]# sudo ln -s /var/lib/snapd/snap /snap
[root@playbox ~]# sudo snap install retroarch
error: too early for operation, device not yet seeded or device model not acknowledged
[root@playbox ~]# sudo snap install retroarch
2020-06-07T21:45:43-07:00 INFO Waiting for restart...
Warning: /var/lib/snapd/snap/bin was not found in your $PATH. If you've not restarted your session
         since you installed snapd, try doing that. Please see https://forum.snapcraft.io/t/how-to-fix-snap-binaries-not-found/9469
         for more details.
retroarch 1.8.8 from hunterk (libretro) installed