Project

General

Profile

Actions

Emulator Issues #13086

closed

Can't launch games with Dolphin v5.0: getting error "Failed to initialize video backend"

Added by myndstream about 2 years ago. Updated about 1 month ago.

Status:
Fixed
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

Description

Game Name?
Any

Game ID? (right click the game in the game list, Properties, Info tab)
Any

MD5 Hash? (right click the game in the game list, Properties, Verify tab, Verify Integrity button)
Any

What's the problem? Describe what went wrong.
I get this error message when I try to launch a Gamecube or Wii game. It used to work with version 5.0 but now I built the latest development version on Github on my Debian11/KDE machine. There is no output in the console and I don't know what caused this and how to solve it. I already tried changing the graphics settings from None selected to OpenGL.

See https://github.com/lutris/lutris/issues/4030#issuecomment-1215485150

It still works another machine with nearly the same setup. There I have Dolphin "v5.0(no further info)" (under "Help"->"About"). Obviously I don't want to install a newer version there in case it'll breaks things there too. The machine on which it doesn't work currently doesn't have a graphics card but one of the two games was very playable, apparently it only needed a CPU (and onboard graphics of B250-PC-MATE).

What steps will reproduce the problem?

  • Start Dolphin (dolphin-emu)
  • Launch a Gamcube or a Wii game (both work on another machine, both are a very popular ROM/game and both used to work)

Is the issue present in the latest development version? For future reference, please also write down the version number of the latest development version.
5.0-17197 is the version I built
5.0-14480 is the version I installed through Lutris

Both versions have this problem, no matter if I launch the game directly via Lutris or if I launch Dolphin without Lutris and start the game there.

Is the issue present in the latest stable version?

[Yes/No and version number here]

If the issue isn't present in the latest stable version, which is the first broken version? (You can find the first broken version by bisecting. Windows users can use the tool https://forums.dolphin-emu.org/Thread-green-notice-development-thread-unofficial-dolphin-bisection-tool-for-finding-broken-builds and anyone who is building Dolphin on their own can use git bisect.)

[First broken version number here (if applicable)]

If your issue is a graphical issue, please attach screenshots and record a three frame fifolog of the issue if possible. Screenshots showing what it is supposed to look like from either console or older builds of Dolphin will help too. For more information on how to use the fifoplayer, please check here: https://wiki.dolphin-emu.org/index.php?title=FifoPlayer

[Attach any fifologs if possible, write a description of fifologs and screenshots here to assist people unfamiliar with the game.]

What are your PC specifications? (CPU, GPU, Operating System, more)

Debian11 with KDE and Wayland
No graphics card (currently looking for one that works with FOSS drivers)
Mainboard is B250-PC-MATE

Is there anything else that can help developers narrow down the issue? (e.g. logs, screenshots,
configuration files, savefiles, savestates)

Nothing is in the console output when starting dolphin-emu there and trying to start the game and there is no Details to the error message.

I first reported the bug here (but without the bug template): https://bugs.dolphin-emu.org/issues/13016

Actions #1

Updated by JMC4789 about 2 years ago

  • Status changed from New to Questionable

Ah, this actually does help a bit. Do you know what graphics drivers you have installed for your intel chip? It's possible between 5.0 and the newer builds Dolphin's minimum requirements were bumped and you might need to use a newer driver.

Actions #2

Updated by myndstream about 2 years ago

It's i915...that's what it shows in the OpenGL Info Center and with lspci -v (kernel driver in use).

That could be the case but the game was running fine with the specs so they shouldn't get bumped for all of Dolphin, just the Wii or select games etc...at the very least it should only show a prompt but still allow you to play the game. This change should get reverted.

Concerning getting a graphics card / graphics cards with FOSS (FOSS-only gaming), I tried my best to at least improve the information on this even if hardware-support isn't improved, for example here: https://www.reddit.com/r/linux_gaming/comments/wrnjdp/any_list_of_graphics_cards_benchmarked_using_foss/

Please change the Questionable status with this additional info.

Actions #3

Updated by JMC4789 about 2 years ago

As an effort to improve Dolphin's overall emulation quality while also keeping maintainability simple, we often add support for new features and drop old features over time. Currently, this issue does not sound like a Dolphin issue. I asked one of my friends much more familiar with Linux. They gave some further information.

  1. If dolphin says it can't initialize the video driver, it likely is correct: it likely cannot.
  2. If the reason it can't is due to dolphin having a bug in the video initialization, or because of official dolphin packaging/build process, then it is a valid bug. There isn't much evidence that this is the case.
  3. If dolphin no longer supports a given graphics card, it's not going to just continue with a prompt. It's just not going to work. Failing to initialize the context is a driver issue, dolphin can't reasonably work around it.
  4. i915 is an Intel driver for an extremely wide variety of chipsets, and is not specific enough to tell if it is supported. List the CPU model itself. It should be visible from /proc/cpuinfo.
Actions #4

Updated by Cobalt about 2 years ago

Please post one or both of the following:

  • The output for the 'neofetch' command (you may need to install it first)
  • The output of 'glxinfo | grep OpenGL' (this IS case sensitive)
Actions #5

Updated by myndstream about 2 years ago

If it's not a dolphin issue why did it work in the past but doesn't anymore? At the least, the issue in Dolphin is that it doesn't provide enough (or any) information to be able to debug and solve this problem. I have no idea why it doesn't work anymore.

I would also assume that it really can't initialize the video driver if that is the step that is failing.

If it's a driver issue why did it work before when I used the same driver?

I checked cat /proc/cpuinfo but why would the CPU model be needed? lsmod also only displays i915, it's a very common CPU.

Actions #6

Updated by myndstream about 2 years ago

glxinfo | grep OpenGL displays this:

OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) HD Graphics 530 (SKL GT2)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 20.3.5
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.6 (Compatibility Profile) Mesa 20.3.5
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 20.3.5
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:

Actions #7

Updated by Cobalt about 2 years ago

Looks like Vulkan is supported on that GPU - try running `sudo apt install mesa-vulkan-drivers', rebuilding Dolphin, then using that instead of OpenGL as the backend.

Actions #8

Updated by myndstream about 2 years ago

Installed mesa-vulkan-drivers. Followed the steps of https://wiki.dolphin-emu.org/index.php?title=Building_Dolphin_on_Linux#Step_2_-_Get_the_Dolphin_Repository to rebuild Dolphin

Then I launch Dolphin with dolphin-emu or ./Build/Binaries/dolphin-emu and go to Option->Graphics settings->change Backend from OpenGL to Vulkan

When I try to launch the GameCube game that worked previously on this machine I get:

"Failed to create Vulkan surface."

and when I press OK get the same Warning message as when I try to run it with OpenGL as backend ("Failed to initialize video backend!").

The only output in the console is:


MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0

MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0

MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0
Actions #9

Updated by myndstream about 2 years ago

Additional notes:
I built the latest version, 5.0-17738.

When I start lutris (see the linked github issue) the first output is this (in case it's useful):

Starting Lutris 0.5.11
Running Intel Mesa driver 20.3.5 on Mesa Intel(R) HD Graphics 530 (SKL GT2) (0x1912)
GPU: 8086:1912 1462:7A72 (i915 drivers)
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0
Startup complete

Nothing about Vulkan in that output anymore.

I don't think "perf_stream_paranoid" is the cause of this. If anybody recommend setting it to 0, please explain what it does and why that would be needed, I'd prefer having it at 1 and don't think I changed the default setting. I found this thread about it: https://forum.manjaro.org/t/cant-change-dev-i915-perf-stream-paranoid-to-0/66339/9 (somebody there suggested "The fix here, is to add the i915 driver to the initrd so that it gets loaded early, before the actual boot process starts." which may be relevant here.)

Concerning i915, also see this question of mine here: https://unix.stackexchange.com/questions/713288/how-to-solve-w-possible-missing-firmware-lib-firmware-i915-skl-huc-2-0-0-bin currently when shutting down it displays "firmware: failed to load i915/kb1_dmc_ver1_27".

Lastly, I think the Status "Questionable" should be changed. If you have an idea what I could try or investigate, please comment. The thing is that it used to work, I could play this GameCube game with Dolphin on the same hardware on Debian11/KDE. As you can see from the linked issue, the cause of the problem doesn't seem to be Wayland as it also used to work with Wayland with the Dolphin version I had (but not with Lutris).

Actions #10

Updated by JMC4789 about 2 years ago

I think the thing that could confirm whether this is a Dolphin bug or not would be a clear bisect. As you're the only one that can reproduce this currently, you'd have to bisect the issue given that 5.0 works and later 5.0 dev builds don't.

Actions #11

Updated by myndstream over 1 year ago

I don't know why but it works now both in Lutris and with Dolphin Emulator v 5.0-17738. Probably some other package update fixed this problem.

I still can't start a Wii game because it says "Failed to submit command buffer: VK_ERROR_DEVICE_LOST (-4)" with DolphinEmu but it does work with Lutris (which has a newer version of Dolphin).

Actions #12

Updated by JosJuice over 1 year ago

  • Status changed from Questionable to Fixed

Assuming fixed, then.

Actions #13

Updated by myndstream about 1 month ago

What solved it was simply running env QT_QPA_PLATFORM=xcb dolphin-emu instead of dolphin-emu. Could you please make it so that it works without having having to set this environment variable? Here is how I solved this and the launcher may need to get updated better if it needs this environment variable to work: https://unix.stackexchange.com/a/786386/233262

Actions

Also available in: Atom PDF