Emulator Issues #8688
closedTextures missing in Xenoblades Chronicles when using radeonsi
0%
Description
Game Name?
Xenoblade Chronicles
Game ID?
SX4P01
What's the problem? Describe what went wrong in few words.
Textures disappear on characters.
When a characters goes into the entry of Colony 9, textures on him disappear. When he steps back, they reappear.
What did you expect to happen instead?
I expect the textures to not disappear.
What steps will reproduce the problem?
- Character goes into the entry of Colony 9
- Textures on him disappear
- He steps back.
- Textures on him reappear.
Which versions of Dolphin did you test on?
Dolphin 4.0-6765
Does using an older version of Dolphin solve your issue? If yes, which
versions of Dolphin used to work?
I didn't test any other version, so I don't know.
What are your PC specifications? (including, but not limited to: Operating
System, CPU and GPU)
Processor Information:
Name: Intel Core i5-4690K
Vendor: GenuineIntel
CPU Family: 0x6
CPU Model: 0x3c
CPU Stepping: 0x3
CPU Type: 0x0
Speed: 3900 Mhz
4 logical processors
4 physical processors
HyperThreading: Unsupported
FCMOV: Supported
SSE2: Supported
SSE3: Supported
SSSE3: Supported
SSE4a: Unsupported
SSE41: Supported
SSE42: Supported
Operating System Version:
Debian GNU/Linux 8.1 (jessie) (64 bit)
Kernel Name: Linux
Kernel Version: 3.16.0-4-amd64
X Server Vendor: The X.Org Foundation
X Server Release: 11604000
X Window Manager: GNOME Shell
Steam Runtime Version: steam-runtime-release_2015-01-06
Video Card:
Driver: X.Org Gallium 0.4 on AMD TAHITI
Driver Version: 3.0 Mesa 10.3.2
OpenGL Version: 3.0
Desktop Color Depth: 24 bits per pixel
Monitor Refresh Rate: 60 Hz
VendorID: 0x1002
DeviceID: 0x679a
Number of Monitors: 1
Number of Logical Video Cards: 1
Primary Display Resolution: 1920 x 1080
Desktop Resolution: 1920 x 1080
Primary VRAM Not Detected
Sound card:
Audio device: Intel Haswell HDMI
Memory:
RAM: 7842 Mb
Is there any other relevant information? (e.g. logs, screenshots,
configuration files)
Screenshot before entering Colony 9:
http://s29.postimg.org/ug0h5byk7/missing1.png
Screenshot in Colony 9:
http://s10.postimg.org/qucsvl3i1/missing2.png
This issue does not appear when using the internal Intel GPU.
Updated by christian.weinz almost 10 years ago
Oops, the GPU wasn't mentioned. It is a Radeon HD7950.
I'd like to add that I suspect this bug to be with the graphics driver radeonsi but I don't know how to gather the necessary information to file a bug with the upstream of radeonsi. If more data is needed, I'd be more than willing to help.
Updated by pauldacheez almost 10 years ago
It's more likely that this is just a Dolphin issue, though I don't know why this in particular would happen on one GPU and not another. Have you tried unchecking Graphics > Hacks > "Store EFB Copies to Texture" and turning up the texture cache accuracy?
Updated by christian.weinz almost 10 years ago
"Store EFB Copies to Texture only" is unchecked and the texture cache accuracy is turned to max safety. The issues stays unaffected.
Updated by pauldacheez almost 10 years ago
- Status changed from New to Questionable
Well, guess it could very well be a radeonsi issue. I'll cc degasus on this in case he feels like filing a bug for you or looking into the issue himself.
Updated by mathieui almost 10 years ago
I can confirm I encountered this issue as well on radeonsi (HD 7850), so it is likely either a radeonsi bug or a dolphin bug exposed only when using radeonsi.
Updated by degasus almost 10 years ago
Sounds like a driver bug, so next steps are:
Does this work on mesa-git debug build? Such issues offen triggers asserst which are only shown in mesa debug builds.
Was there a shader compilation error?
If both are false, you may need to fetch a fifolog of this scene, and then an apitrace of this fifolog (to only get the correct frame). Afterwards you can help to check which drawcall / shader is defect.
Updated by christian.weinz almost 10 years ago
I installed libdrm2_2.4.60-3, built mesa-git with debug options and ran "sudo make install".
If I run dolphin now, the shaders fail to link. The dump is attached.
If I set LIBGL_DRIVERS_PATH, LD_LIBRARY_PATH and EGL_DRIVERS_PATH to the lib directory in mesa-git before running dolphin, I get the following error:
GPU: OGL ERROR: Need OpenGL version 3.
GPU: Does your video card support OpenGL 3?
Updated by degasus almost 10 years ago
This failed shader is a recent regression with geometry shaders. Good luck, they are only used in xenoblade if you want to generate stereo.
As you don't support OGL3 in mesa-git, did you set --enable-texture-float in mesa? We strongly depend on OGL3, so this need to be supported. You can debug this OGL3 issue with glxinfo.
Updated by christian.weinz almost 10 years ago
I compiled mesa-git following a guide for debian[1]. I used the following command to configure mesa:
./configure --prefix=/usr --enable-driglx-direct --enable-gles1 --enable-gles2 --enable-glx-tls --with-dri-driverdir=/usr/lib/dri --with-egl-platforms='drm x11' --with-gallium-drivers=radeonsi
Now, I added aswell the --enable-texture-float option and tried again. After some seconds after loading the game in dolphin I get several shader problems. Dumps are attached.
I don't want to generate stereo.
Do you have more suggestions for how to configure my mesa build?
[1] https://pkg-xorg.alioth.debian.org/howto/build-mesa.html
Updated by degasus almost 10 years ago
Stereo can be enabled/disabled within the GUI options
Updated by christian.weinz almost 10 years ago
I totally forgot that I had stereo enabled just for testing purposes, sorry. Now the game starts fine, however the issue remains unaffected.
I compiled mesa with
CFLAGS = -g -O2 -Wall -std=c99 -Werror=implicit-function-declaration -Werror=missing-prototypes -fno-strict-aliasing -fno-builtin-memcmp -DDEBUG
Furthermore, I set
$ export LIBGL_DRIVERS_PATH=lib
$ export LD_LIBRARY_PATH=lib
$ export EGL_DRIVERS_PATH=lib/egl
$ export LIBGL_DEBUG=verbose
$ export MESA_DEBUG=1
$ export EGL_LOG_LEVEL=debug
before running dolphin. Here is the output I got while testing for the issue.
$ dolphin-emu
Gtk-Message: Failed to load module "canberra-gtk-module"
libGL: screen 0 does not appear to be DRI3 capable
libGL: pci id for fd 22: 1002:679a, driver radeonsi
libGL: OpenDriver: trying lib/tls/radeonsi_dri.so
libGL: OpenDriver: trying lib/radeonsi_dri.so
libGL: Can't open configuration file /home/user/.drirc: Arquivo ou diretório não encontrado.
libGL: Can't open configuration file /home/user/.drirc: Arquivo ou diretório não encontrado.
libGL: Using DRI2 for screen 0
Updated by degasus almost 10 years ago
So no assert. If you want to do the driver developers a favor, try to get a fifo log and an apitrace dump of this log.
Updated by christian.weinz almost 10 years ago
I created the fifo log and the apitrace, compressed their sizes are 19,8 MB and 768,5 MB, respectively. Is there a recommended way to upload them?
I don't exactly know which change caused this but now FPS is limited to 25 and VPS to 50 in the game, though I suspect the upgrade to libdrm2-2.4.60-3 did this.
Updated by degasus almost 10 years ago
How many frames did you capture within the apitrace? One or two are usually enough. It should be not more than some MB :/
Updated by christian.weinz almost 10 years ago
I recorded 3816 frames with apitrace and 1 frame with the fifo recorder.
I created the apitrace with
$ apitrace trace dolphin-emu
and the started the game and as soon as the game loaded with the issue visible I stopped the command. Any suggestion to record less frames?
I trimmed the apitrace to the last 316 frames with
$ apitrace trim --frames=3500- --output=trimmed.trace dolphin-emu.trace
but the output is only 100 MB smaller (1 GB vs 1.1 GB) and a replay of the trimmed output shows that it's totally garbled.
Anyways, I changed the compression algorithm and the fifolog is now down to 4 MB, so I attached it here, along with the acompanying screenshot.
Updated by christian.weinz almost 10 years ago
The apitrace is now down to ~80 MB with the new algorithm. I uploaded at a random filehoster: http://www.file-upload.net/download-10695208/dolphin-emu.trace.7z.html
Updated by christian.weinz almost 10 years ago
I created another fifolog with 2 captured frames, and the apitrace of dolphin replaying this fifolog. I managed to go down to 2 frames in the apitrace.
The first part of the trace archive follows in the next post.
Updated by Billiard26 14 days ago
- Status changed from Questionable to Working as intended
I'm assuming this is a driver issue that was fixed long ago?