project-slippi / Ishiiruka

GNU General Public License v2.0
330 stars 141 forks source link

Disable compositor when in fullscreen (Linux) #161

Open wantija opened 4 years ago

wantija commented 4 years ago

For optimal performance/least amount of lag, Slippi should disable the current compositor when in Dolphin is fullscreen although screen tearing will be present.

ggliv commented 4 years ago

Is there any reasonable way to do this in a cross-platform way? I'm no video backend expert, but from a bit of poking around the internet, it seems like most DEs have their own individual solutions.

manofsticks commented 4 years ago

Not exactly my expertise, but looking around, it appears there's "_NET_WM_BYPASS_COMPOSITOR" which requests that the compositor disable itself for that window; from what I can tell it's x-compatible with multiple compositors (I found discussion saying that kwin didn't always have support for it, and now it does; which leads me to believe it works for others).

I think this is definitely important to work on because performance was terrible for me until I disabled the compositor, whether I was in a windowed mode or fullscreen.

ggliv commented 4 years ago

That seems like it would be a reasonably portable solution.

If I had to guess, you'd probably have to modify this file to add that hint. I'll try to see if I can figure out how to get this to work but I honestly have no idea what I'm doing (so no promises).