Temporary resolution changes?

Bill Crawford billcrawford1970 at gmail.com
Wed Jun 10 02:37:03 PDT 2009


Eric Anholt wrote:
> On Wed, 2009-05-20 at 10:59 +0100, Luke Benstead wrote:
>> Hi all,
>>
>> I recently had a discussion with a Wine developer and I mentioned that
>> I had on several occasions been left at a low resolution when a
>> fullscreen application crashes. He said that Wine could perhaps code
>> in a fix which guaranteed the resolution was reset but he wasn't sure
>> where this problem lied, or more specifically which project should fix
>> it, as native games also suffer the same problem.
>>
>> Incidentally, the previous day I had been in a PC store and started up
>> SuperTux on a netbook in the shop, I came back a few minutes later to
>> find the desktop at a low resolution, the game had obviously crashed
>> (desperate not to give a bad impression of Linux to passers by I reset
>> the netbook ;) ) so I know it's quite a common issue.
>>
>> After more discussion with the Wine dev I learned/realized that
>> Windows generally doesn't suffer a similar problem, because setting
>> the CDS_FULLSCREEN flag in the DEVMODE structure (passed to
>> ChangeDisplaySettings) indicates a temporary resolution change. If the
>> program crashes, or is ALT+TABbed away from, Windows (usually) resets
>> the resolution back to native.
>>
>> After some discussion on some forums I found this bug report:
>> https://bugs.freedesktop.org/show_bug.cgi?id=14255
>>
>> I really just interested to find out from you guys where you think the
>> problem lies? Is it something that the X.org devs can fix? Or is it
>> something that should be fixed higher up? Is a "temp flag" perhaps
>> something that can be passed to xrandr when a resolution is set?
> 
> I'd love to see an extension to RandR to handle this.  It's been a
> serious problem of X's modesetting APIs forever.

In particular, the notifications of a change need to include the flag so 
that window managers can avoid totally rearranging desktop panels and 
windows to fit the tiny resolution :o) as the mess left afterwards can 
take a while to clear up if like me you retentively arrange everything. 
Perhaps, even, the temporary flag would cause *no* notification to be 
sent, but then you'd have to detect when that client lost focus and 
change resolution, rather than rely on the WM to do it.


More information about the xorg-devel mailing list