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

Improve support for AMD + Intel GPU setups #22

Open
meowmeowfuzzyface opened this issue Mar 31, 2019 · 18 comments
Open

Improve support for AMD + Intel GPU setups #22

meowmeowfuzzyface opened this issue Mar 31, 2019 · 18 comments

Comments

@meowmeowfuzzyface
Copy link

Battle.net application crashes my entire desktop if run without DXVK enabled. Happens with every version of WINE I've tried (3.16, 3.18, 3.21, 4.4) on Lutris 0.5.1.3. The Battle.net login window works without problems, but the next window causes a black screen and then kicks me out to SDDM.

Enabling DXVK fixes the issue and Battle.net works without problems.

I'm not entirely sure when or why this started happening, as it was working fine a few weeks ago and I haven't made any major system changes. Mesa version didn't change (18.2.2) and I'm on Ubuntu 18.10 using KDE.

@meowmeowfuzzyface
Copy link
Author

It seems even though the above settings will launch Battle.net successfully, the actual game still causes a crash to SDDM. Diablo 3 (DXVK) is working, but Starcraft Remastered and Starcraft 2 (DX9) crash. It looks like this is related to WINE. However, WINE is working normally outside of Lutris.

@tannisroot
Copy link

I will have to close this because it's not really a Lutris bug.
Try filing a bug report for Plasma perhaps, hopefully KDE guys will resolve it.

@meowmeowfuzzyface
Copy link
Author

How do you figure? If system WINE is working normally, but "Lutris-WINE" causes a crash, would it not be a Lutris-specific problem? Do you know where I might find a crash log or something to confirm whether or not Lutris-WINE is causing the crash?

@tannisroot
Copy link

Can you try switching Wine that is used by Lutris to System in the game's configuration and report if you can still reproduce the issue?

@meowmeowfuzzyface
Copy link
Author

meowmeowfuzzyface commented Apr 1, 2019

Yes, it still crashes in the same way. I took a look at the system logs, and from what I can tell, Lutris is having a problem with the iGPU in my 4790k. I have a dedicated AMD card in my desktop. I don't know if it's normal for it to load up drivers for both the dedicated and integrated card, but it looks like the crash is being caused from this.

Running system WINE outside Lutris or Proton from Steam doesn't cause this crash.

Here is the relevant part in the log:

4/1/19 5:39 PM	org.kde.kded5	2019-04-01 17:39:51,208: Running Lutris 0.5.1.3
4/1/19 5:39 PM	org.kde.kded5	2019-04-01 17:39:51,209: Using X.Org
4/1/19 5:39 PM	org.kde.kded5	2019-04-01 17:39:51,209: Running Mesa driver 18.2.8 on AMD Radeon (TM) R9 Fury Series (FIJI, DRM 3.26.0, 4.18.0-16-generic, LLVM 7.0.0) (0x7300)
4/1/19 5:39 PM	org.kde.kded5	2019-04-01 17:39:51,209: GPU: 1002:7300 1002:0B36 using amdgpu drivers
4/1/19 5:39 PM	org.kde.kded5	2019-04-01 17:39:51,209: GPU: 8086:0412 1458:D000 using i915 drivers
4/1/19 5:39 PM	org.kde.kded5	INTEL-MESA: warning: Haswell Vulkan support is incomplete
4/1/19 5:39 PM	org.kde.kded5	INTEL-MESA: warning: Haswell Vulkan support is incomplete
4/1/19 5:39 PM	org.kde.kded5	2019-04-01 17:39:51,241: Vulkan is supported
4/1/19 5:39 PM	org.kde.kded5	2019-04-01 17:39:51,242: Updating DXVK versions
4/1/19 5:39 PM	user@1000.service	Theme parsing error: gtk.css:68:35: The style property GtkButton:child-displacement-x is deprecated and shouldn't be used anymore. It will be removed in a future version
4/1/19 5:39 PM	user@1000.service	Theme parsing error: gtk.css:69:35: The style property GtkButton:child-displacement-y is deprecated and shouldn't be used anymore. It will be removed in a future version
4/1/19 5:39 PM	user@1000.service	Theme parsing error: gtk.css:73:46: The style property GtkScrolledWindow:scrollbars-within-bevel is deprecated and shouldn't be used anymore. It will be removed in a future version
4/1/19 5:39 PM	org.kde.kded5	2019-04-01 17:39:51,396: Connected to lutris.net as yoyolll
4/1/19 5:39 PM	org.kde.kded5	libGL error: Different GPU, but blitImage not implemented for this driver
4/1/19 5:39 PM	org.kde.kded5	libGL error: failed to load driver: i965
4/1/19 5:39 PM	org.kde.kded5	Running /usr/bin/wine /media/LStorage/Lutris/starcraft-ii/drive_c/Program Files (x86)/Battle.net/Battle.net Launcher.exe
4/1/19 5:39 PM	org.kde.kded5	Waiting on children
4/1/19 5:39 PM	org.kde.kded5	Waiting on children
4/1/19 5:40 PM	org.kde.kded5	Waiting on children
4/1/19 5:40 PM	org.kde.kded5	Registering ":1.44/StatusNotifierItem" to system tray
4/1/19 5:40 PM	org.kde.kded5	libGL error: Different GPU, but blitImage not implemented for this driver
4/1/19 5:40 PM	org.kde.kded5	libGL error: failed to load driver: i965
4/1/19 5:40 PM	org.kde.kded5	Waiting on children
4/1/19 5:40 PM	org.kde.kded5	Waiting on children
4/1/19 5:40 PM	org.kde.kded5	libGL error: Different GPU, but blitImage not implemented for this driver
4/1/19 5:40 PM	org.kde.kded5	libGL error: failed to load driver: i965
4/1/19 5:40 PM	org.kde.kded5	Waiting on children
4/1/19 5:40 PM	org.kde.kded5	libGL error: Different GPU, but blitImage not implemented for this driver
4/1/19 5:40 PM	org.kde.kded5	libGL error: failed to load driver: i965
4/1/19 5:40 PM	pulseaudio	XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":0"
4/1/19 5:40 PM	pulseaudio	      after 19 requests (19 known processed) with 0 events remaining.
4/1/19 5:40 PM	org.freedesktop.impl.portal.desktop.kde	The X11 connection broke (error 1). Did the X11 server die?
4/1/19 5:40 PM	user@1000.service	lutris: Fatal IO error 11 (Resource temporarily unavailable) on X server :0.

So it detects both GPUs:

4/1/19 5:39 PM	org.kde.kded5	2019-04-01 17:39:51,209: GPU: 1002:7300 1002:0B36 using amdgpu drivers
4/1/19 5:39 PM	org.kde.kded5	2019-04-01 17:39:51,209: GPU: 8086:0412 1458:D000 using i915 drivers

But it seems to want to use the iGPU, I think:

4/1/19 5:39 PM	org.kde.kded5	libGL error: Different GPU, but blitImage not implemented for this driver
4/1/19 5:39 PM	org.kde.kded5	libGL error: failed to load driver: i965

It shouldn't be trying to load this driver, right? It should be using amdgpu
Is there a way to specify in Lutris which GPU to use?

@tannisroot tannisroot reopened this Apr 1, 2019
@strycore
Copy link
Member

strycore commented Apr 2, 2019

I have a 4790k as well but the iGPU doesn't get detected by Lutris, guess it's just turned off in the BIOS. Will try to re-enable it to see if I can reproduce this.

@tannisroot
Copy link

Do you have "Use Discrete Graphics" enabled in Lutris and for the game? It should make the game use your AMD graphics instead.
But if it doesn't, Lutris might need to get some logic that would select Vulkan loader specifically for the dedicated GPU through VK_ICD_FILENAMES.
And the crash, I suppose, is caused by god awful Vulkan support for Haswell and quite oudated MESA version.

@strycore
Copy link
Member

strycore commented Apr 2, 2019

I don't get the Intel GPU even after enabling it in the BIOS. I think this is because I have an Nvidia card blocking any kind of mesa driver to load. I would have to unplug the RX580 from my console and put it on my desktop but I'd rather not do that...
I think most of the GPU switching support we have is related to nvidia, we might need some more work done for AMD + Intel setups

@strycore strycore changed the title Battle.Net crashes Plasma session in Ubuntu 18.10 Improve support for AMD + Intel GPU setups Apr 2, 2019
@meowmeowfuzzyface
Copy link
Author

@tannisroot Yes, "Use Discrete Graphics" is enabled.

It's weird that this started happening recently. The games in question (Starcraft Remastered and Starcraft 2) were working fine a few weeks ago. I don't recall any major changes to my system since then. Diablo 3 works fine, I think because it's using DXVK. Actually, the Battle.net client for Starcraft Remastered and Starcraft 2 also work fine with DXVK enabled, but it still crashes when the game is launched. I guess because at that point it uses WINE and tries to switch back to the iGPU?

Anyway, I'll try disabling the iGPU and see if it changes anything.

@meowmeowfuzzyface
Copy link
Author

@strycore Disabling the iGPU from my BIOS fixes the issue. Now the Battle.net application successfully launches with default settings (no DXVK) for both games. I re-enabled the iGPU just to test, and, yes, it does bring back the crash. So it seems the "Use Discrete Graphics" option isn't working as intended in this case.

Thanks to both for the suggestions.

I guess I should also report this bug in Plasma since the crash isn't actually from Lutris. I think in this situation you would expect WINE to (gracefully) crash, but not Plasma, right?

@strycore
Copy link
Member

strycore commented Apr 2, 2019

@meowmeowfuzzyface before reporting the crash to Plasma, be sure to have a way to reproduce the bug outside of lutris. May not be related to Plasma, we still don't know what is going on.

@tannisroot
Copy link

@meowmeowfuzzyface make sure you can reproduce it with latest MESA because yours is quite old

@meowmeowfuzzyface
Copy link
Author

I just noticed that the mesa version is 18.2.8, not 18.2.2 as I previously thought. I guess it was part of a recent Ubuntu update and I didn't notice. Maybe that's when the bug was introduced. That makes me think, have I been playing these two games on integrated graphics without noticing? I'll try to reproduce it with an updated mesa and system WINE.

Anyway, I guess the crash isn't Lutris' problem, just the fact that it's choosing the wrong GPU.

@bluheim
Copy link

bluheim commented Apr 28, 2019

hello,
I have i5 2500k + AMD RX 570, using ubuntu 18.04 and have exactly the same issue. Trying to play starcraft 2 with Lutris, followed the steps, and battlenet works fine. When I launch the game, the screen is dark for a couple of seconds and it seems to work (I even see the "starcraft style" mouse pointer). Then the screen turns black and i'm kicked back to SSDM as well.
I have this issue on KDE as well, as I tried it before using gnome. I do not think therefore it is Plasma related.
I tried to go to BIOS but in "primary graphic adapter" the setup is already "PCIE" so it should be fine, isn't it?
Also, I could not check the system log because i do not know how to do it. If you could point me to a manual i would happy to post them.
If someone has an idea I would be happy to try.

Thanks!

@meowmeowfuzzyface
Copy link
Author

meowmeowfuzzyface commented Apr 28, 2019

@bluheim I could not find any way around the issue other than turning off the iGPU through the BIOS. Even if everything in BIOS, Ubuntu, and Lutris is set to prefer the dedicated card, it still selects the iGPU. You have to turn it off.

@bluheim
Copy link

bluheim commented Apr 28, 2019

thanks meowmeow!
Actually I looked a bit more in my BIOS and found another option called "IGP multi monitor". I set this one to disabled and it did the trick! Can now play starcraft in ultra settings!
Ladder i'm back! :)

@nottux
Copy link

nottux commented Sep 30, 2019

I can't disable integrated carrizo gpu on my laptop but i have used the solution from here

DXVK_FILTER_DEVICE_NAME will filter single gpu that matches the naming, in my case i wanted to use my RX 540 gpu instead of integrated gpu so i set it to POLARIS12

In my case;
Integrated gpu is seen as AMD RADV/ACO CARRIZO (LLVM 8.0.0)
Dedicated gpu seen as AMD RADV/ACO POLARIS12 (LLVM 8.0.0)
when DXVK_HUD=full

2019-09-30_17:26:35:815336954

(llvm version or RADV/ACO can change depending on deriver version but POLARIS12 or CARRIZO is hardware dependent and will not change.)

The pull request for the function

@strycore
Copy link
Member

Would it be beneficial to have a dropdown with all the GPUs that can be used to set DXVK_FILTER_DEVICE_NAME?

@strycore strycore transferred this issue from lutris/lutris Dec 10, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants