Warnings with Morrowind VanillaPlus textures on ppc64le and RX 570
I'm running OpenMW git on Fedora 30 ppc64le with an AMD RX 570 and a Raptor Blackbird Power 9 workstation and when I use Morrowind VanillaPlus textures I get the following warning (despite everything seems to work):
Received a request to compress an image, but image size is not a multiple of four (1x1). Reverting to uncompressed.
Texture::getCompressedSize(...) : cannot compute correct size of compressed format (6408) returning 0.
Warning: detected OpenGL error 'invalid enumerant' at after RenderBin::draw(..)
$ glxinfo | grep OpenGL
OpenGL vendor string: X.Org
OpenGL renderer string: Radeon RX 570 Series (POLARIS10, DRM 3.32.0, 5.2.11-200.fc30.ppc64le, LLVM 8.0.0)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 19.1.6
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.5 (Compatibility Profile) Mesa 19.1.6
OpenGL shading language version string: 4.50
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 19.1.6
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:
That's weird, as 6408 is 0x1908, which is GL_RGBA, which isn't a compressed format. Something funky's going on
It's also strange because I get the warning in the console but not in the openmw.log: openmw.log openmw_launcher_output.txt
To reproduce start a new game with Skip menu and generate default character
enabled and Start default character at
set to Seyda Need
.
I'm using OSG 3.4.1 from the official Fedora 30 repositories:
ppc64le package: https://koji.fedoraproject.org/koji/rpminfo?rpmID=16333338
src rpm: https://koji.fedoraproject.org/koji/rpminfo?rpmID=16333278
Fedora is using the official version, plus a couple of patches:
Source0: https://github.com/openscenegraph/OpenSceneGraph/archive/OpenSceneGraph-3.4.1.tar.gz
Patch1: 0001-Cmake-fixes.patch
# Upstream deactivated building osgviewerWX for obscure reasons
# Reactivate for now.
Patch2: 0002-Activate-osgviewerWX.patch
# Unset DOT_FONTNAME
Patch3: 0003-Unset-DOT_FONTNAME.patch
# Re-add osgframerenderer
Patch4: 0004-Re-add-osgframerenderer.patch
# Building breaks with unsigned char (arm, c11)
Patch5: 0005-c-11-narrowing-hacks-Work-around-c-11-erroring-out-n.patch
# Hack to build against collada-dom-2.5
Patch6: 0006-Add-collada-dom-2.5.patch
# Force osgviewerWX to always use X11 backend (wxGLCanvas is broken on Wayland)
Patch7: force-x11-backend.patch
I'm running Gnome on Wayland, but it should be pretty common nowadays since it's the default on Fedora. I also noticed that they're using a patch to force the x11 backend, so it should be using XWayland instead:
diff -up OpenSceneGraph-OpenSceneGraph-3.4.1/examples/osgviewerWX/osgviewerWX.cpp.forcex11 OpenSceneGraph-OpenSceneGraph-3.4.1/examples/osgviewerWX/osgviewerWX.cpp
--- OpenSceneGraph-OpenSceneGraph-3.4.1/examples/osgviewerWX/osgviewerWX.cpp.forcex11 2017-08-28 12:50:49.000000000 -0400
+++ OpenSceneGraph-OpenSceneGraph-3.4.1/examples/osgviewerWX/osgviewerWX.cpp 2018-08-04 13:31:33.996397946 -0400
@@ -86,6 +86,11 @@ bool wxOsgApp::OnInit()
return true;
}
+void __attribute__ ((constructor)) force_x11()
+{
+ setenv("GDK_BACKEND", "x11", 1);
+}
+
IMPLEMENT_APP(wxOsgApp)
BEGIN_EVENT_TABLE(MainFrame, wxFrame)
The SDL issue is weird, too. I'd suspect it's something weird with your drivers or SDL version or both.
I'm using everything from the Fedora 30 repos, the only weird thing is the architecture: ppc64le running on a Power 9. But AFAIK amdgpu shouldn't be in a bad shape on little endian (on the contrary it's pretty broken when using big endian).
My settings: settings.cfg
I'm assuming you can't put a breakpoint where the message is printed so I can see what a bunch of local variables are set to.
I'd be glad to help debugging it if you can tell me how to.