It seems NFSv3 didn't really fix the issue and ran into others (e.g., weird user IDs on remapping). I've gone back to NFSv4 and increased the number of NFS servers/processes from the default of 4 up to 5 to see if that helps.
// Run the omxplayer binary
execve("/usr/bin/omxplayer.bin", (char**)argv, (char**)env);
Now if you fire up ES, launch the screensaver, and take a look in the process list while its running (in ssh session, ps -ef) you'll actually see all those args, something like this in the process list:
What I noticed is the volume is set to -3885. Now if I run that on the command line to simulate the screensaver I can play with the volume. For omxplayer, volume 0 should be 100% as it's measured in millibels according to the omxplayer help.
ok great I can hear it now! I researched %vol to db and the formula is db = 20*log(%vol) and that checks out because I had es at roughly 65% volume which equates to about -3742 millibels.
So I went back into es and set the volume to 100%, and now I can finally hear it on a default RetroPie install. The issue is the drop off is really steep (must be some bug in omxplayer on pi, that their millibels to volume curve is off) because if you set the volume level at say, 60% you won't hear much of anything from the speakers. I think this is also compounded by the fact that when you're playing around with the audio settings in es, many times it resets the volume back to zero because it's trying to sync up the level with alsa.
Anyway, hope this helps someone get their head around the screensaver audio.
p.s. also, in es audio settings, make sure you set the "omx player audio device" to alsa (or whatever works on your pi, or in your command line experiments), as that drives the argument sent into omxplayer above.
@avendosora ok that worked! I just copied the gamelist.xml from the .emulationstation fodlers for each system and now they all have video! thanks so much for you help in figuring this out its been driving me nuts.
EmulationStation will use the gamelist.xml ROMs folder, if found, otherwise it looks in /opt/retropie/configs/all/emulationstation/gamelists/<system>. The 2 files are not combined, just one of them is used, in that order.
If you enabled the 'Use Local Art' option in EmulationStation's settings, it will try find a video matching the game by looking under roms/<system>/media/<ROM_NAME>-video.mp4, so even if there's no video declared in gamelist.xml, it might still find a video associated with it.
In fact, what would be the best way to ensure that I get both videos and correct information into my setup?
Don't mix the scrapers if you want video - the internal scraper doesn't support videos so it might overwrite the video tags if you re-scrape with it. Use the external scraper and see which videos have issues - some arcade videos are incompatible with RPI's hardware video codecs and might not play correctly.
Thank you Mitu, but for me, a power-user at best, thats going to be like looking for the proverbial needle. Before I spend hours trying to troubleshoot this Ill just save my roms and do a fresh install.
I've just installed LXDE and try again but nothing changes. I don't know if it helps but if i power off the display and/or detach from VGA it doesn't work; only thing is to close ES. I still think it is an ES issue...i don't know.
Raspberry pi 4 model B Rev1.2 (Stock Clocks)
Raspberry Pi4 Argonone Case
43' 1080p TV
Using 5ghz Wifi
Only occurs on stuff like SNES, NES, and similar 2D platforms, but as i mentioned before using a custom aspect ratio with 1 less pixel on Y & X axis than core config seemed to fix it. Bilinear Filtering, and Interger-scale also fix the tearing aswell not sure if there are other fixes though. V sync is on any everything.