In terms of input latency, Calamity said the RT patch brought nothing when he tested. But I shouldn't speak on his behalf 
No this would seem reasonable, I don't think the -rt patch would improve that all that much. Also, it would be brutally hard to measure this without some custom equipment. The runs I did were 15 minutes long I think and you can see there are a handful of framedrops. Checking next-frame response with a high frame rate camera (this is what I do anyway) for such a long time would probably drive anyone insane.
Interesting stuff intealls!
Have you by any chance checked in with Calamity on his view on this?, i believe i read a comment from substring saying calamity experimented with this about 2 years ago ? but a lot can change in that timeframe off course,(patches,updates,improvements..).it looks like you are on to something.
I would love to test this rt kernel out to see what the impact is on the games in terms of framedelay/audio latency performance.
I myself am on a i7 4790k with substring’s latest GA build running in pretty much vanilla.i have not experimented with rt kernels, is it hard is to set that up or modify /add that functionality to the existing build i have?
Hi endomatic, unfortunately it's kind of a painful process.
I've attached PKGBUILDs for linux-rt and GM with the rate filter patch. Building the packages is probably best done on something faster than the 46x0k, linux-rt package needs makepkg --skipinteg, or you'll need to add the sha512sums to the PKGBUILD.
Also, if you try this make sure to disable automatic installation of linux-rt on GA, otherwise you might lose 15 kHz on pacman -Syu.
Then:
Install linux-rt kernel and GM package.
Modify kernel command line (idle=poll is probably the most important one here, clocksource can probably vary between systems):
mitigations=off idle=poll tsc=reliable clocksource=tsc
Stuff run on startup (most from arch wiki, the performance governor is critical if not set through kernel, unclear advantage from all the other stuff):
echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo performance > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
echo performance > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor
echo performance > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor
echo 2048 > /sys/class/rtc/rtc0/max_user_freq
echo 2048 > /proc/sys/dev/hpet/max-user-freq
echo 0 > /proc/sys/vm/compaction_proactiveness
echo 1 > /proc/sys/vm/watermark_boost_factor
echo 1048576 > /proc/sys/vm/min_free_kbytes
echo 500 > /proc/sys/vm/watermark_scale_factor
echo 10 > /proc/sys/vm/swappiness
echo 5 > /sys/kernel/mm/lru_gen/enabled
echo 0 > /proc/sys/vm/zone_reclaim_mode
echo 1 > /proc/sys/vm/page_lock_unfairness
echo 0 > /proc/sys/kernel/sched_child_runs_first
echo 1 > /proc/sys/kernel/sched_autogroup_enabled
echo 3000 > /proc/sys/kernel/sched_cfs_bandwidth_slice_us
echo 500000 > /sys/kernel/debug/sched/migration_cost_ns
/etc/sysctl.d/90-max_user_watches.conf:
fs.inotify.max_user_watches = 600000
Allow arcade user to run mame with nice -n -20 (important):
https://wiki.archlinux.org/title/Limits.confnano /etc/security/limits.conf
...
#@student - maxlogins 4
* - nice -20
# End of file
...
Reboot and then run mame:
nice -n -20 mame [options]
To measure use PortAudio with a low latency (-pa_latency 0.004 or 0.008 or similar) and do nice -n -20 mame game -pa_log -v | grep 123456.123456 > game.log and use buf.py (in rate_filter.patch) to visualize it (requires python and some supporting packages, can't be done easily on GA machine).