Unable to Alt-Tab in League of Legends with Fullscreen selected.
Opened this issue · 14 comments
Unable to tab out when running league of legends with fullscreen mode selected. I am running the Ubuntu Budgie 19.04. Wine3D doesn't suffer from this issue at all and minimizes correctly.
Software information
League of Legends - with full screen selected
System information
- GPU: GTX 1060 6GB
- Driver: 418.56
- Wine version: tkg-4.6
- DXVK version: 0.10
Log files
- d3d11.log: League of Legends_d3d9.log
- dxgi.log: League of Legends_dxgi.log
That sounds more like a compositor issue. There's nothing in D9VK (or WineD3D for that matter) to allow or block alt tabbing.
I think this is the same issue I have in #77 We both use different desktop environments (I'm Kubuntu but you're Budgie) though we both use the same Nvidia driver and series of GPUs.
That said, it's definitely linked to D9VK somehow because in both of our games the alt-tabbing issue is not present in unmodified wine.
Guild Wars 2 also does not alt+tab. but fortunately it has a minimize button. this does not work in both linuxmint cinnamon or arch kde. both have disable desktop effects in lutris.
Does alt tabbing work with D3D11 DXVK games?
Yes very good indeed.
I only have FFX/X-2 Project Cars and Project Cars 2 to go on for D3D11 DXVK.
Project cars games both alt tab fine (the window loses focus and other windows can come in front), but if you tab back in you get a black screen.
FFX/X2 alt-tabs fine if you run it in borderless windowed mode... But the settings menu crashes the game so I couldn't test with fullscreen.
I just tested it, and it seems as though setting the affected wine prefix to run in a virtual desktop can work around this bug. To do that in a proton prefix with D9VK installed just
WINEPREFIX="/home/<user>/.steam/steam/steamapps/compatdata/<Game ID>/pfx/ winecfg
It doesn't look like it depends on the DE or GPU.
I'm using KDE (disabled compositor), with a vega 56 (Meas 19.0.3) and im still experincing the same issue
Same issue here. I just noticed that the "Always on top" property is set on League's game window. When you unset it, alt-tabbing works normally again.
On Gnome, you can bring up the window menu with Super + Right click
(Super
is by default the left Windows key). Other DEs probably have something similar.
I don't touch anything alt-tab related -- it works fine on Windows.
At most, I add the HWND_TOPMOST flag in SetWindowPos when going to fullscreen. But so does DXVK in DXGI.
So it seems the title of this issue is somewhat misleading. Alt-Tab does work (as evidenced by the other window accepting keyboard input), you just don't see anything of it because LoL is rendered on top. However I don't have this issue in Overwatch, which uses DXVK (and is also set to fullscreen). When I tab out of OW, it will minimize as it should. I think it's actually LoL's fault for not minimizing itself on focus loss?
I also tried setting LoL to borderless windowed instead, but in this case it won't overlap the taskbar, so that part of the window is drawn offscreen. Comparing the xprop
output to OW in borderless mode shows that LoL doesn't have _NET_WM_STATE(ATOM) = _NET_WM_STATE_FULLSCREEN
set anymore, while OW still has it even in borderless. Both don't have _NET_WM_STATE(ATOM) = _NET_WM_STATE_ABOVE
. (This might be completely unrelated, I can open another issue if you want.)
Borderless windowed stuff is not controlled by d3d9, it's controlled by the application.
What about minimizing on focus loss in (normal) fullscreen mode? Overwatch does that, League does it only with WineD3D but not with d9vk. Unfortunately I don't have other DX9 titles ready to test whether they minimize or not. Is this done by the application or d3d?
I am experiencing the same issue with The Sims 3 while using D9VK. The application selector appears but when choosing another application The Sims 3 comes back to the foreground instantly. The Sims 3 only supports fullscreen mode or Windowed mode. Borderless isn't support (at least by default).
@TheGreatestJannet A temporary workaround is to enable "virtual desktop" in winecfg
's graphics tab and setting it to your monitor resolution. For Sims, this may work well enough, but for League it's quite ugly because you often go back to the Launcher which isn't in fullscreen mode. Also it breaks KeePass' auto-type, as the actual window is no longer called "League of Legends" but instead "Default - Wine desktop".