Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't alt tab in Final Fantasy XIV or League of Legends #1212

Closed
lapinsami opened this issue Oct 1, 2019 · 17 comments
Closed

Can't alt tab in Final Fantasy XIV or League of Legends #1212

lapinsami opened this issue Oct 1, 2019 · 17 comments
Labels

Comments

@lapinsami
Copy link

#866
misyltoad/d9vk#76
misyltoad/d9vk#77
misyltoad/d9vk#391

Both games (FF14 & LoL) have a separate client that creates the main game window. The main game window is set to "Keep above others" in KDE. Happens on Gnome as well. Alt tabbing works if you uncheck the "Keep above others" box but it's inaccessible if your task manager is on the same monitor as the game. League creates a new window for every match so the setting "resets" after every game. Doesn't matter if the compositor is enabled or disabled. League alt tabs fine when using Gallium Nine.

The bug here isn't that alt tabbing doesn't work; it works perfectly after you uncheck the box. But that shoudn't be the default.

Software information

App : Final Fantasy XIV (using Proton) & League of Legends (D9VK)
OS : Manjaro Linux - every kernel since jan 2019

System information

GPU: Vega 56
Driver: mesa - every version since jan 2019
Wine version: every version since jan 2019 (staging)
DXVK version: every version since jan 2019
D9VK version: every version since may 2019

@misyltoad
Copy link
Collaborator

This is an issue because we don't inject our own window proc to handle entering/leaving fullscreen, etc when requested (and also implementing the OCCLUDED response) -- as the game is spamming focus calls.

The reason I am hesitant about implementing this in D9VK, at least [these concerns don't affect DXVK], is because I would also have to implement the whole device loss crap that comes with that in D3D9. The problem with that is qutie a lot of games will instead just crash if they recieve a device loss.

So I'm kinda undecided... Should I implement it, and mirror native crashes across a bunch of games or not implement it and have a handful of games where alt-tab is broken.

If you're interested in testing out the former option in D9VK (this does not affect d3d10 or d3d11), there is a https://github.com/Joshua-Ashton/d9vk/tree/wip-alt-tab branch, although it has some issues and doesn't work 100% of the time yet. [I think there is some race going on]

@alligatorshoes
Copy link

Could you not just set up KDE Window rules for any games that are affected by this instead? This would ensure you don't need to manually uncheck "Keep Above Others" every time you execute the game.

@doitsujin doitsujin added the dxgi label Oct 1, 2019
@doitsujin
Copy link
Owner

doitsujin commented Oct 1, 2019

Fullscreen won't work without "Keep Above Others", and setting it actually matches Windows behaviour. So yes, it most definitely should be default, any solution to the alt+tab problem has to be something else.

Does this work with wine's DXGI implementation? They do effectively the same thing but implement some more of the DXGI internals, so I'm curious if that works any better.

@h3fang
Copy link

h3fang commented Oct 1, 2019

I use i3wm with Path of Exile. If I switch to another workspace or switch back to the game, or ctrl+alt+F2 to another tty (a new i3wm session), the game / other apps freeze for a long time then switches.
setup_dxvk uninstall then setup_dxvk install --without-dxgi makes no difference.

@K0bin
Copy link
Collaborator

K0bin commented Oct 1, 2019

@h3fang That's unrelated to the issue.

@h3fang
Copy link

h3fang commented Oct 1, 2019

@K0bin I thought alt tab and switching from a workspace (fullscreen game) to another workspace (say chromium) are the same things. Sorry if they are not.

@doitsujin
Copy link
Owner

They are not. Your problem also very much sounds like a problem somewhere in your graphics stack; DXVK itself definitely doesn't affect native Linux applications in any way.

@h3fang
Copy link

h3fang commented Oct 1, 2019

@doitsujin Sorry for the disturbance. But it does seem like what Joshua-Ashton said

This is an issue because we don't inject our own window proc to handle entering/leaving fullscreen, etc when requested as the game is spamming focus calls.

And this causes the whole xorg-server to freeze.

Other users have similar observations. https://appdb.winehq.org/objectManager.php?sClass=version&iId=25078

Switching resolutions and display mode works BUT there is a chance that during switching, it might cause the x-server to regress and ending up with an unresponsive system.

@lapinsami
Copy link
Author

@doitsujin

Does this work with wine's DXGI implementation?

No.
@Joshua-Ashton

If you're interested in testing out the former option in D9VK

Tested, no difference.

@misyltoad
Copy link
Collaborator

misyltoad commented Oct 1, 2019

Yeah you might need to try that WIP commit a few times, it's hit or miss whether it works due to some race somewhere I haven't found.

🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸

@h3fang
Copy link

h3fang commented Oct 2, 2019

@doitsujin Tested with https://github.com/krh/vkcube and it freezes as well. So my problem is related to the nvidia vulkan driver (435.21). Hopefully, my next graphics card will not be nvidia ...

Really sorry for the messing up.

@AizerMortenort
Copy link

AizerMortenort commented Oct 5, 2019

i have same issue. I am on windows 10 i cant minimize DARK SOULS III and if i change it to windowed mode it means it will random crash latter,

@yCatDev
Copy link

yCatDev commented Sep 20, 2020

Same issue there but in ALL games that running using DXVK.

@Blisto91
Copy link
Contributor

Blisto91 commented Aug 6, 2022

@Vogelchevalier @yCatDev @AizerMortenort Friendly necro ping. Do you still have issues with latest dxvk? 🙂

@laqyx
Copy link

laqyx commented Nov 8, 2022

bump, issue still exists
seems fixed in d9vk but its still present in DX11 titles
which games are affected seems random, Apex works fine while im forced to either use borderless or DX9 mode in League of Legends.

@Blisto91
Copy link
Contributor

Blisto91 commented Apr 4, 2023

@laqyx Do you know of any d3d9 games with alt tab issues or do you only experience it in d3d11?

@Blisto91
Copy link
Contributor

Blisto91 commented Sep 18, 2024

With #2675 merged Final Fantasy (and likely other games) should behave better

@K0bin K0bin closed this as completed Sep 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

10 participants