Temporary resolution changes?

Corbin Simpson mostawesomedude at gmail.com
Wed Jun 10 03:39:29 PDT 2009


On 06/10/2009 02:37 AM, Bill Crawford wrote:
> 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.

Couldn't we just do a resolution change on map/unmap? Or is that not 
sufficient?

~ C.



More information about the xorg-devel mailing list