Retropie Installation on Ubuntu Server x64 18.04.1
-
@johnodon Hey there, before anything, thanks for sharing this awesome stuff :D. I am going to try it on my server (20.04), i would like to avoid running retropie on startup, considering i have plenty other stuff on the server. Is there an easy way to avoid it by editing the provided bootstrap.sh ? thanks in advance !
-
Can't wait to try this out.....
-
@etheling said in Retropie Installation on Ubuntu Server x64 18.04.1:
And lastly, while not completely unexpected, still somewhat disappointing: it looks like nVidia or Radeon based systems don't trivially support this approach. They might still, but... I got KMS/DRM working under Nouveau nVidia driver (used 'nouveau.modeset=1 i915.modeset=0' boot options), but performance was subjectively substandard to running emulators under X with nVidia binary drivers, so unless one is open source purist, I don't know why would you want to do that.
@etheling Wasn't sure if you saw this or not:
https://wiki.archlinux.org/index.php/NVIDIA#DRM_kernel_mode_settingI have KMS/DRM working nicely on my Asus CN65 (Intel HD 5500) but would LOVE to get my GTX1650 purring. Does any of the above help to get us closer to Nvidia support?
TIA!
John
-
https://wiki.archlinux.org/index.php/NVIDIA#DRM_kernel_mode_setting
I think version 364.16 that they mention in Arch wiki is from around 2016. I tried to get KMS/DRM working on 1080Ti equipped workstation with Nouveau and NVidia proprietary drivers around new years but gave up. With Nouveau the KMS/DRM perf was sub par (e.g. about the same as what I get from Intel Iris 655 that I have in NUC). Proprietary driver wouldn't co-operate at all. I was more curious than determined, so maybe there is some way to get it running. These changes coming to 5.11/5.12 kernels might change something for the better on the Noveau side. I may try again after Ubuntu 21.04 is released later this month as I think it'll ship with 5.11.
I got my hands on a new 'toy' couple of weeks back with AMD Ryzen 5 / Vega 11 inside, complete with FreeSync enabled 144Hz gaming display. And I absolutely wanted to try to see how RetroPie/RetroArch runs with FreeSync enabled and generally see how it compares to my NUC.
TL;Dr: KMS/DRM doesn't appear to support Variable Refresh Rate (VRR) at all yet (although some work seems to be in progress to make it supported), and in general KMS/DRM perf wasn't as good as expected on Razen/Vega 11 (tried with both open source and AMD proprietary driver). Perf was as expected and VRR/FreeSync worked great under both X and Wayland/Sway. Working combination I have now is Ubuntu 20.04, with latest AMDGPU 20.50 driver and Wayland using Sway compositor.
And let me go on record saying that I absolutely love the RetroPie experience with FreeSync enabled. Now modesetting can be completely skipped in runcommand as RetroArch (with
vrr_runloop_enable = "true"
) cores are able to sync monitor to actual refresh rate the content runs on (like NTSC or PAL refresh rates or to more exotic ones like NeoGeo at 59.1856060Hz, StarWars at 40Hz or Mortal Kombat at 54Hz etc.). It is probably placebo effect, but some titles just feel more smooth and responsive with FreeSync running.I'll see if I can package what I did to an install 'recipe' for MisterBs core install script so that if someone else wants to try Linux / FreeSync / VRR /w RetroPie on AMDGPU, they can skip right to the good part. :)
-
@etheling Honestly, I stopped using mini/server as the base OS and now just use 20.04 Desktop and make Openbox the default DE. There is very little tweaking that needs to be done after the fact (i.e. set gnome terminal background to black, hide the scrollbar, etc.) and I can always get back to a true desktop if needed. My HP Prodesk 600 G2 does an excellent job of hiding boot test so no tweaking needed there. On a 240GB SSD that is dedicated to the OS and a 1TB SSD for ROMS/media, I'm not exactly hurting for space and boot times really aren't that much slower. So far it has been an absolute joy.
That being said...from what I have seen on my Chromebox, KMS/DRM is the way to go as far as giving a true appliance look/feel.
John
-
As mentioned few days a go I've been playing around with RetroPie and FreeSync, and I really like how it works / feels.
Below is a link to install script to configure Ubuntu 20.04LTS and RetroPie to work with AMD FreeSync when amdgpu and compatible display are present. Script probably looks more complicated than it really was to get everything going, but at the same time, it took me a while to get all the right configs/pieces together - and now they are codified here to hopefully save anyone else who wants to try this from the trouble.
URL: https://gist.github.com/etheling/a0978b54c8989002fbd913d179cc1543
It overwrites and modifies current Wayland and X. org configurations and generally expects to be ran as part of post install portion of RetroPie Ubuntu setup script by MisterB.
If ran independently, results may vary, because current configuration may differ from expected starting point.
To produce a working FreeSync VRR configuration on Linux, script needs following (these are likely to change over time as driver situation improves/changes):
- Modern AMD GPU and Display that support FreeSync
- DisplayPort cable (VRR only supported over DP on Linux currently, but some work appears to be underway to also support VRR over HDMI)
- Ubuntu 20.04 LTS (newest Ubuntu that is supported by AMD GPU drivers from amd.com)
- AMD GPU proprietary driver 20.50 (open source stock linux driver introduced stutter etc. where smooth motion was expected; I am using e.g. Atari 2600 Seaquest to test this. 20.50 is first version to support Ubuntu 20.04.2)
- Sway 1.5.x Wayland compositor (VRR is supported starting v1.5 of Sway, but Ubuntu 20.04 ships with 1.4)
- RetroPie emulationstation-dev (because current default version does not work with AMD proprietary driver)
- RetroArch 1.7.4 or newer for FreeSync/G-Sync support (vrr_runloop_enable)
In addition to above, Mesa will be upgraded to latest stable Mesa from ppa:kisak/kisak-mesa
This script has only been tested on 1920x1080@144Hz Viewsonic XG2405 display. It assumes that everything will be ran at 1080p resolution. It will also roll back certain changes made by core install script (remove plymouth theme/splash and switch to i3 as a default X window manager) in order to harmonize setup between Wayland and X. Please note that Wayland/Sway is started with XWayland disabled.
Once the script successfully completes, it has created working configurations for Wayland/Sway and X. org/i3, and has modified/replaced [roughly] following configuration files:
- /etc/X11/xorg.conf - enable TearFree, DRI3, VRR and set Modeline for VRR mode
- /home/<user>/.bash_profile - set environment, start Sway or i3
- /home/<user>/.config/i3/config
- /home/<user>/.config/sway/config
- /home/<user>/.xsession - set freesync propert
- /opt/retropie/suplementary/runcommand/runcommand.sh - allow showing launching images under Wayland
- /opt/retropie/configs/all/retroarch.cfg - enable G/FreeSync, set display driver to Vulkan
- /etc/default/grub - set kernel / GRUB modes
Wayland configuration is used as a default as xorg. conf needs a modeline created, which is not very well tested nor does it feel robust.
After reboot, the system will at startup launch Sway/Wayland and load emulation station (F4, Win+Enter to get shell). To change to running under X. org/i3 (or KMS/DRM?), see /home/<user>/.bashprofile.
NeoGeo at 59.19fps, Mortal kombat at ~56Hz and Star Wars at 80Hz (core runs at 40Hz, but because display can only go down to 48Hz, it is running at double the Hz).
-
@johnodon I couldn't agree more on KMS/DRM. I feel that it's the best way to experience RetroPie. Unfortunately it seems to currently work best on Intel GPUs. E.g. it works on AMD Vega 11 I tried it on, but shader performance is subpar compared to running under X or Wayland. And with NVidia we're not even that close. But hopefully this improves as time goes on.
I stopped using mini/server as the base OS and now just use 20.04 Desktop and make Openbox the default DE
That makes total sense. I have a PXE boot setup at home through which I can (most of the time ;-) automatically image my dedicated RetroPie NUC, etc. so it fits my setup very well. Main benefit I see is that it provides a sort of stable starting point for these other scripts that tune the Ubuntu based RetroPie setup.
-
@etheling said in Retropie Installation on Ubuntu Server x64 18.04.1:
That makes total sense. I have a PXE boot setup at home through which I can (most of the time ;-) automatically image my dedicated RetroPie NUC, etc. so it fits my setup very well. Main benefit I see is that it provides a sort of stable starting point for these other scripts that tune the Ubuntu based RetroPie setup.
I do exactly the same, using a combo of pfsense/unRAID for all of the heavy lifting.
-
will lr-mame install under this package? having trouble getting it installed on ubuntu runinng retropie
-
@etheling I invested in an HP Elitedesk 800 G2 mini for my arcade cab (will be used for MAME/FBNEO/Atomiswave/Naomi/Daphne only). It has an Intel iGPU so I am giving your KMS/DRM script a go on Server 20.10. I'll report back.
ps. Was there a reason why you landed on 20.10? Have you moved onto 21.04 yet?
John
-
@gusrod1580 said in Retropie Installation on Ubuntu Server x64 18.04.1:
will lr-mame install under this package? having trouble getting it installed on ubuntu runinng retropie
It should install fine but when I had issues in the past it was because I didn't define a swap file.
-
@johnodon said in Retropie Installation on Ubuntu Server x64 18.04.1:
@gusrod1580 said in Retropie Installation on Ubuntu Server x64 18.04.1:
will lr-mame install under this package? having trouble getting it installed on ubuntu runinng retropie
It should install fine but when I had issues in the past it was because I didn't define a swap file.
Actually, I am having issues again when trying to compile lr-mame on Ubuntu 20.04. It hangs on a random file and I have to break out of the routine.
-
EDIT: I updated the code below to call
cvlc
rather thanvlc
to avoid the command interface being displayed.
EDIT2: Added--gl=any
to the switches which helped with some screen tearing.For anyone interested in adding boot animation to your x86 install...
I stole this idea from this thread/post: https://retropie.org.uk/forum/post/200329
You need to create the
~/Retropie/splashscreens
folder and drop your MP4s in there. This folder is already mapped via Samba but is not created with the x86 RP setup script.Since I am using @etheling's KMS/DRM scripts, I modified my
~/.bash_profile
to look like this:if [[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty1 ]]; then cvlc --random --play-and-stop --play-and-exit --fullscreen --video-on-top --no-video-title-show --quiet --gl=any ~/RetroPie/splashscreens &> /dev/null emulationstation fi
Now on startup, the boot animation is played and ES is launched immediately after.
Johnbolded text
-
@johnodon Thanks for sharing your find!
-
@clyde said in Retropie Installation on Ubuntu Server x64 18.04.1:
@johnodon Thanks for sharing your find!
NP. One small change made. See EDIT above.
John
-
@etheling or anyone else using KMS/DRM…
Are video snaps working for you? As soon as I select a system, ES crashes. If I comment out the ‘video’ elements in the gamelist.xml, everything works as expected.
John
-
UPDATE: This gist (https://gist.github.com/etheling/fce73b919b6dc7fc51b2fe715d9faba2) works but the one linked below does not.
@etheling I'm not sure what has changed in the last month or so but I performed a clean install on my Asus CN62 using your gists (https://gist.github.com/etheling/085c4b015a0d35765de7366f3c40b454) and get a black screen when ES launches. I've tried multiple versions of Ubuntu but let's just baseline on 20.04 mini.
Your scripts had worked previously on the same hardware. Any ideas? Which logs should I be looking at? I can see that ES is indeed running...
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.8 0.0 167344 11140 ? Ss 07:57 0:00 /sbin/init root 2 0.0 0.0 0 0 ? S 07:57 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? I< 07:57 0:00 [rcu_gp] root 4 0.0 0.0 0 0 ? I< 07:57 0:00 [rcu_par_gp] root 5 0.0 0.0 0 0 ? I 07:57 0:00 [kworker/0:0-events] root 6 0.0 0.0 0 0 ? I< 07:57 0:00 [kworker/0:0H-events_highpri] root 7 0.0 0.0 0 0 ? I 07:57 0:00 [kworker/0:1-memcg_kmem_cache] root 8 0.0 0.0 0 0 ? I 07:57 0:00 [kworker/u8:0-events_unbound] root 9 0.0 0.0 0 0 ? I< 07:57 0:00 [mm_percpu_wq] root 10 0.0 0.0 0 0 ? S 07:57 0:00 [ksoftirqd/0] root 11 0.0 0.0 0 0 ? I 07:57 0:00 [rcu_sched] root 12 0.0 0.0 0 0 ? S 07:57 0:00 [migration/0] root 13 0.0 0.0 0 0 ? S 07:57 0:00 [idle_inject/0] root 14 0.0 0.0 0 0 ? S 07:57 0:00 [cpuhp/0] root 15 0.0 0.0 0 0 ? S 07:57 0:00 [cpuhp/1] root 16 0.0 0.0 0 0 ? S 07:57 0:00 [idle_inject/1] root 17 0.1 0.0 0 0 ? S 07:57 0:00 [migration/1] root 18 0.0 0.0 0 0 ? S 07:57 0:00 [ksoftirqd/1] root 19 0.0 0.0 0 0 ? I 07:57 0:00 [kworker/1:0-events] root 20 0.0 0.0 0 0 ? I< 07:57 0:00 [kworker/1:0H-events_highpri] root 21 0.0 0.0 0 0 ? S 07:57 0:00 [cpuhp/2] root 22 0.0 0.0 0 0 ? S 07:57 0:00 [idle_inject/2] root 23 0.1 0.0 0 0 ? S 07:57 0:00 [migration/2] root 24 0.0 0.0 0 0 ? S 07:57 0:00 [ksoftirqd/2] root 25 0.0 0.0 0 0 ? I 07:57 0:00 [kworker/2:0-events] root 26 0.0 0.0 0 0 ? I< 07:57 0:00 [kworker/2:0H-kblockd] root 27 0.0 0.0 0 0 ? S 07:57 0:00 [cpuhp/3] root 28 0.0 0.0 0 0 ? S 07:57 0:00 [idle_inject/3] root 29 0.1 0.0 0 0 ? S 07:57 0:00 [migration/3] root 30 0.0 0.0 0 0 ? S 07:57 0:00 [ksoftirqd/3] root 31 0.0 0.0 0 0 ? I 07:57 0:00 [kworker/3:0-events] root 32 0.0 0.0 0 0 ? I< 07:57 0:00 [kworker/3:0H-kblockd] root 33 0.0 0.0 0 0 ? S 07:57 0:00 [kdevtmpfs] root 34 0.0 0.0 0 0 ? I< 07:57 0:00 [netns] root 35 0.0 0.0 0 0 ? S 07:57 0:00 [rcu_tasks_kthre] root 36 0.0 0.0 0 0 ? S 07:57 0:00 [kauditd] root 37 0.0 0.0 0 0 ? S 07:57 0:00 [khungtaskd] root 38 0.0 0.0 0 0 ? S 07:57 0:00 [oom_reaper] root 39 0.0 0.0 0 0 ? I< 07:57 0:00 [writeback] root 40 0.0 0.0 0 0 ? S 07:57 0:00 [kcompactd0] root 41 0.0 0.0 0 0 ? SN 07:57 0:00 [ksmd] root 42 0.0 0.0 0 0 ? SN 07:57 0:00 [khugepaged] root 47 0.0 0.0 0 0 ? I 07:57 0:00 [kworker/3:1-memcg_kmem_cache] root 89 0.0 0.0 0 0 ? I< 07:57 0:00 [kintegrityd] root 90 0.0 0.0 0 0 ? I< 07:57 0:00 [kblockd] root 91 0.0 0.0 0 0 ? I< 07:57 0:00 [blkcg_punt_bio] root 92 0.0 0.0 0 0 ? I 07:57 0:00 [kworker/2:1-events] root 93 0.0 0.0 0 0 ? I< 07:57 0:00 [tpm_dev_wq] root 94 0.0 0.0 0 0 ? I< 07:57 0:00 [ata_sff] root 95 0.0 0.0 0 0 ? I< 07:57 0:00 [md] root 96 0.0 0.0 0 0 ? I< 07:57 0:00 [edac-poller] root 97 0.0 0.0 0 0 ? I< 07:57 0:00 [devfreq_wq] root 98 0.0 0.0 0 0 ? S 07:57 0:00 [watchdogd] root 99 0.0 0.0 0 0 ? I 07:57 0:00 [kworker/u8:1-events_unbound] root 101 0.0 0.0 0 0 ? S 07:57 0:00 [kswapd0] root 102 0.0 0.0 0 0 ? S 07:57 0:00 [ecryptfs-kthrea] root 104 0.0 0.0 0 0 ? I< 07:57 0:00 [kthrotld] root 105 0.0 0.0 0 0 ? I 07:57 0:00 [kworker/1:1-events] root 106 0.0 0.0 0 0 ? I< 07:57 0:00 [acpi_thermal_pm] root 107 0.0 0.0 0 0 ? I< 07:57 0:00 [vfio-irqfd-clea] root 108 0.0 0.0 0 0 ? I 07:57 0:00 [kworker/0:2-memcg_kmem_cache] root 109 0.0 0.0 0 0 ? I< 07:57 0:00 [ipv6_addrconf] root 118 0.0 0.0 0 0 ? I< 07:57 0:00 [kstrp] root 121 0.0 0.0 0 0 ? I< 07:57 0:00 [kworker/u9:0-rb_allocator] root 136 0.0 0.0 0 0 ? I 07:57 0:00 [kworker/2:2-events] root 137 0.0 0.0 0 0 ? I< 07:57 0:00 [charger_manager] root 185 0.0 0.0 0 0 ? I 07:57 0:00 [kworker/1:2-pm] root 187 0.0 0.0 0 0 ? S 07:57 0:00 [scsi_eh_0] root 188 0.0 0.0 0 0 ? I< 07:57 0:00 [scsi_tmf_0] root 189 0.0 0.0 0 0 ? S 07:57 0:00 [scsi_eh_1] root 190 0.0 0.0 0 0 ? I< 07:57 0:00 [scsi_tmf_1] root 191 0.0 0.0 0 0 ? S 07:57 0:00 [scsi_eh_2] root 192 0.0 0.0 0 0 ? I< 07:57 0:00 [scsi_tmf_2] root 193 0.0 0.0 0 0 ? S 07:57 0:00 [scsi_eh_3] root 194 0.0 0.0 0 0 ? I< 07:57 0:00 [scsi_tmf_3] root 195 0.0 0.0 0 0 ? I 07:57 0:00 [kworker/u8:2-events_unbound] root 196 0.0 0.0 0 0 ? I 07:57 0:00 [kworker/u8:3-events_unbound] root 197 0.0 0.0 0 0 ? I 07:57 0:00 [kworker/u8:4-events_unbound] root 199 0.0 0.0 0 0 ? I< 07:57 0:00 [kworker/3:1H] root 200 0.0 0.0 0 0 ? I 07:57 0:00 [kworker/3:2-events] root 201 0.0 0.0 0 0 ? I 07:57 0:00 [kworker/u8:5-efi_rts_wq] root 202 0.0 0.0 0 0 ? I 07:57 0:00 [kworker/3:3-events] root 203 0.0 0.0 0 0 ? I 07:57 0:00 [kworker/3:4-events] root 204 0.0 0.0 0 0 ? I 07:57 0:00 [kworker/3:5-events] root 205 0.0 0.0 0 0 ? I< 07:57 0:00 [kworker/0:1H-kblockd] root 206 0.0 0.0 0 0 ? I 07:57 0:00 [kworker/u8:6] root 207 0.0 0.0 0 0 ? I< 07:57 0:00 [kworker/2:1H-events_highpri] root 219 0.0 0.0 0 0 ? I< 07:57 0:00 [kworker/1:1H-kblockd] root 243 0.0 0.0 0 0 ? S 07:57 0:00 [jbd2/sda2-8] root 244 0.0 0.0 0 0 ? I< 07:57 0:00 [ext4-rsv-conver] root 279 0.2 0.1 51480 23172 ? S<s 07:57 0:00 /lib/systemd/systemd-journald root 301 0.6 0.0 23432 6884 ? Ss 07:57 0:00 /lib/systemd/systemd-udevd systemd+ 308 0.1 0.0 26604 7656 ? Ss 07:57 0:00 /lib/systemd/systemd-networkd root 328 0.0 0.0 0 0 ? I 07:57 0:00 [kworker/2:3-rcu_gp] root 346 0.0 0.0 0 0 ? S 07:57 0:00 [irq/49-mei_me] root 354 0.0 0.0 0 0 ? I< 07:57 0:00 [cfg80211] root 368 0.0 0.0 0 0 ? I 07:57 0:00 [kworker/2:4-cgroup_destroy] root 371 0.0 0.0 0 0 ? I< 07:57 0:00 [cryptd] root 376 0.0 0.0 0 0 ? S 07:57 0:00 [irq/52-iwlwifi] root 402 0.0 0.0 0 0 ? I 07:57 0:00 [kworker/1:3-events] root 403 0.0 0.0 0 0 ? I< 07:57 0:00 [kworker/u9:1-hci0] root 404 0.0 0.0 0 0 ? I< 07:57 0:00 [kworker/u9:2-hci0] root 474 0.0 0.0 0 0 ? I 07:57 0:00 [kworker/0:3-events] systemd+ 482 0.1 0.0 23896 11940 ? Ss 07:57 0:00 /lib/systemd/systemd-resolved systemd+ 483 0.1 0.0 90252 6148 ? Ssl 07:57 0:00 /lib/systemd/systemd-timesyncd avahi 496 0.0 0.0 8528 3532 ? Ss 07:57 0:00 avahi-daemon: running [ASUSCN62.local] root 497 0.0 0.0 8360 4560 ? Ss 07:57 0:00 /usr/lib/bluetooth/bluetoothd root 499 0.0 0.0 9412 2876 ? Ss 07:57 0:00 /usr/sbin/cron -f message+ 501 0.1 0.0 8080 4812 ? Ss 07:57 0:00 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only root 502 0.2 0.1 335636 19204 ? Ssl 07:57 0:00 /usr/sbin/NetworkManager --no-daemon root 509 0.0 0.0 81896 3668 ? Ssl 07:57 0:00 /usr/sbin/irqbalance --foreground root 511 0.1 0.1 32040 18128 ? Ss 07:57 0:00 /usr/bin/python3 /usr/bin/networkd-dispatcher --run-startup-triggers root 514 0.0 0.0 234816 9052 ? Ssl 07:57 0:00 /usr/lib/policykit-1/polkitd --no-debug syslog 516 0.0 0.0 224348 4780 ? Ssl 07:57 0:00 /usr/sbin/rsyslogd -n -iNONE root 517 0.0 0.0 16664 7552 ? Ss 07:57 0:00 /lib/systemd/systemd-logind nobody 518 0.0 0.0 5324 2908 ? Ss 07:57 0:00 /usr/sbin/thd --triggers /etc/triggerhappy/triggers.d/ --socket /run/thd.socket --user nobody --deviceglob /dev/inp root 520 0.0 0.0 14068 8976 ? Ss 07:57 0:00 /sbin/wpa_supplicant -u -s -O /run/wpa_supplicant avahi 525 0.0 0.0 8344 324 ? S 07:57 0:00 avahi-daemon: chroot helper root 553 0.0 0.0 313744 10616 ? Ssl 07:57 0:00 /usr/sbin/ModemManager --filter-policy=strict root 560 0.0 0.0 12176 6904 ? Ss 07:57 0:00 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups root 563 0.0 0.0 5748 4176 tty1 Ss 07:57 0:00 /bin/login -f pi 610 0.0 0.0 18400 9524 ? Ss 07:57 0:00 /lib/systemd/systemd --user pi 611 0.0 0.0 168756 3212 ? S 07:57 0:00 (sd-pam) pi 617 0.2 0.1 284308 18244 ? S<sl 07:57 0:00 /usr/bin/pulseaudio --daemonize=no --log-target=journal pi 618 0.0 0.0 10860 5012 tty1 S 07:57 0:00 -bash rtkit 620 0.0 0.0 152932 2984 ? SNsl 07:57 0:00 /usr/libexec/rtkit-daemon pi 623 0.0 0.0 7108 4020 ? Ss 07:57 0:00 /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only root 627 0.0 0.0 0 0 ? S< 07:57 0:00 [krfcommd] root 630 0.0 0.0 36552 13604 ? Ss 07:57 0:00 /usr/sbin/nmbd --foreground --no-process-group root 638 0.0 0.1 51560 22128 ? Ss 07:57 0:00 /usr/sbin/smbd --foreground --no-process-group root 640 0.0 0.0 49348 7580 ? S 07:57 0:00 /usr/sbin/smbd --foreground --no-process-group root 641 0.0 0.0 49340 5612 ? S 07:57 0:00 /usr/sbin/smbd --foreground --no-process-group root 643 0.0 0.0 51560 9388 ? S 07:57 0:00 /usr/sbin/smbd --foreground --no-process-group pi 645 0.0 0.0 9624 3580 tty1 S+ 07:57 0:00 /bin/bash /usr/bin/emulationstation pi 654 0.0 0.0 2608 600 tty1 S+ 07:57 0:00 /bin/sh /opt/retropie/supplementary/emulationstation/emulationstation.sh pi 657 39.7 0.5 623196 87476 tty1 Rl+ 07:57 0:20 /opt/retropie/supplementary/emulationstation/emulationstation root 689 0.1 0.0 13980 9052 ? Ss 07:57 0:00 sshd: pi [priv] pi 719 0.0 0.0 14116 6020 ? R 07:57 0:00 sshd: pi@pts/0 pi 720 0.0 0.0 10772 4972 pts/0 Ss 07:57 0:00 -bash pi 724 0.0 0.0 11492 3288 pts/0 R+ 07:58 0:00 ps aux
Also posting HW specs...
System: Host: ASUSCN62 Kernel: 5.4.0-80-generic x86_64 bits: 64 Console: tty pts/0 Distro: Ubuntu 20.04.2 LTS (Focal Fossa) Machine: Type: Desktop Mobo: GOOGLE model: Guado v: 1.0 serial: 712000QAMBQC00013 UEFI: coreboot v: MrChromebox-4.14 date: 07/25/2021 CPU: Info: Dual Core model: Intel Core i7-5500U bits: 64 type: MT MCP cache: L2: 4 MiB Speed: 1397 MHz min/max: 500/3000 MHz Core speeds (MHz): 1: 1397 2: 1397 3: 1397 4: 1399 Graphics: Device-1: Intel HD Graphics 5500 driver: i915 v: kernel Display: server: X.org 1.20.11 driver: loaded: i915 note: n/a (using device driver) tty: 182x42 Message: Advanced graphics data unavailable in console for root. Audio: Device-1: Intel Broadwell-U Audio driver: snd_hda_intel Device-2: Intel Wildcat Point-LP High Definition Audio driver: snd_hda_intel Sound Server-1: ALSA v: k5.4.0-80-generic running: yes Sound Server-2: PulseAudio v: 13.99.1 running: yes Network: Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet driver: r8169 IF: enp1s0 state: up speed: 1000 Mbps duplex: full mac: a8:1e:84:6e:a5:76 Device-2: Intel Wireless 7260 driver: iwlwifi IF: wlp2s0 state: down mac: f0:42:1c:e2:56:7b Bluetooth: Device-1: Intel type: USB driver: btusb Report: hciconfig ID: hci0 state: up address: F0:42:1C:E2:56:7F bt-v: 2.1 Drives: Local Storage: total: 476.94 GiB used: 6.36 GiB (1.3%) ID-1: /dev/sda vendor: KingSpec model: NT-512 size: 476.94 GiB Partition: ID-1: / size: 467.96 GiB used: 6.36 GiB (1.4%) fs: ext4 dev: /dev/sda2 ID-2: /boot/efi size: 511 MiB used: 5.2 MiB (1.0%) fs: vfat dev: /dev/sda1 Swap: ID-1: swap-1 type: file size: 2 GiB used: 0 KiB (0.0%) file: /swapfile Sensors: System Temperatures: cpu: 122.5 C mobo: N/A Fan Speeds (RPM): N/A Info: Processes: 129 Uptime: 7m Memory: 15.51 GiB used: 681.4 MiB (4.3%) Init: systemd runlevel: 3 Shell: Bash inxi: 3.3.06
John
-
I just created a new topic, which also relates to this thread. Maybe some of you can help out:
Emulation Station Unresponsive on Startup (Ubuntu Server 20.04.3 LTS x86_64)
Any help would be greatly appreciated.
-
-
@johnodon said in Retropie Installation on Ubuntu Server x64 18.04.1:
UPDATE: See MisterB's post below (https://retropie.org.uk/forum/post/190169) for an automated script to complete all of these tasks (+ many improvements). This is the preferred method of install of RP on Ubuntu Server/Mini 18.04/20.04.
Direct link to his scripts: https://github.com/MizterB/RetroPie-Setup-UbuntuServer
This post and the remainder of this thread can be used for additional info and troubleshooting tips.
Many thanks to all the individuals who have contributed to the idea of running Retropie on an Ubuntu server distribution. Most of the discussions regarding this topic can be found in these threads:
https://retropie.org.uk/forum/topic/12037/building-on-ubuntu-server-16-04
https://retropie.org.uk/forum/topic/9346/retropie-on-ubuntu-without-unityI welcome any/all feedback and will incorporate as needed. I will post some video of the installation as well and the end product as soon as I have them. This is a 'living' how-to that is divided into 3 sections:
Required Steps: The necessary components/configuration for Retropie to run on Ubuntu Server.
Optional Steps: Additional components/configuration to make Retropie more 'appliance-like' (i.e. hiding terminal windows)
Troubleshooting: Some issues to look out for and how to correct.Disclaimer:
- I tested ONLY on Ubuntu Server x64 18.04.1 (I will update as new baseline media is released and tested)
- I tested ONLY keyboard and USB connected arcade stick.
- I DID NOT test gamepads (wired or wireless).
- I tested on 3 different physical HW and a few VMs.
- Your HW will be different and may present unknown challenges.
"Look Mom...no terminal windows or mouse pointer!" :) Here is a short video to show transitions (or lack thereof) from ES to gameplay...
Required Steps
1. Install Ubuntu Server x64 (version outlined above)
- I perform a vanilla install
- Language = English
- Keyboard/Variant = Engish (US)
- I use 'pi' for name and username and 'raspberry' for password so I can transfer settings easily from a Pi install
- I partiton the entire disk (no LVM)
- I do not install any server snaps
I perform all steps outlined below in a remote SSH session so I can copy/paste
2. Add 'pi' user to sudoers (password required first time)
sudo sed -i -e '$a\pi ALL=(ALL) NOPASSWD:ALL' /etc/sudoers
3. Enable Universe repo, update/upgrade and install dependencies
sudo apt-add-repository universe && sudo apt-get update -y && sudo apt-get upgrade -y && sudo apt-get install xorg openbox pulseaudio alsa-utils menu libglib2.0-bin python-xdg at-spi2-core libglib2.0-bin dbus-x11 git dialog unzip xmlstarlet --no-install-recommends -y
4. Create Openbox autostart script to launch ES using gnome terminal
mkdir ~/.config && mkdir ~/.config/openbox && echo 'gnome-terminal --full-screen --hide-menubar -- emulationstation' >> ~/.config/openbox/autostart
5. Create .xsession file
echo 'exec openbox-session' >> ~/.xsession
6. Add startx to .bash_profile
echo 'if [[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty1 ]]; then' >> ~/.bash_profile && sed -i '$ a\ startx -- -nocursor >/dev/null 2>&1' ~/.bash_profile && sed -i '$ a\fi' ~/.bash_profile
7. Configure 'pi' user to autologin
sudo mkdir /etc/systemd/system/getty@tty1.service.d && sudo sh -c 'echo [Service] >> /etc/systemd/system/getty@tty1.service.d/override.conf' && sudo sed -i '$ a\ExecStart=' /etc/systemd/system/getty@tty1.service.d/override.conf && sudo sed -i '$ a\ExecStart=-/sbin/agetty --skip-login --noissue --autologin pi %I $TERM' /etc/systemd/system/getty@tty1.service.d/override.conf && sudo sed -i '$ a\Type=idle' /etc/systemd/system/getty@tty1.service.d/override.conf
8.. Get Retropie Setup script and run it
git clone --depth=1 https://github.com/RetroPie/RetroPie-Setup.git && sudo RetroPie-Setup/retropie_setup.sh
The following steps are performed in the Retropie Setup script GUI.
9. Accept disclaimer
10. Basic install --> OK --> Yes
11. Perform rebootRetropie should now be up and running. Copy some ROMs to the system and update RP as you see fit.
Optional Steps
- Install Herb Fargus boot themes (Plymouth)and set retropie-pacman as default
sudo apt-get update && sudo apt-get install plymouth plymouth-themes plymouth-x11 -y && git clone --depth=1 https://github.com/HerbFargus/plymouth-themes.git tempthemes && sudo cp -r ~/tempthemes/. /usr/share/plymouth/themes/ && rm -r -f tempthemes && sudo update-alternatives --install /usr/share/plymouth/themes/default.plymouth default.plymouth /usr/share/plymouth/themes/retropie-pacman/retropie-pacman.plymouth 10 && sudo update-alternatives --set default.plymouth /usr/share/plymouth/themes/retropie-pacman/retropie-pacman.plymouth && sudo update-initramfs -u && sudo cp /etc/default/grub /etc/default/grub.backup && sudo sed -i -e 's/GRUB_TIMEOUT=10/GRUB_TIMEOUT=2/g' /etc/default/grub && sudo sed -i -e 's/GRUB_CMDLINE_LINUX=""/GRUB_CMDLINE_LINUX="quiet splash"/g' /etc/default/grub && sudo update-grub
- Hide last login dialog displayed during boot
sudo sed -i -e 's/session optional pam_lastlog.so/#session optional pam_lastlog.so/g' /etc/pam.d/login && sudo sed -i -e 's/session optional pam_motd.so motd=\/run\/motd.dynamic/#session optional pam_motd.so motd=\/run\/motd.dynamic/g' /etc/pam.d/login && sudo sed -i -e 's/session optional pam_motd.so noupdate/#session optional pam_motd.so noupdate/g' /etc/pam.d/login && sudo sed -i -e 's/session optional pam_mail.so standard/#session optional pam_mail.so standard/g' /etc/pam.d/login
- Completely hide gnome terminal
sed -i '1 i\dbus-launch gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/ use-theme-colors false' ~/.bash_profile && sed -i '1 i\dbus-launch gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/ use-theme-transparency false' ~/.bash_profile && sed -i '1 i\dbus-launch gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/ default-show-menubar false' ~/.bash_profile && sed -i "1 i\dbus-launch gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/ foreground-color '#FFFFFF'" ~/.bash_profile && sed -i "1 i\dbus-launch gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/ background-color '#000000'" ~/.bash_profile && sed -i "1 i\dbus-launch gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/ cursor-blink-mode 'off'" ~/.bash_profile && sed -i "1 i\dbus-launch gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/ scrollbar-policy 'never'" ~/.bash_profile && sed -i '1 i\dbus-launch gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/ audible-bell false' ~/.bash_profile && cp /etc/xdg/openbox/rc.xml ~/.config/openbox/rc.xml && cp ~/.config/openbox/rc.xml ~/.config/openbox/rc.xmlbackup && sed -i '/<applications>/a </application>' ~/.config/openbox/rc.xml && sed -i '/<applications>/a <maximized>true</maximized>' ~/.config/openbox/rc.xml && sed -i '/<applications>/a <decor>no</decor>' ~/.config/openbox/rc.xml && sed -i '/<applications>/a <layer>below</layer>' ~/.config/openbox/rc.xml && sed -i '/<applications>/a <iconic>no</iconic>' ~/.config/openbox/rc.xml && sed -i '/<applications>/a <fullscreen>yes</fullscreen>' ~/.config/openbox/rc.xml && sed -i '/<applications>/a <application class="*">' ~/.config/openbox/rc.xml
Troubleshooting
-
RA hangs/freezes or you get a black screen when launching a ROM
-
Try running 'resetromdirs' from the Configutation / Tools section of the Retropie Setup script.
-
-
No sound in ES or RA
- Run
alsamixer
and unmute channels-
Press F6 to select the correct sound card (if not already selected)
-
Use the arrow keys to move left/right
-
Press the M key to mute (MM) or unmute (##) the selected channel
-
Press the ESC key to exit
-
- Run
-
No sound in ES or RA using HDMI
- Run
pacmd list
- Scroll to bottom and look for Profiles
- Check to see if the active profile (blue bold below) is wrong and replace with the profile you wan to use for HDMI (black bold below):
- Run
profiles:
input:analog-stereo: Analog Stereo Input (priority 60, available: no)
output:analog-stereo: Analog Stereo Output (priority 6000, available: unknown)
output:analog-stereo+input:analog-stereo: Analog Stereo Duplex (priority 6060, available: unknown)
output:hdmi-stereo: Digital Stereo (HDMI) Output (priority 5400, available: unknown)
output:hdmi-stereo+input:analog-stereo: Digital Stereo (HDMI) Output + Analog Stereo Input (priority 5460, available: unknown)
output:hdmi-surround: Digital Surround 5.1 (HDMI) Output (priority 300, available: unknown)
output:hdmi-surround+input:analog-stereo: Digital Surround 5.1 (HDMI) Output + Analog Stereo Input (priority 360, available: unknown)
output:hdmi-surround71: Digital Surround 7.1 (HDMI) Output (priority 300, available: unknown)
output:hdmi-surround71+input:analog-stereo: Digital Surround 7.1 (HDMI) Output + Analog Stereo Input (priority 360, available: unknown)
off: Off (priority 0, available: unknown)
active profile: output:analog-stereo+input:analog-stereo- Remove cloud-init to supress boot messages
sudo apt-get purge cloud-init -y && sudo rm -rf /etc/cloud/ && sudo rm -rf /var/lib/cloud/
Olá @johnodon , bom dia, tudo bem? cara por gentileza, me tira uma duvida em relaçõ a instalação:
Tenho um pequeno problema na minha instalação.
Utilizo o ubuntu server, rodanod em um notebook com um processador:
Intel(R) Core(TM) i3-2350M CPU @ 2.30GHz
Apó seguir o passo a passo para configuração, tenho enfentado esse erro ao incialziar o sistema:"Last login: Mon Dec 4 03:37:51 2023
No such key “default-show-menubar”
No such key “default-show-menubar”Minha versão do Ubuntu é
Description: Ubuntu 22.04.3 LTS
Release: 22.04
Codename: jammy
Ressalto que na inicialziação do sistema surge a imagem do controle no formato do cupcake depois surge o erro.
O qu epode ser isso?
obrigado -
@antonioamazonas said in Retropie Installation on Ubuntu Server x64 18.04.1:
[...]
O qu epode ser isso?
obrigadoCan you please use English (even with a translator) ? This is an English speaking forum.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.