Emulator Issues #12324
closedThe latest version of Source/Core/Common/Matrix.h, from 5.0-12875, breaks the emulated Wii remote's IR pointer
0%
Description
Game Name?
Any Wii software
What's the problem? Describe what went wrong.
The emulated Wii remote's IR pointer does not appear in any emulated Wii software running under Dolphin compiled with the latest version of Source/Core/Common/Matrix.h, which was last changed in 5.0-12875. I've changed every relevant configuration option, restored the default controller configuration, and tried to map the pointer to different input devices, none of which makes the pointer appear in games. Furthermore, while the pointer does not appear in game, the red dot does move in the box under the 'Point' column, under the 'Motion Simulation' tab, in the 'Emulated Wii Remote' configuration window.
What steps will reproduce the problem?
Compile any version of Dolphin since 5.0-12875 for Linux and try to point with the emulated Wii remote.
Is the issue present in the latest development version? For future reference, please also write down the version number of the latest development version.
Yes, this is persistent in the latest development version, version 5.0-13078.
Is the issue present in the latest stable version?
No, this problem does not occur in the 5.0 stable release.
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.)
5.0-12875
What are your PC specifications? (CPU, GPU, Operating System, more)
The problem occurs across my multiple Linux systems with varying hardware. I have not tested it with any other operating system.
Is there anything else that can help developers narrow down the issue? (e.g. logs, screenshots,
configuration files, savefiles, savestates)
The problem does not occur in the latest development version of Dolphin if it is compiled with a version of Source/Core/Common/Matrix.h from before 5.0-12875.
Files
Updated by leoetlino over 2 years ago
- Status changed from New to Questionable
I cannot manage to reproduce the issue on latest master (I am also on Linux), and this is such a severe issue that I really doubt it would have gone unnoticed for one month...
The commit in question just adds constexpr to several functions, so I can't imagine how that would make a difference... What compiler are you using? Version? Distro?
Updated by galaxymaster over 2 years ago
I was also surprised that it had gone unnoticed for so long.
I'm using GCC 8.3 on Debian.
Updated by Billiard26 over 2 years ago
Which game?
Upload "WiimoteNew.ini" or show screenshots of every tab of your emulated Wii remote configuration.
Updated by leoetlino over 2 years ago
Also, could you try a newer compiler version? In particular, I'm interested to see if you can reproduce the issue with GCC 10.2 (which is the version I'm using).
Updated by galaxymaster over 2 years ago
- File WiimoteNew.ini WiimoteNew.ini added
Sorry it took me so long to respond.
I just tested the System Menu, Wii Sports, and Super Mario Galaxy in Dolphin 5.0-13078, and the pointer didn't work in any of those. I then ran those in Dolphin 5.0-12873, with the same configuration directory (--user=) and without changing any settings, and the pointer worked as expected.
GCC 8.3 is the latest version of GCC in Debian stable. Give me some time to upgrade to Debian testing, which has GCC 10.2, and I'll let you know.
Updated by galaxymaster over 2 years ago
The problem does not occur when using GCC 10.2 to build Dolphin (but it does occur when using GCC 8.4, in addition to GCC 8.3 as I reported earlier).
That's good enough a fix for me!
Updated by leoetlino over 2 years ago
- Status changed from Questionable to Invalid
Glad to hear it does not occur with GCC 10. That sounds like a really weird compiler bug then, so I don't think we can do much more than tell users to update their compilers...
Updated by FPI1337 about 2 years ago
Hi, is there any chance this bug will get fixed? Unfortunately I ran into the same issue and updating gcc to 10.2+ isn't that easy on my MX Linux 19 machine since compiling the source always fails for me. :\
And is this problem really just related to the Matrix.h-file?
Updated by Billiard26 about 2 years ago
There appears to be nothing to fix on Dolphin's end. This was identified as a compiler bug that has been since fixed.
5.0-12873 is claimed to work and 5.0-12875 is claimed to be broken.
This is the only change: https://github.com/dolphin-emu/dolphin/commit/3176f4d790a96f1aa2ebbe1a0f9aa1061ec60c21
If constexpr
qualifying functions alone is breaking logic in the resulting code your outdated compiler has some major problems and it's not reasonable to try to work around them.
Updated by FPI1337 about 2 years ago
Billiard26 wrote:
There appears to be nothing to fix on Dolphin's end. This was identified as a compiler bug that has been since fixed.
5.0-12873 is claimed to work and 5.0-12875 is claimed to be broken.
This is the only change: https://github.com/dolphin-emu/dolphin/commit/3176f4d790a96f1aa2ebbe1a0f9aa1061ec60c21If
constexpr
qualifying functions alone is breaking logic in the resulting code your outdated compiler has some major problems and it's not reasonable to try to work around them.
I understand. I managed to compile the gcc-10 version and since then everything is working fine. The "problem" is that the latest "official" gcc-version you can install by using the repositories (e.g. Ubuntu, Debian) is below gcc-10. So you usually have no other choice but to build it for yourself. I mean, most Linux users use apt,Synaptic or other package managers.
Updated by leoetlino about 2 years ago
You can always grab a pre-built version of Clang from https://releases.llvm.org/download.html and use that to build Dolphin. Or use a PPA to get a newer GCC if that's available (usually possible on Ubuntu).
Updated by FPI1337 about 2 years ago
Is it confirmed that it will work with Clang? To be honest: I already tried to build that clang stuff but never saw the pre-built-version - I think I'll give it another shot.
PPA is not an option unfortunately because most of my systems use MX Linux which is based on Debian.
Thanks for all the replies!