Lutris keeps using steam desktop configuration in full screen non-steam games

This should be a really simple thing but I have searched for like 24 hours and found no solution…

I use steams desktop controller configuration to use my controller instead of a mouse & keyboard. Works great. When I open any game using steam, steam uses the configuration I have for that specific game. Works great.

I find out about lutris. Spend 2 hours to figure out that the “install” database does not in fact install games. Confusing, not straight forward at all. At first I thought, "Hey great! I can just install any game from here - fantastic. Not how it actually works, I guess. Terrible first experience.

Anyways. I sort of figure out what to do eventually. I get a Mario 64 ROM and it starts no problem after I configure it in lutris.

The problem: When Mario 64 opens (I have it set for fullscreen) it still uses steams desktop configuration. Which means that my controller is performing functions that I have intended to use for desktop/browsing, such as my A button doing alt-tab. Obviously, the A button should “jump” in Mario 64, not alt-tab.

What I want to happen: When I open any game from lutris, it should NOT use steams desktop configuration. It would be ideal if it just used steams big picture default configuration or something. Idk. Why is it so hard to play Mario 64, as my example? I should just be able to start game - controller works. Full screen program? No steam desktop configuration. Full screen program? Uses full screen generic inputs that all controllers use - bam. Should be that simple. Should flawlessly play Mario 64, Need for Speed, Dance Dance Revolution and Guitar Hero without me having to do anything technical. (Kidding, obviously… but going full screen should simply not use steam desktop configuration)

I don’t know why I can’t find anything online about this, either. Am I the only one on earth that is using a controller on linux like an HTPC? And not a keyboard and mouse? Sure, I have a keyboard and mouse connected - but I intend to use the controller for everything just like I did on windows (I refuse to support the beast any longer even if linux is driving me nuts) Am I supposed to use steam configuration AT ALL when using lutris? And instead use some custom-made program and make custom configurations in linux itself? Why am I starting to think I might as well just not use lutris at all… and just use steam only, for everything?

TL;DR - this has always been an issue, even in Windows.

Running Steam with a Controller Desktop profile set is going to make that controller do exactly what Steam has told it to whenever Steam is running.

You want Steam to “know” to disable its desktop controller profile when you’ve switched to Lutris then run a game. It won’t do that and there is there’s no API for Lutris to talk to. That’s not down to Lutris, that’s down to Steam.

Valve aren’t going to stop wanting you to use Steam as your first and only game client, so there’s no clean “fix.”

Only thing I can think of of is to launch a game or tool from Steam that doesn’t really do anything, but has Steam settings that disable the steam input (Edit: or enable and apply a default layout!!)
In your Lutris games, set a default pre-script to launch that first (with the old “steam steam://rungameid/”) and then a post-script to terminate it on shutdown.

Okay, I understand now. Thanks, I’ll see what I can do about it, then.

Okay, so, I think I’ve gotten everything on Linux, Lutris and Steam to work pretty much flawlessly now, as far as I can tell. Maybe some weird unused app might not work properly, but I’ll deal with that if it happens.

I’m going to post the solution here that seems to work just in case someone else has a similar issue and stumbles upon this post:

The goal:

  • Seamlessly play any game from any platform and in this case, use lutris to launch all of it. Meaning, I should not have to fiddle with any sort of button press or script to use my controller - it should just work for any game that I open.

  • BUT. When I exit any video game, my controller should automatically work for desktop/browser use, should I desire to use my controller rather than mouse and keyboard. My Y button should open a new tab, my DPad should switch between tabs, my A button should Alt-Tab, as these are my desktop/browser settings. I should be able to open lutris with my controller, move my cursor with right joystick and double click the game that I want with my right trigger. When game opens, controller should automatically switch to gamepad settings (A button=A button, Start=Start, Etc.)

  • Long story short, changing the global setting in steam controller configuration fixed this for the most part. I needed to create an action layer. 1 action layer for desktop/browser settings and a 2nd action layer set for gamepad configuration (A button=A button, etc.) Change global setting to use desktop/browser when cursor is shown and use gamepad when cursor is hidden.

Most video games seem to hide the cursor which has mostly solved the problem. Some games probably won’t work as intended, like RTS games like Age of Mythology, but I mean, I’m probably not going to be playing a game like that on controller. I can see an issue with games like Guild Wars 2 where gameplay frequently switches between cursor shown and cursor hidden, but I don’t think much can be done about something like that and I will just have to do specific workarounds in games like that. In Guild Wars 2’s case, I have a very good steam configuration made for it so I would probably have to only play it through steam and not lutris… the arduous task of having to make 1 extra click to open steam and launch it from there instead… the horror! First world problems, I know.

There was one more problem that was happening in firefox. Typing in search bars would make the cursor disappear, thus changing the controller to gamepad settings unless I move the mouse to make the cursor show up again. To fix this in firefox, someone in a reddit thread mentioned that you can change this by typing in the address bar about:config and changing flag on widget.gtk.hide-pointer-while-typing.enabled from true to false.

And it worked for me. So really, everything is working as desired, now. I even managed to get my steam library to show in lutris. So I can see the appeal of lutris now after getting so many annoying things to work as intended. Lutris is certainly confusing at first as a noob. For days I had no idea that there was also a super important “preferences” button tucked away at the top right. And the “runners” thing didn’t seem to install snex9x properly. At least, when I “installed” it from the runners, snes9x never showed up in my applications as a program that you could launch. I had to manually install it from somewhere else.