Closed inukaze closed 4 years ago
6\. **DUMMY: SFileSetBasePath @ SourceX/storm/storm.cpp:828**
We need a bit more of the output then just that line. That one isn't an error but just a status.
I'm going to guess your version of SDL so you have? It could likly be an issue with it being to old.
Regarding your build issue, you appear to be including SDL headers multiple times:
/usr/include/SDL2/SDL_stdinc.h
/usr/local/include/SDL2/SDL_stdinc.h
6\. **DUMMY: SFileSetBasePath @ SourceX/storm/storm.cpp:828**
We need a bit more of the output then just that line. That one isn't an error but just a status.
I'm going to guess your version of SDL so you have? It could likly be an issue with it being to old.
Well my old version of SDL2 is 2.0.10
Regarding your build issue, you appear to be including SDL headers multiple times:
/usr/include/SDL2/SDL_stdinc.h /usr/local/include/SDL2/SDL_stdinc.h
How i especify just use one with cmake ?
Ok, so it hangs i.e. never exits. "Hangin up" would indicate that it exits unexpectedly.
Someone reported a similar issue for a different but equally obscure system: https://github.com/diasurgical/devilutionX/issues/236
Your SDL version should be fine.
How i especify just use one with cmake ?
Idk, can you try just having one installation of it.
Please try the latest nightly: https://5756-143324737-gh.circle-artifacts.com/0/devilutionx_linux_x86_64
Do other SDL2 application work properly?
What is the CPU and mem usage for the application?
What happens if you run strace on the application?
4\. Open a terminal and set the permissions with `chmod 777 -R * inside the DevilutionX Folder`
You really shouldn't do this, only the devilutionx executable should be executable, and it is already marked as such. Giving full access for every one else is probably not a good idea either.
Ok, so it hangs i.e. never exits. "Hangin up" would indicate that it exits unexpectedly.
Someone reported a similar issue for a different but equally obscure system:
236
Your SDL version should be fine.
How i especify just use one with cmake ?
Idk, can you try just having one installation of it.
I can't because when i compile things like retroarch i need the latest SDL2 because the SDL2 from system if not correctly detected or detect is a minor version detected and i need a superior version becuase of that the latest version is in /usr/local
In some point i try to replace the system SDL2 with a manual compilation of SDL2, but that just cause more troubles when i need compile binary executable like Shockolate (Engine for System Shock 1)
But i can't uninstall the SDL2 from System becuase that broken a lot of packages of Distribution (i never like the manegament of like this type of package from system becuase don't allow the user got control over the system, in this case GoboLinux is better for this) if i try this try to broken package like "nvidia" drivers, "xorg", "wayland", and similars and that not have any sense.
Please try the latest nightly: https://5756-143324737-gh.circle-artifacts.com/0/devilutionx_linux_x86_64 Same behaviour, why the binary exectuable is not more verbose at that point ?
Do other SDL2 application work properly? Yes all another SDL2 applications works fine, included the 32 Bits SDL2 applications
What is the CPU and mem usage for the application? Follow mate-system-monitor is 0% and the process is "sleeping"
What happens if you run strace on the application?
Well first i try Devilution-0.4.0 i386 from the Releases, and that work fine well i just need make a mini-script for launch and put the libraries that binary executable not found, i package, if you want to try you can download from -> http://www.mediafire.com/file/ycs6fov9b83fhei/DevilutionX-0.4.0-x32.7z/file
I and i play fine, just in the miniscript i should use the follow content
#!/bin/bash
export LD_LIBRARY_PATH="$PWD/.libs/32"
SDL_AUDIODRIVER="alsa" ./.devilutionx-0.4.0.x32
Well i had uploaded the Spawned Shareware version -> Here
To get sound work properly, because some reason PulseAudio don't play any sound When i try with Strace :
A) Don't play the Video Logos neither Intro Video
B) Show this yellow squares on the floor :
C) Well when i want to hear audio with the nightly build version you share i use the command :
SDL_AUDIODRIVER="alsa" strace ./devilutionx_linux_x86_64
You need the output files of straces ?
4. Open a terminal and set the permissions with
chmod 777 -R * inside the DevilutionX Folder
You really shouldn't do this, only the devilutionx executable should be executable, and it is already marked as such. Giving full access for every one else is probably not a good idea either.
The devilutionx is not executable came with permissions 755 but is not marked as executable, before package need use
chmod a+o+x devilutionx_binary_executable
and package it using something like 7z, if i not remember wrong ".tar" can't conservate "executable" flag.
Well in my case i not have any trouble because i am the unique person i use this pc.
B) Show this yellow squares on the floor :
That is the viability debug grid, normally it is enabled using -d
but only in debug builds. If you see it with out this then I would say you have some sort of memory corruption or uninitialized memory issue. Does this only happen when using strace?
You need the output files of straces ?
Yes, but just for 0.5.0
The devilutionx is not executable came with permissions 755 but is not marked as executable, before package need use chmod a+o+x devilutionx_binary_executable
and package it using something like 7z, if i not remember wrong ".tar" can't conservate "executable" flag.
.tar can hold flags, if you check 0.5.0 is actually packaged with 7z.
755 would already be executable, I suggest you use chmod +x file-name
. The other command you use can lead to security issues, even if you are the only physical user.
Do you know if you are running under Wayland or X11? What window manager are you using?
Trying a fresh install of Devuan ascii appears to work correctly with the 0.5.0 release:
I am using Graphical Session : X.Org / X11 Window Manager : Compiz
Well i had re-downloaded the version 0.5.0 and i notice the follow permissions :
For some strange reason, when i try to rename the binary executable i can't, after i try to rename it, that hang up Thunar file manager xD (wtf?)
Well i use the follow command :
SDL_AUDIODRIVER="alsa" strace -o "devilutionx-0.5.0.x64-strace.txt" "./devilutionx-0.5.0.x64"
You can download the strace of 0.5.0 from -> Here
i notice this version show "DevilutionX 0.4.0" instead "DevilutionX 0.5.0" in the Main Menu Screen
for some strange reason when i use strace to run devilution start normally
Trying a fresh install of Devuan ascii appears to work correctly with the 0.5.0 release: Well i am thinking in format Devuan from weeks ago, but i am not decide if just install a new & fresh Devuan or install GoboLinux (i love the manegament of software of that distro). Well i should test Devilution-0.4.0 under Slackware 14.2 and DevilutionX 0.5.0 under Slackware64 14.2
Dunnos : 1 - Why in the Menu don't have the options of the "diablo.ini" for DevilutionX? like :
[devilutionx]
upscale=1
fullscreen=0
scaling quality=1
grab input=0
2 - If i want to translate to Spanish the Text and record voice for replace the Voices of Characters if possible with Devilution or not by the moment, because override its not possible yet ?
I really want to translate it to spanish begining from Text.
3 - Its not possible use the PlayStation data Diablo1 for play that version using DevilutionX, because that version for some reason had more explicative text about the history of game ?
4 - Its not possible use the extracted data of spawn.mpq or diabdat.mpq and not use the mpq files, just extracted ones ?
1: up until version 1.0.0 we will be sticking to to how the original game looked a feel, so adding new options aren't happening until later versions. Also if they are added to an options menu they should take effect with out restarting the game and that isn't the case at the moment.
2: We will eventually add translation support via the gettext format but we need to find a way to replace the font with a version that will allow for full unicode text (the current font is a subset of Windows-1252). Overwriting the assets is already supported so you could replace the voices and graphics already.
3: I don't understand what you are asking. But it wouldn't be legal to distribute the content of the PSX game.
4: It has been possible since version 0.4.0
I'm closing this issue was I am unable to replicate it and also out of ideas on how to get debug info, not to mention that there appears to be a workaround.
1: up until version 1.0.0 we will be sticking to to how the original game looked a feel, so adding new options aren't happening until later versions. Also if they are added to an options menu they should take effect with out restarting the game and that isn't the case at the moment.
2: We will eventually add translation support via the gettext format but we need to find a way to replace the font with a version that will allow for full unicode text (the current font is a subset of Windows-1252). Overwriting the assets is already supported so you could replace the voices and graphics already.
3: I don't understand what you are asking. But it wouldn't be legal to distribute the content of the PSX game.
If you had buy a legal copy of the PlayStation 1 (1994) version of Game, because for the PSX Console, don't had too many games becuase was a Sales Failure on 2003 when the PSX was released on Japan. but its 100% compatible with PlayStation 1 & 2 Games
For use with this engine was awesome, I am not asking to distributed the PlayStation Diablo Disc Content on Internet, i know that is illegal. i just want to know if possible use that data with this engine ever each user had own legal copy of game. i want to make a translation for that version too. But in via Romhacking can be very hard because on my native language spanish, some expression can be very long and on english can be very short, and viceverse.
4: It has been possible since version 0.4.0
i try but in the window of devilution showme a message the "diabdat.mpq" was requiered, and i put all extracted file in the same directory, i notice ui_art\title.pcx don't exist
Maybe be the tool i use to extract the mpq and the patch.mpq, you recommend some tool in particular for extract mpq content ?
3 By PSX I'm referring to playstation 1, it was it's internal name.
The psx version of diablo uses a completely different format for assets, and a slightly different version then most other psx games. Only about 75% of the audio can be converted by current tools. But I think it was only available in Japanese, French, German and Swedish in addition to English.
4 The extracted files will overwritten the content of the mpq. Make sure all files and folders are lower case.
Thanks for the quick answers.
Looks like this is definitely a duplicate of https://github.com/diasurgical/devilutionX/issues/236
LOL, well i can't understand why if the executable is running using strace run normally, and if without strace, just hang up. that is very weird for me.
And well is the second thing with that behavior i remember six year ago, when i compile RetroArch + Mupen64Plus Core, that core do exactly the same without strace don't work, but when i try to use strace or gdb for extract more debug information, run perfectly.
well i try to use gdb with the binary executable of devilution-0.5.0.x64 (i rename it) and i notice the follow output
$ gdb ./devilutionx-0.5.0.x64
GNU gdb (Debian 7.12-6) 7.12.0.20161007-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./devilutionx-0.5.0.x64...(no debugging symbols found)...done.
(gdb) run
Starting program: /media/Compartido/Videojuegos/Linux/Mazmorrero/Diablo1/devilutionx-0.5.0.x64
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffefbc5700 (LWP 19041)]
[New Thread 0x7ffff7ef6700 (LWP 19043)]
DUMMY: SFileSetBasePath @ SourceX/storm/storm.cpp:828
[New Thread 0x7fffda059700 (LWP 19044)]
Reading symbols from ./devilutionx-0.5.0.x64...(no debugging symbols found)...done.
You had a version of this binary executable with debbuging symbols ?
Well i try ran devilution-0.5.0.x64 and open a tab terminal and use strace this is the output :
strace -p $(pidof devilutionx-0.5.0.x64)
strace: Process 19378 attached
futex(0x7f55911cc9d0, FUTEX_WAIT, 19382, NULL
And there is when the window is hang up xD (what is FUTEX?)
Did you try the nightly build i linked to you earlier? I believe they have debug symbols.
Here is a fresh debug build with no network support or sanatizers: devilutionx.zip
Not looks like be the same version you lined earlier because when i try to run this latest :
./devilutionx-nightly.x64: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by ./devilutionx-nightly.x64)
well nothing strange. i just put the libraries from anothers distros of 64 Bits more updated
export LD_LIBRARY_PATH="$PWD/.libs/64"
gbd ./devilutionx-nightly.x64
GNU gdb (Debian 7.12-6) 7.12.0.20161007-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./devilutionx-nightly.x64...done.
(gdb) run
Starting program: /media/Compartido/Videojuegos/Linux/Mazmorrero/Diablo1/devilutionx-nightly.x64
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffefe3f700 (LWP 22794)]
[New Thread 0x7fffeb29c700 (LWP 22796)]
DUMMY: SFileSetBasePath @ SourceX/storm/storm.cpp:784
[New Thread 0x7fffda32a700 (LWP 22797)]
I notice the game hang up when try to use "pulse" / "pulseaudio" becuase i use the enviroment variable :
export SDL_AUDIODRIVER="alsa"
and binary executables :
./devilution-0.5.0.x64
./devilution-nightly.x64
and run perfectly. for some strange reason, with pulseaudio i not got audio with devilution, but with alsa works the audio perfectly. sadly i not know some method to probe if pulseaudio is working from binary executable and if the result is NULL then try to export SDL_AUDIODRIVER="alsa" and try again. in a bash script xD
I think the problem is with the SDL Audio Driver Output xD on my distro. alsa :
Works fine.
pulse :
Hang up.
Interesting, maybe we should wait with booting the sound system until we get the SDL_AUDIODEVICEADDED
event.
Not looks like be the same version you lined earlier because when i try to run this latest :
It's not, you should try both.
i forgot mention with version 0.4.0 when start with pulseaudio try start normally but without sound, until pass the 2 first logo video intros, if you click or push enter to go to main menu the game hang up too xD.
If you export SDL_AUDIODRIVER="alsa", works perfectly, but this version of the engine during gameplay the CPU consume are really high xD, for moments the game looks paused but is just lagged by cpu consume
@inukaze can you try and run the following 3 commands and show us the output:
pulseaudio --version
cat /proc/asound/version
pulseaudio
$ pulseaudio --version
Output :
pulseaudio 10.0
$ cat /proc/asound/version
Output :
Advanced Linux Sound Architecture Driver Version k4.9.0-11-amd64.
$ pulseaudio
Output
E: [pulseaudio] pid.c: Daemon already running.
E: [pulseaudio] main.c: Ha fallado pa_pid_file_create().
$ pulseaudio -k
$ pulseaudio
Output :
W: [pulseaudio] sink.c: Default and alternate sample rates are the same.
W: [pulseaudio] module.c: module-combine is deprecated: Please use module-combine-sink instead of module-combine!
W: [pulseaudio] module-combine.c: We will now load module-combine-sink. Please make sure to remove module-combine from your configuration.
E: [pulseaudio] socket-server.c: socket(PF_INET6): Esta familia de direcciones no está soportada por el protocolo
E: [pulseaudio] socket-server.c: socket(PF_INET6): Esta familia de direcciones no está soportada por el protocolo
E: [avahi-ml] module-zeroconf-publish.c: Failed to send: org.freedesktop.DBus.Error.ServiceUnknown:The name org.freedesktop.hostname1 was not provided by any .service files
Describe The game hang up when i try to start it
To Reproduce Steps to reproduce the behavior:
Download the DevilutionX from Here
Extract to any path
Copy the file diabdat.mpq from cd or gog installation to the DevilutionX folder
Open a terminal and set the permissions with
chmod 777 -R * inside the DevilutionX Folder
launch the command :
./devilutionx
See output / error : DUMMY: SFileSetBasePath @ SourceX/storm/storm.cpp:828
The Game never start, just hang up there.
Expected behavior The Game Start
Screenshots No have because the DevilutionX open a Empty Window / without Content / Without Window Border
Additional context I try to download and compile but i fail, i open a terminal
Output from last command :