Bug 1047407 - Mutter cannot give focus to full-screen OpenGL application window
Summary: Mutter cannot give focus to full-screen OpenGL application window
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: mutter
Version: 21
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Andreas Bierfert
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-12-31 00:41 UTC by Chris Rankin
Modified: 2015-12-02 16:07 UTC (History)
10 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-12-02 03:05:42 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Chris Rankin 2013-12-31 00:41:42 UTC
Description of problem:
Start World of Warcraft as a full-screen (1680x1050) application. However, application window vanishes instead of receiving focus.

Version-Release number of selected component (if applicable):
1.7.5

How reproducible:
Every time.

Steps to Reproduce:
1. Disable "Emulate virtual desktop" in winecfg
2. Launch WoW

Actual results:
The Launcher application appears OK, but the full-screen game window does not appear when you press "Play". Alt-TAB shows that the game window exists and that the game is running. However, attempts to bring this window to the foreground only result in a smaller undecorated floating in the middle of the screen.


Expected results:
The game should run using the screen's full 1680x1050 resolution.


Additional info:
The game can still be played "full screen" by checking "Enable virtual desktop", and setting the virtual desktop to the full size of the screen. However, even the virtual desktop isn't given focus automatically, and must be forced to the foreground using Alt-TAB.

Comment 1 Chris Rankin 2013-12-31 00:46:04 UTC
Hmmm, it appears that Wine's virtual desktop mode does sometimes receive focus automatically. It's erratic...

Comment 2 Chris Rankin 2013-12-31 01:06:33 UTC
I have managed to "trick" GNOME3 into *not* shrinking the full-screen window by ensuring that no other desktop applications are running! Specifically:

- Disable Wine's virtual desktop.
- Close all desktop applications so that Alt-TAB has no windows to show.
- Start WoW. The full screen window will be hidden, although you can still hear the login screen music.
- Press Alt-TAB, and GNOME 3 will give focus to the only application window that it has, i.e. WoW. This window will now be correctly displayed at full-screen resolution.

So Fedora's ability to run multiple applications simultaneously has regressed massively. Yay.

Comment 3 Chris Rankin 2013-12-31 01:22:59 UTC
I have found a better "trick" to fool GNOME3:

- Start WoW's Launcher.
- Press the Launcher's "Play" button.
- Either press Alt-TAB, or move the mouse cursor to the screen's top-left corner so that all application windows are displayed in miniature.
- Wait for WoW's full screen window to appear among them, and for WoW to be rendered correctly within it (also in miniature, of course).
- Click this window. WoW will now be given focus at the correct full-screen resolution.

Note that if you now press Alt-TAB again, then GNOME3 will not restore WoW's full-screen status correctly when you reselect it.

Comment 4 Maciek Borzecki 2014-01-13 19:02:32 UTC
I observed the same problem when playing SC2. Funny that there is no issue when using Xfce, KWin, awesome or WindowMaker. It only happens in gnome, specifically stared after mutter upgrade, downgrading to mutter-3.10.2-2.fc20.x86_64. IMO it should be reassigned to mutter.

Comment 5 Maciek Borzecki 2014-01-13 19:09:03 UTC
https://bugzilla.redhat.com/show_bug.cgi?id=1052407 reported

Comment 6 Chris Rankin 2014-01-13 20:18:43 UTC
Downgrading to mutter-3.10.2-2.fc20 fixes this problem for me too.

Comment 7 Chris Rankin 2014-01-13 20:22:10 UTC
The buggy mutter RPM is 3.10.2-6.fc20.

Comment 8 Chris Rankin 2014-01-18 22:18:54 UTC
This bug is still present in mutter-3.10.3-1.fc20.

Comment 9 Maciek Borzecki 2014-01-30 16:54:32 UTC
I can switch windows using alt-tab a couple of times and ocasionally I can regin focus properly. But something seems to be badly broken here. Sometimes when switching with alt-tab to wine window, I get dropped back to an empty desktop.

Also, even though the window is fullscreen, direct rendering does not seem to be used, as the FPS is much lower than in the case of working focus.

Even more interesting that I use dash-to-dock extension, then when problems with focus arise, the dock will still popup at the left edge of the screen even though wine window is fullscreen.

Comment 10 Daniel Miranda 2014-01-31 12:30:24 UTC
I observe this issue with multiple OpenGL applications in Wine, mostly games: Starcraft II, Hearthstone and League of Legends, to name a few. I have to constantly Alt-Tab multiple times (I've hit up to 10+) until the window gains focus.

Comment 11 Maciek Borzecki 2014-02-05 09:25:12 UTC
Bisecting mutter from 3.10 branch, this commit broke fullscreen https://git.gnome.org/browse/mutter/commit/?h=gnome-3-10&id=844f4e9348e29be52ded19d83fdbd1e5e9ce5529

Comment 12 Chris Rankin 2014-03-05 00:53:37 UTC
The mutter-3.10.4-1.fc20 package isn't any better either. I am still having to downgrade it to 3.10.2-2.fc20.

Comment 13 Daniel Miranda 2014-03-05 06:14:30 UTC
I found out creating a 'UseTakeFocus'='N' value under the registry in 'HKCU/Software/Wine/X11 Driver' makes Alt-tab work reasonably well. I don't think I had ever been so aggravated by a bug before, but this workaround fixes it for me. I did run into the very annoying fact that if the first program you start is in a prefix that does not have this setting, it will only take in when you kill the wineserver process and restart your application.

Comment 14 John Heidemann 2014-03-13 05:15:49 UTC
The work-around in comment 13 was very helpful for me.
For crossover users, this means add "UseTakeFocus"="N" to the [Software\\Winw\\X11 Driver] section of ~/.cxoffice/$BOTTLE/user.reg

Comment 15 Chris Rankin 2015-05-24 23:38:12 UTC
This bug has reared its ugly head again, with WoW, OpenGL and Wine >= 1.7.41. The difference this time is that adding "UseTakeFocus"="N" to Wine's user.reg file makes it *impossible* to click on WoW's "Enter World" button! Without "UseTakeFocus"="N", WoW just sometimes thinks that mouse-clicks on the full-screen OpenGL window are intended for a gnome terminal underneath! One work-around is to press the "Windows" key, jump to another workspace and back and the to select the WoW window again. This time, it will *probably* get the message that the topmost window is the one that is supposed to receive mouse clicks.

The other workaround is called Xfce.

Comment 16 Fedora End Of Life 2015-05-29 10:15:04 UTC
This message is a reminder that Fedora 20 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 20. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '20'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 20 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 17 Fedora End Of Life 2015-06-29 13:58:30 UTC
Fedora 20 changed to end-of-life (EOL) status on 2015-06-23. Fedora 20 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.

Comment 18 Fedora End Of Life 2015-11-04 11:19:00 UTC
This message is a reminder that Fedora 21 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 21. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '21'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 21 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 19 Fedora End Of Life 2015-12-02 03:05:47 UTC
Fedora 21 changed to end-of-life (EOL) status on 2015-12-01. Fedora 21 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.