installing it is pretty easy on ubuntu, I think there's a version in the default repos but I like to use the nightly builds from PPA.
<sudo add-apt-repository ppa:libretro/testing
<sudo apt update
to install every thing
<sudo apt install libretro*
I usually use synaptic GUI package manager to pick and choose only the subset of cores that you're interested in, otherwise updates take forever.
Lots of people get frustrated on first launch because it has 10 billion options. It's kind of a pain to get started, then it's the best. You only have to learn the UI once then it's exactly the same on your Wii, your 3ds, your switch, your PS3, your x86 computer, your raspberry pi, etc. It's complicated but worth it. Frequently point-and-click winbabbies don't put in the time to learn it and end up ragequitting and posting garbage on retroarch threads. Don't let this be you, sweety!
The best part about retroarch is the 'runahead' feature found under "settings -> latency", as you can use this to counteract lag, even lag that was originally built-in to the game. It's nice.