Factorio turns off compositing on Linux without warning
Posted: Thu May 18, 2017 3:26 pm
Hi!
This might be an Allegro "feature" that dates back to times when compositing was just "fancy eyecandy" without important functionality? Anyway, depending on user setup, disabling the compositor can leave users locked in (p.E. when they use compositing for window switching) until Factorio is closed or even totally stranded and unable to use their PC (p.E. if they require accessibility features that use compositing, like screen magnification). Since it is not immediately apparent that the compositor is turned off, that can be hard to recover from.
( BTW, just a little story for your amusement and to make my point: At first the idea that an application would do something like that on purpose didn't even occur to me - never encountered an application that did it before. So I falsely assumed that your game accidentally keyboard-grabs due to some shoddy third party input library that aspires to be part of a screensaver/locker one say and rule over all other input libraries. I dissected my window manager hotkeys, my .xbindkey configuration, then I started reading up on input and libx, tried reconfiguring Xorg to allow "keyboard releasing" - a feature I'm not sure is even part of Xorg any more. Browsed Xorg changelogs from the last 10 years, ended up messing with the libx source code, broke the whole keyboard grabbing mechanism on purpose, also broke my screensaver as a side effect, recompiled my whole DE and graphics stack and then some - to be sure - started reading the allegro source code, couldn't find anything... and that was my first day of "playing factorio" - I didn't realized that it was compositing or the lack thereof that broke my hotkeys and that I could just press ctrl+alt+F12 to turn it back on until later. By then, I was half way to ending up in kernel code again. I can't even really read code. Why do I always end up knee deep in source code? Oh well, that's Linux I guess )
Long story short... Since there is no "anti-feature" category, I'm putting this here: Please make your game keep its fingers off my window manager? :3
This might be an Allegro "feature" that dates back to times when compositing was just "fancy eyecandy" without important functionality? Anyway, depending on user setup, disabling the compositor can leave users locked in (p.E. when they use compositing for window switching) until Factorio is closed or even totally stranded and unable to use their PC (p.E. if they require accessibility features that use compositing, like screen magnification). Since it is not immediately apparent that the compositor is turned off, that can be hard to recover from.
( BTW, just a little story for your amusement and to make my point: At first the idea that an application would do something like that on purpose didn't even occur to me - never encountered an application that did it before. So I falsely assumed that your game accidentally keyboard-grabs due to some shoddy third party input library that aspires to be part of a screensaver/locker one say and rule over all other input libraries. I dissected my window manager hotkeys, my .xbindkey configuration, then I started reading up on input and libx, tried reconfiguring Xorg to allow "keyboard releasing" - a feature I'm not sure is even part of Xorg any more. Browsed Xorg changelogs from the last 10 years, ended up messing with the libx source code, broke the whole keyboard grabbing mechanism on purpose, also broke my screensaver as a side effect, recompiled my whole DE and graphics stack and then some - to be sure - started reading the allegro source code, couldn't find anything... and that was my first day of "playing factorio" - I didn't realized that it was compositing or the lack thereof that broke my hotkeys and that I could just press ctrl+alt+F12 to turn it back on until later. By then, I was half way to ending up in kernel code again. I can't even really read code. Why do I always end up knee deep in source code? Oh well, that's Linux I guess )
Long story short... Since there is no "anti-feature" category, I'm putting this here: Please make your game keep its fingers off my window manager? :3