alphanu1/MME_SR2

[Linux][Intel GPU] Small periodic locks

Closed this issue · 5 comments

TiBeN commented

Hi,

I gave MME_SR2 a try with a core 2 intel gpu laptop (VGA UMSA card) with ArchLinux and this is impressive!
Thank you for your work on this.

I have sometime a small lock, maybe every minutes but it is not strictly periodic. The lock duration is, i would say 20ms, something like that. I use a switchres.ini, intel Xorg drivers (not modesetting) and OpenBox as a desktop manager.

Lock occurs with every cores i tried (genesis +gx, beetle PCE, snes9x..) and in RGUI.

It does not occurs with glxgears, so i suppose the issue is related to RA configuration (will try with groovymame later to be sure).
So, for best results with MEE_SR2, do you recommend some RA specific video/driver configuration (like disabling vsync, windowed fullscreen mode, sdl2/gl driver etc..) or it is supposed to work best with default RA options ?

TiBeN commented

Ok so it seems related to i915 kernel module bug:
https://gitlab.freedesktop.org/drm/intel/-/issues/1900

I've not found workaround for now.
I left the issue opened because i'm curious about the answer about RA config

Thanks

This is some new information. No one has picked up on this issue before.

The best distro to use is GroovyArcade. Which is basically the setup you described. Where have you been putting your switchres.ini?

No specific RS config options needed except the obvious.

TiBeN commented

switchres.ini is put on the same dir than ./retroarch .
Switchres.ini is read and is applied correctly (i confirm it on the logs by launching retroarch -v).

I really now suspect its a i915 kernel module issue. In fact everything works ok (resolutions are pixel perfect super wide resolutions, perfectly fluid..) but theses small flickering.

After some digging, the main issue is the VGA-1 connector triggers some strange hotplugging interrupts which for the kernel and Xorg for to probe inputs again. This probe is responsible of the flickering:

Jun 11 17:32:16 arcade kernel: i915 0000:00:02.0: [drm] HPD interrupt storm detected on connector VGA-1: switching from hotplug detection to polling
Jun 11 17:32:17 arcade /usr/lib/gdm-x-session[334]: (II) modeset(0): Output LVDS-1 using monitor section laptop panel
Jun 11 17:32:18 arcade /usr/lib/gdm-x-session[334]: (II) modeset(0): Output LVDS-1 using monitor section laptop panel

What is strange is it only occurs when crt switchres is activated. If non activated, using default xorg desktop resolution, which is "1400x480_intel" i stole you from your old MME4CRT Mubuntu ISO auto-script, theses HPD interrupts does not occurs.
So it only occurs with some resolutions (tried the three super wide res. and INI/dotclock_min 25.0)

That's why now i don't think it's an RA/CRT switchres issue but more a i915 kernel module one (or hardware but i don't think so).

SR will still run even without an ini. However, it will not function as well. can you try putting the ini in /etc This is where it should be.

TiBeN commented

OK so i think i've found a workaround. Using a custom EDID prevents the kernel to probe connectors continuously.

FYI it is not related to MMU_SR2/Switchres which work well. The issue i had was triggered with some resolutions like 2560x480 or 2018x224. Switching to theses resolution make drm/i915 kernel module to trigger occasionally false VGA-1 hotplug events, which triggered the check of all GPU connectors (EDID check etc.). This really seems to be a kms intel driver issue. I found many bug reports against i915 around theses issues so i really think it is related to buggy drivers.

Thank for your help.