Emulator Issues #13086open
Can't launch games with Dolphin v5.0: getting error "Failed to initialize video backend"
Game ID? (right click the game in the game list, Properties, Info tab)
MD5 Hash? (right click the game in the game list, Properties, Verify tab, Verify Integrity button)
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.
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
- 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.
Updated by myndstream 30 days 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.
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.
- If dolphin says it can't initialize the video driver, it likely is correct: it likely cannot.
- 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.
- 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.
- 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.
Updated by myndstream 30 days 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.
Updated by myndstream 30 days 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 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:
Updated by myndstream 29 days 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
Updated by myndstream 28 days ago
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
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).