Game stuck when clicking on any main menu option

Support for running, installing or compiling OpenMW

Before you submit a bug report for the first time, please read: Bug reporting guidelines
Post Reply
Naugrim
Posts: 172
Joined: 08 Jan 2016, 01:32
Location: Spain

Game stuck when clicking on any main menu option

Post by Naugrim »

I've been testing features for years with a custom build on Manjaro and now the game gets stuck when clicking on any menu option.
The console seems normal, only shows "[23:48:39.182 I] Playing music/special/morrowind title.mp3", and I have to alt-tab and kill the process.

In my build I build Bullet with `USE_DOUBLE_PRECISION=ON` and then build openmw linking to it with these options

Code: Select all

cmake \
-D CMAKE_BUILD_TYPE=Release \
-D CMAKE_INSTALL_PREFIX=./install \
-D BUILD_OSG_APPLICATIONS=OFF \
-D BUILD_OSG_DEPRECATED_SERIALIZERS=OFF \
-D OSG_FIND_3RD_PARTY_DEPS=OFF \
-D BUILD_OSG_PLUGINS_BY_DEFAULT=OFF \
-D BUILD_OSG_PLUGIN_OSG=1 \
-D BUILD_OSG_PLUGIN_DDS=1 \
-D BUILD_OSG_PLUGIN_TGA=1 \
-D BUILD_OSG_PLUGIN_BMP=1 \
-D BUILD_OSG_PLUGIN_JPEG=1 \
-D BUILD_OSG_PLUGIN_PNG=1 \
-D BUILD_OSG_PLUGIN_KTX=1 \
-D BUILD_OSG_PLUGIN_FREETYPE=1\
-D OSG_USE_FLOAT_MATRIX=ON \
-D OSG_USE_FLOAT_PLANE=ON \
-D OSG_USE_FLOAT_QUAT=ON \
-D BUILD_SHARED_LIBS=OFF \
-D DYNAMIC_OPENTHREADS=OFF \
-D DYNAMIC_OPENSCENEGRAPH=OFF \
..
Any tip would be appreciated, the stable 0.47 package works fine.
Naugrim
Posts: 172
Joined: 08 Jan 2016, 01:32
Location: Spain

Re: Game stuck when clicking on any main menu option

Post by Naugrim »

Thanks, that seems to be the issue, but the only workarround that works is removing Sound dir, so I guess it's time to wait.
LoneWolf
Posts: 138
Joined: 26 Sep 2017, 19:13

Re: Game stuck when clicking on any main menu option

Post by LoneWolf »

Naugrim wrote:the stable 0.47 package works fine.
both trunk and 0.47 stable have the same problem with ffmpeg 5, but work fine with ffmpeg 4.4 .

Where does your 0.47 stable version come from ?
Naugrim
Posts: 172
Joined: 08 Jan 2016, 01:32
Location: Spain

Re: Game stuck when clicking on any main menu option

Post by Naugrim »

LoneWolf wrote: 30 Apr 2022, 19:25 Where does your 0.47 stable version come from ?
Normal Manjaro package, it depends on ffmpeg4.4 and I guess it uses it.

Code: Select all

>>> pacman -Qi openmw
Name            : openmw
Version         : 0.47.0-4
Description     : Open-source engine reimplementation for the role-playing game Morrowind
Architecture    : x86_64
URL             : http://www.openmw.org
Licenses        : GPL3  MIT  custom
Groups          : None
Provides        : None
Depends On      : openal  openscenegraph  mygui  qt5-base  ffmpeg4.4  sdl2  unshield  libxt  boost-libs
Optional Deps   : None
Required By     : None
Optional For    : None
Conflicts With  : None
Replaces        : None
Installed Size  : 27,60 MiB
Packager        : Sven-Hendrik Haase <[email protected]>
Build Date      : dom 20 feb 2022 04:51:41
Install Date    : dom 01 may 2022 21:24:24
Install Reason  : Explicitly installed
Install Script  : No
Validated By    : Signature
I saw your comment https://gitlab.com/OpenMW/openmw/-/issu ... _847982189 but did not understand hwo to apply it. No build() function I could see outside of cpp and header files. and exporting the variable before the build did not work,
LoneWolf
Posts: 138
Joined: 26 Sep 2017, 19:13

Re: Game stuck when clicking on any main menu option

Post by LoneWolf »

The build() function I mentioned in BR #6631 refers to a PKGBUILD.

Those are very common on distros that use the archlinux project pacman , which includes manajaro .
See https://aur.archlinux.org/packages/openmw-git for an example, https://wiki.archlinux.org/title/PKGBUILD for general info .

I assume you are using a custom shellscript to build openmw trunk ?

I can see 2 possible reasons why the export didn't work :

your script has multiple cmake invocations and you didn't put the export at the right spot .
The snippet you posted in #1 f.e. looks like it deals with the cmake for building openscenegraph , the one for building openmw should be the last cmake invocation in the script.

manjaro ffmpeg4.4 package installs the ffmpeg4.4 pkgconfig files in another location then archlinux .
Easiest way to verify the location is to execute $ pacman -Ql ffmpeg4.4 | grep pkgconf .
Naugrim
Posts: 172
Joined: 08 Jan 2016, 01:32
Location: Spain

Re: Game stuck when clicking on any main menu option

Post by Naugrim »

LoneWolf wrote: 02 May 2022, 12:16 The build() function I mentioned in BR #6631 refers to a PKGBUILD.

Those are very common on distros that use the archlinux project pacman , which includes manajaro .
See https://aur.archlinux.org/packages/openmw-git for an example, https://wiki.archlinux.org/title/PKGBUILD for general info .
Thanks! At least I can check that script and compare.
LoneWolf wrote: 02 May 2022, 12:16 I assume you are using a custom shellscript to build openmw trunk ?

I can see 2 possible reasons why the export didn't work :

your script has multiple cmake invocations and you didn't put the export at the right spot .
The snippet you posted in #1 f.e. looks like it deals with the cmake for building openscenegraph , the one for building openmw should be the last cmake invocation in the script.

manjaro ffmpeg4.4 package installs the ffmpeg4.4 pkgconfig files in another location then archlinux .
Easiest way to verify the location is to execute $ pacman -Ql ffmpeg4.4 | grep pkgconf .
Yes, custom, but the cmake section is for openmw. The cmake I did not include is for Bullet (for the required double precission), OSG is managed by the openmw script itself, it downloads and compiles as part of the build.
Comparing with the AUR script and output of the `pacman` command, it all seems fine. It does something, just that it crashes when loading the menu (no click required) and dumps the 600 lines file.
Spoiler: Show

Just saw that during build the following appears, I wonder if it's still picking up ffmpeg 5...
- Found FFmpeg_AVCODEC 58.134.100
-- Found FFmpeg_AVFORMAT 58.76.100
-- Found FFmpeg_AVUTIL 56.70.100
-- Found FFmpeg_SWSCALE 5.9.100
-- Found FFmpeg_SWRESAMPLE 3.9.100
-- Found FFmpeg: /usr/lib/libavcodec.so;/usr/lib/libavformat.so;/usr/lib/libavutil.so;/usr/lib/libswscale.so;/usr/lib/libswresample.so found components: AVCODEC AVFORMAT AVUTIL SWSCALE SWRESAMPLE
LoneWolf
Posts: 138
Joined: 26 Sep 2017, 19:13

Re: Game stuck when clicking on any main menu option

Post by LoneWolf »

from building on my system :

Code: Select all

-- Found FFmpeg_AVCODEC 58.134.100
-- Found FFmpeg_AVFORMAT 58.76.100
-- Found FFmpeg_AVUTIL 56.70.100
-- Found FFmpeg_SWSCALE 5.9.100
-- Found FFmpeg_SWRESAMPLE 3.9.100
-- Found FFmpeg: /usr/lib/ffmpeg4.4/libavcodec.so;/usr/lib/ffmpeg4.4/libavformat.so;/usr/lib/ffmpeg4.4/libavutil.so;/usr/lib/ffmpeg4.4/libswscale.so;/usr/lib/ffmpeg4.4/libswresample.so  found components: AVCODEC AVFORMAT AVUTIL SWSCALE SWRESAMPLE
your crashlog shows

Code: Select all

0x00007f160522d020 0x00007f1605cb778b Yes (*) /usr/lib/libavcodec.so.59
0x00007f1604f51020 0x00007f16051082f3 Yes (*) /usr/lib/libavformat.so.59
0x00007f1604d6d020 0x00007f1604ddeb0a Yes (*) /usr/lib/libavutil.so.57
0x00007f1604ccc020 0x00007f1604d41fca Yes (*) /usr/lib/libswscale.so.6
0x00007f1604cad020 0x00007f1604cc08fc Yes (*) /usr/lib/libswresample.so.4
Those are ffmpeg5 librairies.
It seems on your system the export DOES work, but cmake still uses the ffmpeg 5 libraries.

EDIT

maybe there's some stuff leftover from an earlier build.
Have you tried building in a fresh empty folder ?
Naugrim
Posts: 172
Joined: 08 Jan 2016, 01:32
Location: Spain

Re: Game stuck when clicking on any main menu option

Post by Naugrim »

LoneWolf wrote: 03 May 2022, 22:26 maybe there's some stuff leftover from an earlier build.
Have you tried building in a fresh empty folder ?
I precisely maintain this scripts to avoid leftovers. I run the game directly from the build dir, and I totally delete and regenerate cmake on every build.

On the brigth side :) ... at least the crash versions are consistent with `ldd` ouput but that doesn't help much. Seems to me it's still linking to the newer ones in runtime, I wonder if there's a way to link those statically.
LoneWolf
Posts: 138
Joined: 26 Sep 2017, 19:13

Re: Game stuck when clicking on any main menu option

Post by LoneWolf »

I doubt linking ffmpeg libs statically is a good idea.

Something on your system leads to cmake preferring ffmpeg 5 if both 4.4 and 5 are present.
The something could be manjaro-specific or unique to your setup.

I don't know much about manjaro specific settings and can't help with that.

There's however one approach that will work : build in a separate environment that only has necessary stuff (specifically no ffmpeg 5) .

Whether a Virtual Machine, a clean chroot, a container (like docker or nspawn ) etc is used is a personal choice and doesn't really matter.
Post Reply