Попробовал - заработало. Появилось окошко авторизации стима, успешно залогинился, скачал TF2.
Пытаюсь запустить - на пару секунд черный экран и вылетает. На форуме Steam нашел рекомендацию -
Дело пошло чуть получше - появляется черный экран, я слышу звуки заставки Valve(там где голова с вентилем), но только слышу, а не слышу
r1.w = r2.w * r3.w;
oT7.xyz = r1.xyz;
r1.w = r2.z * r1.w;
vTempPos = r0;
r1.w = -r1.w * vc[16].w + vc[16].y;
oT6.xyw = r0.xyw;
r0.x = max( r1.w, vc[16].z );
gl_FogFragCoord = r0.x;
gl_FrontSecondaryColor.w = r0.x;
oT2.w = vc[0].x;
oT6.zw = r2.zw;
oT7.w = r2.z;
gl_FrontSecondaryColor.xyz = vc[0].xxx;
gl_ClipVertex = vTempPos;
vTempPos.z = vTempPos.z * vc[0].z - vTempPos.w; // z' = (2*z)-w
vTempPos.y = -vTempPos.y; // y' = -y
vTempPos.xy += vcscreen.xy * vTempPos.w;
gl_Position = vTempPos;
}
Compile of "vertexlit_and_unlit_generic_vs20" Failed:
//GLSLvp
#version 130
//ATTRIBMAP-00-10-20-30-50-01-31-xx-xx-xx-xx-xx-xx-xx-xx-xx
attribute vec4 v0; // 80000000 900f0000
attribute vec4 v1; // 80000001 900f0001
attribute vec4 v2; // 80000002 900f0002
attribute vec4 v3; // 80000003 900f0003
attribute vec4 v4; // 80000005 900f0004
attribute vec4 v5; // 80010000 900f0005
attribute vec4 v6; // 80010003 900f0006
//SAMPLERMASK-0
//SAMPLERTYPES-ffffffff
//HIGHWATER-54
//HIGHWATERBONE-161
uniform vec4 vc[54];
uniform vec4 vcbones[161];
uniform vec4 vcscreen;
varying vec4 oT0;
varying vec4 oT1;
varying vec4 oT2;
varying vec4 oT4;
varying vec4 oT6;
varying vec4 oT7;
void main()
{
// trans#0 label:vs-file vertexlit_and_unlit_generic_vs20 vs-index 24576 vs-combo 61
vec4 vd1 = vec4( -128.0, -64.0, 0.01587301679, 1.0 );
vec4 vd4 = vec4( -2.0, 1.0, 765.005859375, 0.000030517578 );
vec4 vd5 = vec4( 0.353549987078, 0.5, 0.0, 0.0 );
vec4 va_r;
vec4 r0;
vec4 r1;
vec4 r2;
vec4 r3;
vec4 r4;
vec4 r5;
vec4 vTempPos;
r1.xy = v3.xy + vd1.xx;
r0.xy = abs( r1.xy );
r2.xy = vec2( lessThan( r1.xy, vc[0].xx ) );
r0.xy = r0.xy + -r2.xy;
r0.xy = r0.xy + vd1.yy;
r1.xy = abs( r0.xy );
r0.xy = vec2( lessThan( r0.xy, vc[0].xx ) );
oT0.x = dot( v4.xyzw, vc[48].xyzw );
r1.xy = r1.xy + -r0.xy;
r0.w = r2.x * vd4.x + vd4.y;
r1.w = r1.x * -vd1.z + vd1.w;
r1.z = r1.y * -vd1.z + r1.w;
r1.xy = r1.xy * vd1.zz;
r2.xy = r0.xy * vd4.xx + vd4.yy;
r0.xyz = normalize( r1.xyz );
r1.xy = r2.xy * r0.xy;
r1.z = r0.w * r0.z;
r2.xy = v1.xy + vc[0].yy;
r0.xyz = v2.zyx * vd4.zzz;
r3.xy = r2.xy * vd4.ww;
va_r.xyz = r0.xyz;
r1.w = r3.y + r3.x;
r0 = r3.yyyy * vcbones[int(va_r.y) + 0];
r4.w = -r1.w + vc[0].y;
r0 = vcbones[int(va_r.x) + 0] * r3.xxxx + r0;
r4.xyz = v6.xyz * vc[3].xxx + r1.xyz;
r1 = vcbones[int(va_r.z) + 0] * r4.wwww + r0;
oT0.y = dot( v4.xyzw, vc[49].xyzw );
r5.x = dot( r4.xyz, r1.xyz );
r2 = r3.yyyy * vcbones[int(va_r.y) + 1];
r0 = r3.yyyy * vcbones[int(va_r.y) + 2];
r2 = vcbones[int(va_r.x) + 1] * r3.xxxx + r2;
r0 = vcbones[int(va_r.x) + 2] * r3.xxxx + r0;
r3 = vcbones[int(va_r.z) + 1] * r4.wwww + r2;
r2 = vcbones[int(va_r.z) + 2] * r4.wwww + r0;
r5.y = dot( r4.xyz, r3.xyz );
r5.z = dot( r4.xyz, r2.xyz );
oT1.x = dot( v4.xyzw, vc[52].xyzw );
r4.xyz = normalize( r5.xyz );
oT1.y = dot( v4.xyzw, vc[53].xyzw );
oT2.xyz = r4.xxx * vd5.xxx + vd5.yyy;
r0.xyz = v5.xyz;
r0.xyz = r0.xyz * vc[3].xxx + v0.xyz;
r0.w = v0.w;
r1.x = dot( r0.xyzw, r1.xyzw );
r1.y = dot( r0.xyzw, r3.xyzw );
r1.z = dot( r0.xyzw, r2.xyzw );
r1.w = vc[0].y;
oT4.xyz = r4.xyz;
r0.z = dot( r1.xyzw, vc[10].xyzw );
r0.x = dot( r1.xyzw, vc[8].xyzw );
r0.y = dot( r1.xyzw, vc[9].xyzw );
r0.w = dot( r1.xyzw, vc[11].xyzw );
r2.xy = -r1.zz + vc[2].wz;
r2.w = max( r2.x, vc[0].x );
r3.w = 1.0 / r2.y;
r2.z = dot( r1.xyzw, vc[13].xyzw );
r1.w = r2.w * r3.w;
oT7.xyz = r1.xyz;
r1.w = r2.z * r1.w;
vTempPos = r0;
r1.w = -r1.w * vc[16].w + vc[16].y;
oT6.xyw = r0.xyw;
r0.x = max( r1.w, vc[16].z );
gl_FogFragCoord = r0.x;
gl_FrontSecondaryColor.w = r0.x;
oT2.w = vc[0].x;
oT6.zw = r2.zw;
oT7.w = r2.z;
gl_FrontSecondaryColor.xyz = vc[0].xxx;
gl_ClipVertex = vTempPos;
vTempPos.z = vTempPos.z * vc[0].z - vTempPos.w; // z' = (2*z)-w
vTempPos.y = -vTempPos.y; // y' = -y
vTempPos.xy += vcscreen.xy * vTempPos.w;
gl_Position = vTempPos;
}
Compile of "vertexlit_and_unlit_generic_vs20" Failed:
//GLSLvp
#version 130
//ATTRIBMAP-00-10-20-30-50-01-31-xx-xx-xx-xx-xx-xx-xx-xx-xx
attribute vec4 v0; // 80000000 900f0000
attribute vec4 v1; // 80000001 900f0001
attribute vec4 v2; // 80000002 900f0002
attribute vec4 v3; // 80000003 900f0003
attribute vec4 v4; // 80000005 900f0004
attribute vec4 v5; // 80010000 900f0005
attribute vec4 v6; // 80010003 900f0006
//SAMPLERMASK-0
//SAMPLERTYPES-ffffffff
//HIGHWATER-54
//HIGHWATERBONE-161
uniform vec4 vc[54];
uniform vec4 vcbones[161];
uniform vec4 vcscreen;
varying vec4 oT0;
varying vec4 oT1;
varying vec4 oT2;
varying vec4 oT4;
varying vec4 oT6;
varying vec4 oT7;
void main()
{
// trans#0 label:vs-file vertexlit_and_unlit_generic_vs20 vs-index 24576 vs-combo 62
vec4 vd1 = vec4( 765.005859375, 0.353549987078, 0.5, 0.0 );
vec4 va_r;
vec4 r0;
vec4 r1;
vec4 r2;
vec4 r3;
vec4 r4;
vec4 r5;
vec4 vTempPos;
r0.xyz = v2.zyx * vd1.xxx;
oT0.x = dot( v4.xyzw, vc[48].xyzw );
va_r.xyz = r0.xyz;
r1.w = v1.y + v1.x;
r0 = v1.yyyy * vcbones[int(va_r.y) + 0];
r4.w = -r1.w + vc[0].y;
r0 = vcbones[int(va_r.x) + 0] * v1.xxxx + r0;
r1 = vcbones[int(va_r.z) + 0] * r4.wwww + r0;
r0.xyz = v6.xyz;
r4.xyz = r0.xyz * vc[3].xxx + v3.xyz;
oT0.y = dot( v4.xyzw, vc[49].xyzw );
r5.x = dot( r4.xyz, r1.xyz );
r2 = v1.yyyy * vcbones[int(va_r.y) + 1];
r0 = v1.yyyy * vcbones[int(va_r.y) + 2];
r2 = vcbones[int(va_r.x) + 1] * v1.xxxx + r2;
r0 = vcbones[int(va_r.x) + 2] * v1.xxxx + r0;
r3 = vcbones[int(va_r.z) + 1] * r4.wwww + r2;
r2 = vcbones[int(va_r.z) + 2] * r4.wwww + r0;
r5.y = dot( r4.xyz, r3.xyz );
r5.z = dot( r4.xyz, r2.xyz );
oT1.x = dot( v4.xyzw, vc[52].xyzw );
r4.xyz = normalize( r5.xyz );
oT1.y = dot( v4.xyzw, vc[53].xyzw );
oT2.xyz = r4.xxx * vd1.yyy + vd1.zzz;
r0.xyz = v5.xyz;
r0.xyz = r0.xyz * vc[3].xxx + v0.xyz;
r0.w = v0.w;
r1.x = dot( r0.xyzw, r1.xyzw );
r1.y = dot( r0.xyzw, r3.xyzw );
r1.z = dot( r0.xyzw, r2.xyzw );
r1.w = vc[0].y;
oT4.xyz = r4.xyz;
r0.z = dot( r1.xyzw, vc[10].xyzw );
r0.x = dot( r1.xyzw, vc[8].xyzw );
r0.y = dot( r1.xyzw, vc[9].xyzw );
r0.w = dot( r1.xyzw, vc[11].xyzw );
r2.xy = -r1.zz + vc[2].wz;
r2.w = max( r2.x, vc[0].x );
r3.w = 1.0 / r2.y;
r2.z = dot( r1.xyzw, vc[13].xyzw );
r1.w = r2.w * r3.w;
oT7.xyz = r1.xyz;
r1.w = r2.z * r1.w;
vTempPos = r0;
r1.w = -r1.w * vc[16].w + vc[16].y;
oT6.xyw = r0.xyw;
r0.x = max( r1.w, vc[16].z );
gl_FogFragCoord = r0.x;
gl_FrontSecondaryColor.w = r0.x;
oT2.w = vc[0].x;
oT6.zw = r2.zw;
oT7.w = r2.z;
gl_FrontSecondaryColor.xyz = vc[0].xxx;
gl_ClipVertex = vTempPos;
vTempPos.z = vTempPos.z * vc[0].z - vTempPos.w; // z' = (2*z)-w
vTempPos.y = -vTempPos.y; // y' = -y
vTempPos.xy += vcscreen.xy * vTempPos.w;
gl_Position = vTempPos;
}
Compile of "vertexlit_and_unlit_generic_vs20" Failed:
//GLSLvp
#version 130
//ATTRIBMAP-00-10-20-30-50-01-31-xx-xx-xx-xx-xx-xx-xx-xx-xx
attribute vec4 v0; // 80000000 900f0000
attribute vec4 v1; // 80000001 900f0001
attribute vec4 v2; // 80000002 900f0002
attribute vec4 v3; // 80000003 900f0003
attribute vec4 v4; // 80000005 900f0004
attribute vec4 v5; // 80010000 900f0005
attribute vec4 v6; // 80010003 900f0006
//SAMPLERMASK-0
//SAMPLERTYPES-ffffffff
//HIGHWATER-54
//HIGHWATERBONE-161
uniform vec4 vc[54];
uniform vec4 vcbones[161];
uniform vec4 vcscreen;
varying vec4 oT0;
varying vec4 oT1;
varying vec4 oT2;
varying vec4 oT4;
varying vec4 oT6;
varying vec4 oT7;
void main()
{
// trans#0 label:vs-file vertexlit_and_unlit_generic_vs20 vs-index 24576 vs-combo 63
vec4 vd1 = vec4( -128.0, -64.0, 0.01587301679, 1.0 );
vec4 vd4 = vec4( -2.0, 1.0, 765.005859375, 0.000030517578 );
vec4 vd5 = vec4( 0.353549987078, 0.5, 0.0, 0.0 );
vec4 va_r;
vec4 r0;
vec4 r1;
vec4 r2;
vec4 r3;
vec4 r4;
vec4 r5;
vec4 vTempPos;
r1.xy = v3.xy + vd1.xx;
r0.xy = abs( r1.xy );
r2.xy = vec2( lessThan( r1.xy, vc[0].xx ) );
r0.xy = r0.xy + -r2.xy;
r0.xy = r0.xy + vd1.yy;
r1.xy = abs( r0.xy );
r0.xy = vec2( lessThan( r0.xy, vc[0].xx ) );
oT0.x = dot( v4.xyzw, vc[48].xyzw );
r1.xy = r1.xy + -r0.xy;
r0.w = r2.x * vd4.x + vd4.y;
r1.w = r1.x * -vd1.z + vd1.w;
r1.z = r1.y * -vd1.z + r1.w;
r1.xy = r1.xy * vd1.zz;
r2.xy = r0.xy * vd4.xx + vd4.yy;
r0.xyz = normalize( r1.xyz );
r1.xy = r2.xy * r0.xy;
r1.z = r0.w * r0.z;
r2.xy = v1.xy + vc[0].yy;
r0.xyz = v2.zyx * vd4.zzz;
r3.xy = r2.xy * vd4.ww;
va_r.xyz = r0.xyz;
r1.w = r3.y + r3.x;
r0 = r3.yyyy * vcbones[int(va_r.y) + 0];
r4.w = -r1.w + vc[0].y;
r0 = vcbones[int(va_r.x) + 0] * r3.xxxx + r0;
r4.xyz = v6.xyz * vc[3].xxx + r1.xyz;
r1 = vcbones[int(va_r.z) + 0] * r4.wwww + r0;
oT0.y = dot( v4.xyzw, vc[49].xyzw );
r5.x = dot( r4.xyz, r1.xyz );
r2 = r3.yyyy * vcbones[int(va_r.y) + 1];
r0 = r3.yyyy * vcbones[int(va_r.y) + 2];
r2 = vcbones[int(va_r.x) + 1] * r3.xxxx + r2;
r0 = vcbones[int(va_r.x) + 2] * r3.xxxx + r0;
r3 = vcbones[int(va_r.z) + 1] * r4.wwww + r2;
r2 = vcbones[int(va_r.z) + 2] * r4.wwww + r0;
r5.y = dot( r4.xyz, r3.xyz );
r5.z = dot( r4.xyz, r2.xyz );
oT1.x = dot( v4.xyzw, vc[52].xyzw );
r4.xyz = normalize( r5.xyz );
oT1.y = dot( v4.xyzw, vc[53].xyzw );
oT2.xyz = r4.xxx * vd5.xxx + vd5.yyy;
r0.xyz = v5.xyz;
r0.xyz = r0.xyz * vc[3].xxx + v0.xyz;
r0.w = v0.w;
r1.x = dot( r0.xyzw, r1.xyzw );
r1.y = dot( r0.xyzw, r3.xyzw );
r1.z = dot( r0.xyzw, r2.xyzw );
r1.w = vc[0].y;
oT4.xyz = r4.xyz;
r0.z = dot( r1.xyzw, vc[10].xyzw );
r0.x = dot( r1.xyzw, vc[8].xyzw );
r0.y = dot( r1.xyzw, vc[9].xyzw );
r0.w = dot( r1.xyzw, vc[11].xyzw );
r2.xy = -r1.zz + vc[2].wz;
r2.w = max( r2.x, vc[0].x );
r3.w = 1.0 / r2.y;
r2.z = dot( r1.xyzw, vc[13].xyzw );
r1.w = r2.w * r3.w;
oT7.xyz = r1.xyz;
r1.w = r2.z * r1.w;
vTempPos = r0;
r1.w = -r1.w * vc[16].w + vc[16].y;
oT6.xyw = r0.xyw;
r0.x = max( r1.w, vc[16].z );
gl_FogFragCoord = r0.x;
gl_FrontSecondaryColor.w = r0.x;
oT2.w = vc[0].x;
oT6.zw = r2.zw;
oT7.w = r2.z;
gl_FrontSecondaryColor.xyz = vc[0].xxx;
gl_ClipVertex = vTempPos;
vTempPos.z = vTempPos.z * vc[0].z - vTempPos.w; // z' = (2*z)-w
vTempPos.y = -vTempPos.y; // y' = -y
vTempPos.xy += vcscreen.xy * vTempPos.w;
gl_Position = vTempPos;
}
Compile of "vertexlit_and_unlit_generic_ps20b" Failed:
//GLSLfp
#version 130
varying vec4 oT0;
varying vec4 oT2;
varying vec4 oT6;
varying vec4 oT7;
//SAMPLERMASK-1
//SAMPLERTYPES-fffffffc
//HIGHWATER-31
uniform vec4 pc[31];
uniform sampler2D sampler0;
void main()
{
// trans#0 label:ps-file vertexlit_and_unlit_generic_ps20b ps-index 0 ps-combo 0
vec4 pd0 = vec4( 1.0, 0.0, 0.0, 0.0 );
vec4 r0;
vec4 r1;
vec4 r2;
vec4 r3;
r0 = texture2D( sampler0, oT0.xy );
r1.w = pc[12].x;
r2.w = r1.w * pc[21].y + -oT7.z;
r1.w = r1.w * pc[20].z + -oT7.z;
r3.w = 1.0 / r1.w;
r2.w = r2.w * r3.w;
r2.w = ( r1.w >= 0.0 ) ? pd0.x : r2.w;
r1.w = oT6.z * pc[21].w;
r1.w = r1.w * r2.w + -pc[21].x;
r3.w = min( r1.w, pc[21].z );
r3.w = clamp( r3.w, 0.0, 1.0 );
r1.w = r3.w * -r3.w + r3.w;
r1.w = r1.w * pc[12].x;
r2.w = r3.w * r3.w + r1.w;
r1.w = r0.w * pc[1].w;
r0.w = r1.w * oT2.w + -r1.w;
r0.xyz = r0.xyz * pc[1].xyz;
r0.w = pc[12].w * r0.w + r1.w;
r1.w = pc[30].x;
r1.xyz = r0.xyz * -r1.www + pc[29].xyz;
r1.w = pc[12].z * ( r3.w - r0.w ) + r0.w;
r1.xyz = r2.www * r1.xyz;
r0.w = oT6.z * pc[29].w + -r1.w;
r0.xyz = r0.xyz * pc[30].xxx + r1.xyz;
r0.w = pc[12].y * r0.w + r1.w;
gl_FragData[0] = r0;
}
Compile of "vertexlit_and_unlit_generic_ps20b" Failed:
//GLSLfp
#version 130
varying vec4 oT0;
varying vec4 oT2;
varying vec4 oT4;
//SAMPLERMASK-1
//SAMPLERTYPES-fffffffc
//HIGHWATER-31
uniform vec4 pc[31];
uniform sampler2D sampler0;
void main()
{
// trans#0 label:ps-file vertexlit_and_unlit_generic_ps20b ps-index 0 ps-combo 1
vec4 pd0 = vec4( 0.25, 0.699999988079, 0.0, 0.0 );
vec4 pd2 = vec4( 0.43643578887, 0.87287157774, -0.218217894435, 0.0 );
vec4 r0;
vec4 r1;
vec4 r2;
r0 = texture2D( sampler0, oT0.xy );
r1.x = dot( oT4.xyz, pd2.xyz );
r2.w = r1.x * pd0.x + pd0.y;
r0.xyz = r0.xyz * pc[1].xyz;
r1.w = r0.w * pc[1].w;
r0.xyz = r2.www * r0.xyz;
r0.w = r1.w * oT2.w + -r1.w;
r0.xyz = r0.xyz * pc[30].xxx;
r0.w = pc[12].w * r0.w + r1.w;
gl_FragData[0] = r0;
}
Compile of "vertexlit_and_unlit_generic_ps20b" Failed:
//GLSLfp
#version 130
varying vec4 oT0;
varying vec4 oT2;
varying vec4 oT4;
varying vec4 oT7;
//SAMPLERMASK-1
//SAMPLERTYPES-fffffffc
//HIGHWATER-13
uniform vec4 pc[13];
uniform sampler2D sampler0;
void main()
{
// trans#0 label:ps-file vertexlit_and_unlit_generic_ps20b ps-index 0 ps-combo 2
vec4 pd0 = vec4( 1.0, 0.0, 0.0, 0.0 );
vec4 r0;
vec4 r1;
r0 = texture2D( sampler0, oT0.xy );
r1.w = r0.w * pc[1].w;
r0.w = r1.w * oT2.w + -r1.w;
r0.xyz = r0.xyz * pc[1].xyz;
r0.w = pc[12].w * r0.w + r1.w;
gl_FragData[0] = r0;
r0.xyz = oT4.xyz;
gl_FragData[1] = r0;
r0.xyz = oT7.xyz;
gl_FragData[2] = r0;
r0 = pd0.xxxx;
gl_FragData[3] = r0;
}
LLVM ERROR: Program used external function '' which could not be resolved!
/home/daemon2017/.local/share/Steam/SteamApps/daemondaemon/Team Fortress 2/hl2.sh: строка 72: 24547 Ошибка сегментирования (подготовлен дамп ядра) ${GAME_DEBUGGER} "${GAMEROOT}"/${GAMEEXE} "$@"
Game removed: AppID 440 "Team Fortress 2", ProcID 24547
saving roaming config store to 'sharedconfig.vdf'
roaming config store 2 saved successfully
У меня Ubuntu 13.04, 32 bit. Видеокарта - Intel HD Graphics 3000(проц ноутбука Core i5-2430M, в Шиндовс тянет игру нормально).