About Store Forum Documentation Contact



Post Reply 
Linux issues
Author Message
Houge Offline
Member

Post: #61
RE: Linux issues
I saw your commit 6 hours ago, now it compiles successfully.
Nvidia works, GMA 3150 works, nettop doesn't work. It seems like the case doesn't suit here 100% and there are both 3 gl_FragData and extension GL_ARB_draw_buffers. Here is the error output:

Code:
Error accessing ShaderTech "LaserN" in Shader "Main".
Pixel Shader compilation failed:
0:2(12): warning: extension 'GL_EXT_shader_texture_lod' unsupported in fragment shader
0:3(12): warning: extension 'GL_EXT_shadow_samplers' unsupported in fragment shader
0:21(1): error: syntax error, unexpected EXTENSION, expecting
Pixel Shader code:
#extension GL_ARB_shader_texture_lod:enable
#extension GL_EXT_shader_texture_lod:enable
#extension GL_EXT_shadow_samplers:enable
#ifdef GL_ES
precision lowp float;
precision lowp int;
#define texture2DLod texture2DLodEXT
#define shadow2DProj shadow2DProjEXT
#endif
#ifdef GL_ES
#define HP highp
#define MP mediump
#define LP lowp
#else
#define HP
#define MP
#define LP
#endif
varying vec4 GL_Tex0;
varying vec4 GL_Tex1;
#extension GL_ARB_draw_buffers:require
struct DeferredSolidOutput{
vec4 _out0;
vec4 _out1;
vec4 _out2;
};
DeferredSolidOutput _output1;
vec3 _TMP165;
float _x0170;
vec3 _TMP171;
float _x0176;
float _TMP179;
float _x0180;
float _y0180;
float _TMP185;
float _b0190;
DeferredSolidOutput this196;
vec3 _color0197;
DeferredSolidOutput this201;
DeferredSolidOutput this203;
uniform float _Step;
uniform vec4 _Color[4];
void main()
{
float _stp1;
vec4 _col1;
_x0170=dot(GL_Tex1.xyz,GL_Tex1.xyz);
_TMP165=inversesqrt(_x0170)*GL_Tex1.xyz;
_x0176=dot(GL_Tex0.xyz,GL_Tex0.xyz);
_TMP171=inversesqrt(_x0176)*GL_Tex0.xyz;
_x0180=-dot(_TMP165,_TMP171);
_y0180=-_TMP165.z;
_TMP179=max(_x0180,_y0180);
_b0190=min(1.00000000E+000,_TMP179);
_TMP185=max(0.00000000E+000,_b0190);
_stp1=pow(_TMP185,_Step);
_col1=_Color[0]+_stp1*(_Color[1]-_Color[0]);
this196._out0=_output1._out0;
this196._out1=_output1._out1;
_color0197=_col1.xyz*vec3(abs(0.00000000E+000)*-0.00000000E+000+1.00000000E+000,abs(0.00000000E+000)*-0.00000000E+000+1.00000000E+000,abs(0.00000000E+000)*-0.00000000E+000+1.00000000E+000);
this196._out0.xyz=_color0197;
this196._out1.xyz=vec3(5.00000000E-001,5.00000000E-001,5.00000000E-001);
this201._out0=this196._out0;
this201._out0.w=_col1.w;
_output1._out0=this201._out0;
this203._out1=this196._out1;
this203._out1.w=0.00000000E+000;
_output1._out1=this203._out1;
_output1._out2=vec4(5.00000000E-001,5.00000000E-001,5.00000000E-001,0.00000000E+000);
gl_FragData[0]=this201._out0;
gl_FragData[1]=this203._out1;
gl_FragData[2]=vec4(5.00000000E-001,5.00000000E-001,5.00000000E-001,0.00000000E+000);
}
(This post was last modified: 06-14-2014 02:43 PM by Houge.)
06-14-2014 02:41 PM
Visit this user's website Find all posts by this user Quote this message in a reply
Houge Offline
Member

Post: #62
RE: Linux issues
Hope you didn't forget about me smile
06-25-2014 06:28 AM
Visit this user's website Find all posts by this user Quote this message in a reply
Esenthel Offline
Administrator

Post: #63
RE: Linux issues
Hi,
Sorry I don't have ideas how to solve this smile
To me this is just bad OpenGL Driver.
06-25-2014 07:07 AM
Find all posts by this user Quote this message in a reply
Houge Offline
Member

Post: #64
RE: Linux issues
(06-25-2014 07:07 AM)Esenthel Wrote:  Hi,
Sorry I don't have ideas how to solve this smile
To me this is just bad OpenGL Driver.

That's a pity that you didn't tell me that earlier, i thought you are trying to test something smile
Ok, let me play around it a bit. I will write here if i get something new.
(This post was last modified: 06-25-2014 10:22 AM by Houge.)
06-25-2014 10:22 AM
Visit this user's website Find all posts by this user Quote this message in a reply
Esenthel Offline
Administrator

Post: #65
RE: Linux issues
You could potentially do something simple:
Try compile the shader, if that fails, then execute the code that comments out the writes to secondary render targets, and try compiling it again.
There's a high chance that would work in your case, but I would be against integrating that code into the engine main branch as it seems too hacky.
The real solution would be from the OpenGL Driver team to just fix their drivers.
06-25-2014 11:46 PM
Find all posts by this user Quote this message in a reply
Houge Offline
Member

Post: #66
[split] Linux character movement glitch
Dear Greg, if you are back to your linux laptop, i'd like to ask you to fix the old bug with EE and intel graphics (hope you remember that there were shader problems) smile
The point is that it seems like i found out what to do. Let me write that here not to necropost to the old theme.

It seems like mesa opengl works badly with GL_ARB_draw_buffers extension despite the fact that this extension is supported (it can be checked via glGetString(GL_EXTENSIONS) function). So i offer the following piece of code to solve the problem:

Code:
if(Contains((CChar8*)glGetString(GL_VERSION), "Mesa"))
{
    for(Char8 *gl=(Char8*)code(); gl=(Char8*)TextPos(gl, "#extension GL_ARB_draw_buffers"); )gl[0]=gl[1]='/';
}

Which means that if opengl is via Mesa (with Nvidia it is Nvidia, with Intel it is Mesa, in virtualbox it is Mesa) we comment extension out.

Place it in ShaderPSGL::create(Bool clean, Str *messages) function right before the following code:

Code:
CChar8 *code_ptr=code(); glShaderSource(ps, 1, &code_ptr, NULL); glCompileShader(ps); // compile

It works with Intel graphics, it works even in Virtualbox!
If you rebuild Linux Esenthel installer it will work in Linux without GPU (but with desktop manager of course) and you can delete this task from roadmap smile

P.S. I confirm it even works with linux+virtualization (kvm).
(This post was last modified: 11-02-2014 07:13 PM by Houge.)
11-02-2014 03:49 PM
Visit this user's website Find all posts by this user Quote this message in a reply
Esenthel Offline
Administrator

Post: #67
RE: Linux issues
Thank you for the idea!

I will incorporate this into the next release.

I've merged this post into the old thread, as I think it's better to have them together when they discuss the same issue.

I really don't think there's anything wrong with necroposting old threads.

Thanks again!
11-03-2014 12:43 AM
Find all posts by this user Quote this message in a reply
Houge Offline
Member

Post: #68
RE: Linux issues
Great, thank you!
I'll wait for next binary release to install EE server on linux smile
11-03-2014 10:31 AM
Visit this user's website Find all posts by this user Quote this message in a reply
Rogus Offline
Member

Post: #69
RE: Linux issues
@Houge could you explain how did you run EE on Virtualbox ? Which version of Virtualbox, VB guest additions and linux do you have ?
11-20-2014 08:15 PM
Find all posts by this user Quote this message in a reply
Houge Offline
Member

Post: #70
RE: Linux issues
(11-20-2014 08:15 PM)Rogus Wrote:  @Houge could you explain how did you run EE on Virtualbox ? Which version of Virtualbox, VB guest additions and linux do you have ?

Latest EE runs on linux Virtualbox with no problems (versions before November 2014 needed manual changing + rebuild). I have the latest version of Virtualbox from the website.
I tried with ArchLinux and Ubuntu family (i tried 3, Ubuntu, Lubuntu, Kubuntu)
Don't actually know about guest additions, I didn't install anything additionally.
Do you have problems? What kind of problems do you gave?
(This post was last modified: 11-20-2014 08:30 PM by Houge.)
11-20-2014 08:29 PM
Visit this user's website Find all posts by this user Quote this message in a reply
Rogus Offline
Member

Post: #71
RE: Linux issues
I installed linux 7 times (different versions of Ubuntu/Kubuntu) on two versions of Virtualbox. After installing guest additions I could change resolution of the screen but i couldn't run EE installer becouse of error:
Code:
libGL error: pci id for fd 5: 80ee:beef, driver (null)
OpenGL Warning: glFlushVertexArrayRangeNV not found in mesa table
OpenGL Warning: glVertexArrayRangeNV not found in mesa table
OpenGL Warning: glCombinerInputNV not found in mesa table
OpenGL Warning: glCombinerOutputNV not found in mesa table
OpenGL Warning: glCombinerParameterfNV not found in mesa table
OpenGL Warning: glCombinerParameterfvNV not found in mesa table
OpenGL Warning: glCombinerParameteriNV not found in mesa table
OpenGL Warning: glCombinerParameterivNV not found in mesa table
OpenGL Warning: glFinalCombinerInputNV not found in mesa table
OpenGL Warning: glGetCombinerInputParameterfvNV not found in mesa table
OpenGL Warning: glGetCombinerInputParameterivNV not found in mesa table
OpenGL Warning: glGetCombinerOutputParameterfvNV not found in mesa table
OpenGL Warning: glGetCombinerOutputParameterivNV not found in mesa table
OpenGL Warning: glGetFinalCombinerInputParameterfvNV not found in mesa table
OpenGL Warning: glGetFinalCombinerInputParameterivNV not found in mesa table
OpenGL Warning: glDeleteFencesNV not found in mesa table
OpenGL Warning: glFinishFenceNV not found in mesa table
OpenGL Warning: glGenFencesNV not found in mesa table
OpenGL Warning: glGetFenceivNV not found in mesa table
OpenGL Warning: glIsFenceNV not found in mesa table
OpenGL Warning: glSetFenceNV not found in mesa table
OpenGL Warning: glTestFenceNV not found in mesa table
libGL error: core dri or dri2 extension not found
libGL error: failed to load driver: vboxvideo
OpenGL Warning: XGetVisualInfo returned 0 visuals for 0x3cac910
OpenGL Warning: Retry with 0x8002 returned 0 visuals
How did you installed graphics drivers?
11-21-2014 05:59 PM
Find all posts by this user Quote this message in a reply
Houge Offline
Member

Post: #72
RE: Linux issues
I made it as written here:
http://www.esenthel.com/?id=doc#Installation

Quote:sudo apt-get install libxmu-dev libxi-dev libxinerama-dev libxcursor-dev libudev-dev libopenal-dev libmotif-dev unixodbc-dev lib32z1 lib32stdc++6 nvidia-cg-toolkit
11-21-2014 06:39 PM
Visit this user's website Find all posts by this user Quote this message in a reply
Esenthel Offline
Administrator

Post: #73
RE: Linux issues
@Rogus:
You might have to try the latest Esenthel Engine version.
I've just installed latest Ubuntu version on my Macbook Air (in addition to OS X).
I've tried to download Esenthel 2.0 so I can repackage it for you, however the installer failed to start.
But the latest Esenthel Engine version has started OK. This is due to improved shader codes in latest release.
11-22-2014 08:42 AM
Find all posts by this user Quote this message in a reply
Rogus Offline
Member

Post: #74
RE: Linux issues
Now i have 3 linuxes.
1) Ubuntu installed on hard disk (like standard OS) - With the latest EE 2.0 works fine. Thank you Esenthel smile
2) Ubuntu installed on VirtualBox with guest addons and the same EE version. I got that errors:
Code:
libGL error: pci id for fd 5: 80ee:beef, driver (null)
OpenGL Warning: glFlushVertexArrayRangeNV not found in mesa table
OpenGL Warning: glVertexArrayRangeNV not found in mesa table
OpenGL Warning: glCombinerInputNV not found in mesa table
OpenGL Warning: glCombinerOutputNV not found in mesa table
OpenGL Warning: glCombinerParameterfNV not found in mesa table
OpenGL Warning: glCombinerParameterfvNV not found in mesa table
OpenGL Warning: glCombinerParameteriNV not found in mesa table
OpenGL Warning: glCombinerParameterivNV not found in mesa table
OpenGL Warning: glFinalCombinerInputNV not found in mesa table
OpenGL Warning: glGetCombinerInputParameterfvNV not found in mesa table
OpenGL Warning: glGetCombinerInputParameterivNV not found in mesa table
OpenGL Warning: glGetCombinerOutputParameterfvNV not found in mesa table
OpenGL Warning: glGetCombinerOutputParameterivNV not found in mesa table
OpenGL Warning: glGetFinalCombinerInputParameterfvNV not found in mesa table
OpenGL Warning: glGetFinalCombinerInputParameterivNV not found in mesa table
OpenGL Warning: glDeleteFencesNV not found in mesa table
OpenGL Warning: glFinishFenceNV not found in mesa table
OpenGL Warning: glGenFencesNV not found in mesa table
OpenGL Warning: glGetFenceivNV not found in mesa table
OpenGL Warning: glIsFenceNV not found in mesa table
OpenGL Warning: glSetFenceNV not found in mesa table
OpenGL Warning: glTestFenceNV not found in mesa table
libGL error: core dri or dri2 extension not found
libGL error: failed to load driver: vboxvideo
OpenGL Warning: XGetVisualInfo returned 0 visuals for 0x2af5c40
OpenGL Warning: Retry with 0x8002 returned 0 visuals
3) Ubuntu installed on VirtualBox without installed guest addons and the same EE version.
Code:
Error accessing ShaderTech "LaserN" in Shader "Main".
Pixel Shader compilation failed:
0:2(12): warning: extension 'GL_EXT_shader_texture_lod' unsupported in fragment shader
0:19(1): error: syntax error, unexpected EXTENSION, expecting
Pixel Shader code:
#extension GL_ARB_shader_texture_lod:enable
#extension GL_EXT_shader_texture_lod:enable
#ifdef GL_ES
precision lowp float;
precision lowp int;
#define texture2DLod texture2DLodEXT
#endif
#ifdef GL_ES
#define HP highp
#define MP mediump
#define LP lowp
#else
#define HP
#define MP
#define LP
#endif
varying vec4 GL_Tex0;
varying vec4 GL_Tex1;
(This post was last modified: 11-22-2014 09:47 AM by Rogus.)
11-22-2014 09:44 AM
Find all posts by this user Quote this message in a reply
Houge Offline
Member

Post: #75
RE: Linux issues
Ok the following question:
Do you have nvidia video on your first ubuntu (on hard disk)?

Try install mesa-libgl on the virtualbox, to do something like (maybe you find another packages):
Quote:apt-get install libgl1-mesa-glx libgl1-mesa-dri
(This post was last modified: 11-22-2014 12:15 PM by Houge.)
11-22-2014 12:14 PM
Visit this user's website Find all posts by this user Quote this message in a reply
Post Reply