tempuser n00b
Joined: 24 Aug 2011 Posts: 61
|
Posted: Sun Dec 15, 2013 9:57 am Post subject: Mesa + RBDoom3BFG = Black screen |
|
|
My problem relates to compiling mesa with appropriate OpenGL support. See
details below.
I installed RBDoom3BFG only to hit a wall of errors and a black screen when
running it. All there errors are the same as below:
Code: |
GL_CheckErrors: GL_INVALID_OPERATION
GL_CheckErrors: GL_INVALID_OPERATION
GL_CheckErrors: GL_INVALID_OPERATION
GL_CheckErrors: GL_INVALID_OPERATION
GL_CheckErrors: GL_INVALID_OPERATION
GL_CheckErrors: GL_INVALID_OPERATION
GL_CheckErrors: GL_INVALID_OPERATION
|
A bit of research revealed that RBDoom3BFG needed OpenGL >= 3.2;
https://github.com/RobertBeckebans/RBDOOM-3-BFG. Running glxinfo
returned the following:
Code: |
$ glxinfo | grep -i opengl
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Sandybridge Mobile
OpenGL version string: 3.0 Mesa 9.1.6
OpenGL shading language version string: 1.30
OpenGL extensions:
|
I discovered the mesa team had just enabled OpenGL 3.2 support in their
repository;
http://www.phoronix.com/scan.php?page=news_item&px=MTQ4MzI. So I
cloned the latest version of the mesa git repository and compiled it with the
following bash script I wrote:
Code: |
#!/bin/sh
# http://www.mesa3d.org/repository.html
# http://www.linuxfromscratch.org/blfs/view/svn/x/mesalib.html
pushd mesa
make -j 5 uninstall &&
make -j 5 clean &&
git pull origin &&
CC=gcc-4.7.3 \
./configure CFLAGS="-O2" CXXFLAGS="-O2" \
--prefix=/opt/Doom3BFG/ \
--exec-prefix=/opt/Doom3BFG/ \
--sysconfdir=/etc \
--disable-dri3 \
--enable-texture-float \
--enable-gles1 \
--enable-gles2 \
--enable-openvg \
--enable-osmesa \
--enable-xa \
--enable-gbm \
--enable-gallium-egl \
--enable-gallium-gbm \
--enable-glx-tls \
--with-llvm-shared-libs \
--with-egl-platforms="drm,x11" \
--with-dri-drivers="i965" \
--with-gallium-drivers="i915" &&
make -j 5
err=$?
popd
exit $err
|
Obviously the top of the script is to clean the system up after installing a
previous build, thus the file is a rebuild script.
After make installing the mesa build I checked my OpenGL support:
Code: |
$ LD_LIBRARY_PATH=/opt/Doom3BFG/lib/ glxinfo | grep -i opengl
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Sandybridge Mobile
OpenGL version string: 3.0 Mesa 10.1.0-devel (git-35f0aaf)
OpenGL shading language version string: 1.30
OpenGL extensions:
|
It's good to see my system correctly detected the development version of mesa using
the LD_LIBRARY_PATH technique, unfortunately I still only have OpenGL 3.0. My
next guess then was to check my CPU model against what mesa claimed to support.
The top of my /proc/cpuinfo file reads as follows:
Code: |
$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 42
model name : Intel(R) Core(TM) i5-2450M CPU @ 2.50GHz
stepping : 7
microcode : 0x25
cpu MHz : 1000.000
cache size : 3072 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pb
e syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid
bogomips : 4988.86
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
|
I believe the above information means my CPU is a Sandy Bridge model.
According to Wikipedia this means mesa should support at least OpenGL 3.1 on my
machine;
https://en.wikipedia.org/wiki/Comparison_of_Intel_graphics_processing_units#Fifth_generation.
So I am at a lose to explain why the development build I built only supports OpenGL
3.0. Did I configure it with the wrong options?
I would appreciate any advice on how to get either mesa working on OpenGL 3.2
or how to get RBDoom3BFG working otherwise. Please note I am not one hundred
percent sure "Gamers and Players" is the correct forum given the nature of the
problem. If I chose wrongly then I apologise. Thanks in advance. |
|