RobertBeckebans / RBDOOM-3-BFG

Doom 3 BFG Edition source port with updated DX12 / Vulkan renderer and modern game engine features
https://www.moddb.com/mods/rbdoom-3-bfg
GNU General Public License v3.0
1.38k stars 247 forks source link

Lubuntu 14.04.1 LTS - Can't launch after compile #189

Closed ghost closed 9 years ago

ghost commented 9 years ago

I compiled the engine using script "cmake-linux-release.sh". Engine compiled successfully, but when I try to launch it, it only flash the screen and won't launch at all.

I tried to compile it using SDL2 too (I changed parameter as README said...), deleted build folder (just to be sure...) and launched the script again. Then, I compiled it, with same result.

I have all dependencies for compiling installed. Is there any other dependencies whose am I missing?

If you need some log or sth then write me which one and where I can find it and I'll post it here...

BielBdeLuna commented 9 years ago

have you copied the renderprogs in the base directory from the src to your base directory (or in the case of a mod to the fs_game directory)?

ghost commented 9 years ago

Yep. Everything is right as it should be :/

BTW: Missing semicolon in "neo/sound/OpenAl/AL_SoundSample.cpp" at 36:62... Nothing special to fix by normal user who wants to download and use the source (he should know the errors and fixes if he wants to build it himself...) but still an error in the code.

BielBdeLuna commented 9 years ago

then, have you tried to compile the cmake-eclipse-linux-profile.sh as the readme.txt establishes?

in case you don't know it: within github you can do a branch of the master of your fork and fix the error, then make a pull request to Robert's repository, so everybody gets your fixes. where is the semicolon missing? line 36 column 62?

ghost commented 9 years ago

Yep, Line 36 and Column 62... No, because I don't have eclipse installed + I don't want to use it either so I won't install it...

Don't I just miss some libs? Or do I have installed some bad graphics driver?

BielBdeLuna commented 9 years ago

I don't have it either and it compiles it anyways.

what does the console say when you launch the engine?

ghost commented 9 years ago

Tried to compile it with script you told me to try to use - same outcome. When I launch it through terminal, it says:

--------------------------------------
WARNING: Unable to open resource file maps/_startup.resources
----- Initializing Decls -----
------------------------------
Couldn't open journal files
/proc/cpuinfo CPU processors: 4
/proc/cpuinfo CPU logical cores: 2
execing default.cfg
couldn't exec D3BFGConfig.cfg
couldn't exec autoexec.cfg
----- R_InitOpenGL -----
Initializing OpenGL subsystem
Using 8 color bits, 24 depth, 8 stencil display
Using GLEW 1.10.0
OpenGL Version  : 3.3
OpenGL Vendor   : Intel Open Source Technology Center
OpenGL Renderer : Mesa DRI Intel(R) Ivybridge Mobile 
OpenGL GLSL     : 3.3
   maxTextureAnisotropy: 16.000000
...using GL_EXT_texture_lod_bias
X..GL_GREMEDY_string_marker not found
X..GL_EXT_framebuffer_object not found
...using GL_EXT_framebuffer_blit
TODO: Sys_SetClipboardData
--------- Game Map Shutdown ----------
--------------------------------------
********************
ERROR: GL_ARB_multitexture not available
********************
Sys_Error: Error during initialization

PS: This is output of that Eclipse one from README. Also - why is the Eclipse one 139mb in size and the other one only 12mb?

JanSimek commented 9 years ago

Enable glewExperimental in neo/sys/sdl/sdl_glimp.cpp by removing these two lines:

-#ifdef __APPLE__
        glewExperimental = GL_TRUE;
-#endif
ghost commented 9 years ago

Ok, so error changed... New log:

--------------------------------------
WARNING: Unable to open resource file maps/_startup.resources
----- Initializing Decls -----
------------------------------
Couldn't open journal files
/proc/cpuinfo CPU processors: 4
/proc/cpuinfo CPU logical cores: 2
execing default.cfg
couldn't exec D3BFGConfig.cfg
couldn't exec autoexec.cfg
----- R_InitOpenGL -----
Initializing OpenGL subsystem
Using 8 color bits, 24 depth, 8 stencil display
Using GLEW 1.10.0
OpenGL Version  : 3.3
OpenGL Vendor   : Intel Open Source Technology Center
OpenGL Renderer : Mesa DRI Intel(R) Ivybridge Mobile 
OpenGL GLSL     : 3.3
   maxTextureAnisotropy: 16.000000
...using GL_EXT_texture_lod_bias
X..GL_GREMEDY_string_marker not found
...using GL_EXT_framebuffer_object
...using GL_EXT_framebuffer_blit
TODO: Sys_SetClipboardData
--------- Game Map Shutdown ----------
--------------------------------------
Setup OpenAL device and context... Done.
OpenAL vendor: OpenAL Community
OpenAL renderer: OpenAL Soft
OpenAL version: 1.1 ALSOFT 1.14
OpenAL extensions: AL_EXT_ALAW AL_EXT_DOUBLE AL_EXT_EXPONENT_DISTANCE AL_EXT_FLOAT32 AL_EXT_IMA4 AL_EXT_LINEAR_DISTANCE AL_EXT_MCFORMATS AL_EXT_MULAW AL_EXT_MULAW_MCFORMATS AL_EXT_OFFSET AL_EXT_source_distance_model AL_LOKI_quadriphonic AL_SOFT_buffer_samples AL_SOFT_buffer_sub_data AL_SOFTX_deferred_updates AL_SOFT_direct_channels AL_SOFT_loop_points
********************
ERROR: GL_ARB_texture_compression or GL_EXT_texture_compression_s3tc not available
********************
Sys_Error: Error during initialization
AL lib: ReleaseALC: 1 device not closed>
BielBdeLuna commented 9 years ago

is this sdl2?

have you tried r_useOpenGL32 0?

ghost commented 9 years ago

Yep. I wrote somewhere in the previous comments that I had tried to use SDL2 because I thougth that it was the cause of the error.

And no, I hadn't tried it... How could I use that parameter please? Cause I wrote "./RBDoom3BFG seta r_useOpenGL32 0" and it seems to not do anything at all (same error...)

RobertBeckebans commented 9 years ago

We can assume that GL_ARB_multitexture is available in any core profile or Mesa driver. If there are more problems like this then report them please.

ghost commented 9 years ago

There's still errors... LOG:

--------------------------------------
WARNING: Unable to open resource file maps/_startup.resources
----- Initializing Decls -----
------------------------------
Couldn't open journal files
/proc/cpuinfo CPU processors: 4
/proc/cpuinfo CPU logical cores: 2
execing default.cfg
couldn't exec D3BFGConfig.cfg
couldn't exec autoexec.cfg
----- R_InitOpenGL -----
Initializing OpenGL subsystem
Using 8 color bits, 24 depth, 8 stencil display
Using GLEW 1.10.0
OpenGL Version  : 3.3
OpenGL Vendor   : Intel Open Source Technology Center
OpenGL Renderer : Mesa DRI Intel(R) Ivybridge Mobile 
OpenGL GLSL     : 3.3
   maxTextureAnisotropy: 16.000000
...using GL_EXT_texture_lod_bias
X..GL_GREMEDY_string_marker not found
X..GL_EXT_framebuffer_object not found
...using GL_EXT_framebuffer_blit
TODO: Sys_SetClipboardData
--------- Game Map Shutdown ----------
--------------------------------------
Setup OpenAL device and context... Done.
OpenAL vendor: OpenAL Community
OpenAL renderer: OpenAL Soft
OpenAL version: 1.1 ALSOFT 1.14
OpenAL extensions: AL_EXT_ALAW AL_EXT_DOUBLE AL_EXT_EXPONENT_DISTANCE AL_EXT_FLOAT32 AL_EXT_IMA4 AL_EXT_LINEAR_DISTANCE AL_EXT_MCFORMATS AL_EXT_MULAW AL_EXT_MULAW_MCFORMATS AL_EXT_OFFSET AL_EXT_source_distance_model AL_LOKI_quadriphonic AL_SOFT_buffer_samples AL_SOFT_buffer_sub_data AL_SOFTX_deferred_updates AL_SOFT_direct_channels AL_SOFT_loop_points
********************
ERROR: GL_ARB_texture_compression or GL_EXT_texture_compression_s3tc not available
********************
Sys_Error: Error during initialization
AL lib: ReleaseALC: 1 device not closed
RobertBeckebans commented 9 years ago

What does "glxinfo | grep s3tc" say ?

2014-11-09 13:32 GMT+01:00 Andrej Redeky notifications@github.com:

There's still errors:

WARNING: Unable to open resource file maps/_startup.resources ----- Initializing Decls -----

Couldn't open journal files /proc/cpuinfo CPU processors: 4 /proc/cpuinfo CPU logical cores: 2 execing default.cfg couldn't exec D3BFGConfig.cfg couldn't exec autoexec.cfg ----- R_InitOpenGL ----- Initializing OpenGL subsystem Using 8 color bits, 24 depth, 8 stencil display Using GLEW 1.10.0 OpenGL Version : 3.3 OpenGL Vendor : Intel Open Source Technology Center OpenGL Renderer : Mesa DRI Intel(R) Ivybridge Mobile OpenGL GLSL : 3.3 maxTextureAnisotropy: 16.000000 ...using GL_EXT_texture_lod_bias X..GL_GREMEDY_string_marker not found X..GL_EXT_framebuffer_object not found ...using GL_EXT_framebuffer_blit TODO: Sys_SetClipboardData --------- Game Map Shutdown ----------

Setup OpenAL device and context... Done. OpenAL vendor: OpenAL Community OpenAL renderer: OpenAL Soft OpenAL version: 1.1 ALSOFT 1.14 OpenAL extensions: AL_EXT_ALAW AL_EXT_DOUBLE AL_EXT_EXPONENT_DISTANCE AL_EXT_FLOAT32 AL_EXT_IMA4 AL_EXT_LINEAR_DISTANCE AL_EXT_MCFORMATS AL_EXT_MULAW AL_EXT_MULAW_MCFORMATS AL_EXT_OFFSET AL_EXT_source_distance_model AL_LOKI_quadriphonic AL_SOFT_buffer_samples AL_SOFT_buffer_sub_data AL_SOFTX_deferred_updates AL_SOFT_direct_channels

AL_SOFT_loop_points

ERROR: GL_ARB_texture_compression or GL_EXT_texture_compression_s3tc not

available

Sys_Error: Error during initialization AL lib: ReleaseALC: 1 device not closed

— Reply to this email directly or view it on GitHub https://github.com/RobertBeckebans/RBDOOM-3-BFG/issues/189#issuecomment-62301829 .

ghost commented 9 years ago

it says:

GL_OES_EGL_image, GL_OES_read_format, GL_S3_s3tc
GL_OES_read_format, GL_S3_s3tc, GL_SGIS_generate_mipmap,
coldtobi commented 9 years ago

When packaging for Debian I had the same or similar issues when preparing for a newer GLEW (namely that almost no OpenGL feature was detected; GL_ARB_multitexture is only the first feature to be checked and thats why it failed with that error).

After triaging this, I came to this patch you might want to try: https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi?p=pkg-games/rbdoom3bfg.git;a=blob;f=debian/patches/60-use-system-glew.patch;h=5a87fdb44b0b6e4473847fc27363eebe039c93c2;hb=HEAD The important part is the patch for neo/sys/sdl/sdl_glimp.cpp

One maybe important observation maybe related: When I used the embedded code copies (libGLEW and others) and enabled fps counter and there is one number which seems to be GPU related.. Without my patch, the number was always "0", with the patch significantly higher. (I'm not at the machine right now to give exact figures)

RobertBeckebans commented 9 years ago

I tested my patched GLEW with an OpenGL 3.2 core profile on Linux and it worked fine. Not reporting GL extensions like GL_ARB_multitexture is an issue of the Mesa drivers and a separate problem. Using the system GLEW without any support for OpenGL core profiles is simply a bad idea.

2014-11-11 10:43 GMT+01:00 Tobias Frost notifications@github.com:

When packaging for Debian I had the same or similar issues when preparing for a newer GLEW (namely that almost no OpenGL feature was detected; GL_ARB_multitexture is only the first feature to be checked and thats why it failed with that error).

After triaging this, I came to this patch you might want to try:

https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi?p=pkg-games/rbdoom3bfg.git;a=blob;f=debian/patches/60-use-system-glew.patch;h=5a87fdb44b0b6e4473847fc27363eebe039c93c2;hb=HEAD The important part is the patch for neo/sys/sdl/sdl_glimp.cpp

One maybe important observation maybe related: When I used the embedded code copies (libGLEW and others) and enabled fps counter and there is one number which seems to be GPU related.. Without my patch, the number was always "0", with the patch significantly higher. (I'm not at the machine right now to give exact figures)

— Reply to this email directly or view it on GitHub https://github.com/RobertBeckebans/RBDOOM-3-BFG/issues/189#issuecomment-62523692 .

coldtobi commented 9 years ago

Using the system GLEW without any support for OpenGL core profiles is simply a bad idea. Frankly, I have doubts that the reason is that there is a missing of the OpenGL core profiles. Many other packages are using stock libGLEW without any problems. I also don't believe that mesa is withholding information.

But to be sure we are not talking pears and apples: What were the error messages you've got with an unpatched libglew?

My observations when just compiled against system libGLEW with unmodified rbdoom3 source were very comparable with this report: Missing ARB_multitexture not available. Digging into it I saw that no feature was reported as available, not only the above. Going deeper (checking other programms which worked I worked out the differences and then found one article describing that the order of the calls are important [1]. After doing that suddenly all the features were reported. This call order is also consistant with the example in [2].

I tested my patched GLEW with an OpenGL 3.2 core profile on Linux and it worked fine. I have no issuses with Debian's libGLEW. What distribution are you using? If you using Debian or a derivate may I suggest to try the package? Its still in NEW[3]] , so there is no direct download, but you can clone it from here: git://anonscm.debian.org/pkg-games/rbdoom3bfg.git and give it a try,

tobi

[1] http://www.brandonfoltz.com/2013/12/example-using-opengl-3-0-with-sdl2-and-glew/ [2] http://wiki.libsdl.org/SDL_GL_CreateContext [3 https://ftp-master.debian.org/new/rbdoom3bfg_1.0.2~git20141019+repack-1.html

coldtobi commented 9 years ago

PS: TLOFelda:

What you can try is to compile your own Debian package, however as I based my package on ffmpeg, so you maybe need to remove the "ffmpeg" in the Build-Depends in the file debian/control to read:

Build-Depends: cmake, debhelper (>= 9), libavcodec-dev, libavformat-dev, libavutil-dev, libglew-dev, libjpeg-dev, libopenal-dev, libpng12-dev, libsdl2-dev, libswscale-ffmpeg-dev, zlib1g-dev

After installing build-dedpencies (dpkg-buildpackage will tell you what's missing) a dpkg-buildpackage -b will build it. However, there could be breakage with Trusty Tahr; I did not try building under Ubuntu.

ghost commented 9 years ago

Sorry for not commenting on this issue for a while but I'd got no notification niether an email about some new comments in thread :/

A recently upgraded to Lubuntu 14.10, hadn't tried to compile it there with latest source for now... I can try and post result here later this day :)

coldtobi commented 9 years ago

Hi Andrey,

Am Sonntag, den 07.12.2014, 03:07 -0800 schrieb Andrej Redeky:

Sorry for not commenting on this issue for a while but I'd got no notification niether an email about some new comments in thread :/

A recently upgraded to Lubuntu 14.10, hadn't tried to compile it there with latest source for now... I can try and post result here later this day :)

note that Roberts recent commit disabled some OpenGL stuff specifically for Linux, so YMMV: On this machine here (Laptop, Intel Gfx) I get far worse performance with this settings, low FPS* and intel_gpu_top shows are significant lower load on the GPU (and top shows more load on the CPU). When forcing to OpenGL profile 3.2 it wont start.

If you want, you can compare this with my packaging repository at http://anonscm.debian.org/cgit/pkg-games/rbdoom3bfg.git

git clone git://anonscm.debian.org/pkg-games/rbdoom3bfg.git$ cd rbdoom3bfg dpkg-buildpackage -b

should make you a nice Debian package. (Note, the binary's name in the Debian package is lowercase: rbdoom3bfg)

left top console: top right top console: intel_gpu_top left bottom console: game

tobi

BielBdeLuna commented 9 years ago

wait, allow me to understand you, in your repo you've undone the mesa limitations and in intel-gpu powered machines it runs better?

ghost commented 9 years ago

I'll try your repsitory too, cause this one still doesn't work for some reason, but I'm not able to use git on our school network... Also, I'd written you a mail regarding some things on one you have in your profile coldtobi, so if you could make your time, could you please look at it?

Anyway... Error for this one (now under Lubuntu 14.10...)

----- R_InitOpenGL -----
Initializing OpenGL subsystem
Using 8 color bits, 24 depth, 8 stencil display
Using GLEW 1.10.0
Sys_InitInput: Joystick subsystem init
Sys_InitInput: Joystic - Found 0 joysticks
OpenGL Version  : 3.0
OpenGL Vendor   : Intel Open Source Technology Center
OpenGL Renderer : Mesa DRI Intel(R) Ivybridge Mobile 
OpenGL GLSL     : 1.3
   maxTextureAnisotropy: 16.000000
...using GL_EXT_texture_lod_bias
X..GL_GREMEDY_string_marker not found
...using GL_EXT_framebuffer_object
...using GL_EXT_framebuffer_blit
TODO: Sys_SetClipboardData
--------- Game Map Shutdown ----------
--------------------------------------
********************
ERROR: GL_ARB_texture_compression or GL_EXT_texture_compression_s3tc not available
********************
Sys_Error: Error during initialization
coldtobi commented 9 years ago

wait, allow me to understand you, in your repo you've undone the mesa limitations and in intel-gpu powered machines it runs better?

Well, honestly I cant reliably tell, I'm not a SDL/MESA/OpenGL expert. My focus on rbdoom3-bfg is packaging for Debian.)

With the disclaimer put, my observations says my patch works. However Robert told me in issue #205 that the things I'm doing in the patch are wrong. I can't tell if he is right. For background on the patch, see also my earlier messages in this issue #189 -- there I provided some background info / rationales on the patch

(changed: typo; this is 189 not 187)

coldtobi commented 9 years ago

I'll try your repsitory too, cause this one still doesn't work for some reason, but I'm not able to use git on our school network...

Debian has also a webfrontend where you can get snapshot as tarballs:

https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi?p=pkg-games/rbdoom3bfg.git;a=tree

Tobi

ghost commented 9 years ago

coldtobi this is output of dpkg-buildpackage:

 dpkg-buildpackage -b
 dpkg-buildpackage: source package rbdoom3bfg
 dpkg-buildpackage: source version 1.0.2~git20141205+repack-1
 dpkg-buildpackage: source distribution unstable
 dpkg-buildpackage: source changed by Tobias Frost <tobi@debian.org>
 dpkg-buildpackage: host architecture amd64
 dpkg-source --before-build rbdoom3bfg
 dpkg-source: info: applying 10-lowercase-executeable.patch
 dpkg-source: info: applying 65-init-sdl2.patch
 dpkg-source: info: applying 99-local-no-precompiled-header.patch
 dpkg-checkbuilddeps: Unmet build dependencies: libglew-dev
 dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
 dpkg-buildpackage: warning: (Use -d flag to override.)

Isn't there some problem with dependencies here? Looking at second line from end? I didn't try to override it but I think it would miss the point, doesn't it?

coldtobi commented 9 years ago

coldtobi this is output of dpkg-buildpackage:

dpkg-checkbuilddeps: Unmet build dependencies: libglew-dev

You need to install the build-dependencies

apt-get install libglew-dev


Reply to this email directly or view it on GitHub: https://github.com/RobertBeckebans/RBDOOM-3-BFG/issues/189#issuecomment-66420989

ghost commented 9 years ago

I have build-dependencies installed - it is one of the first things I'm installing on every linux distro, as I'm learning some coding...

Installing libglew-dev helped, building now...

EDIT: I see now... I should read it whole... What a shame :/

ghost commented 9 years ago

It failed near the end... It needs some key for signing...

signfile rbdoom3bfg_1.0.2~git20141205+repack-1_amd64.changes
gpg: skipped "Tobias Frost <tobi@debian.org>": secret key not available
gpg: [stdin]: clearsign failed: secret key not available

dpkg-buildpackage: error: failed to sign .changes file
ghost commented 9 years ago

If it helps for some coding (I mean that errors for RB's release now...), here are my specs (I censored serials... listed with command lshw)

http://pastebin.com/7RUtrLfH

coldtobi commented 9 years ago

It failed near the end... It needs some key for signing...

signfile rbdoom3bfg_1.0.2~git20141205+repack-1_amd64.changes
gpg: skipped "Tobias Frost <tobi@debian.org>": secret key not available
gpg: [stdin]: clearsign failed: secret key not available

dpkg-buildpackage: error: failed to sign .changes file

Don't worry. You do not need to sign the package; (its only necessary for upload to Debian)To supress the warning you could add these two options to dpkg-buildpackage: -uc -us (But this is not needed -- the package can be used without any signature) You do not even need to install the package -- the binary is in a subfolder, something starting with obj-* (hint: you should cd into this directory therwise the game would use the base directory also found in the source and then fails to start because it does not find the required files)

tobi

ghost commented 9 years ago

Same error :( Nevermind... I see this is leading nowhere...

ghost commented 9 years ago

Ok, this seems like it would never be solved, as I have hardware capable of running it (even when crappy as hell...) and here is nobody who is able to help me, I'll mark this post as closed due to owner/other contributors ignoring (at least it seems like it...) this issue for a very long time anyway...

ghost commented 9 years ago

Leave a comment

RobertBeckebans commented 9 years ago

If glxinfo doesn't report GL_EXT_texture_compression_s3tc then it indicates that your driver does not support DXT compression and the engine requires it. It looks like that you patched Mesa with a custom build. I get on Kubuntu 14.10 on Sandybridge OpenGL version string: 3.0 Mesa 10.3.0 OpenGL shading language version string: 1.30 and $ glxinfo | grep s3 GL_EXT_texture_compression_s3tc, GL_EXT_texture_filter_anisotropic, GL_S3_s3tc GL_EXT_texture_compression_rgtc, GL_EXT_texture_compression_s3tc, GL_S3_s3tc, GL_SGIS_generate_mipmap, GL_SGIS_texture_border_clamp,

The master branch works here no matter wether SDL 1.2 or SDL 2 are used.