У меня есть система Ubuntu 14.04, и я попытался установить игру dangerdeep, версия 0.3.0. После запуска игры я могу выбрать миссию, но затем игра выйдет со следующим выходом на консоли Linux:
console log: $ffffffDanger $c0c0c0from the $ffffffDeep
console log: $ffff00copyright and written 2003 by $ff0000Thorsten Jordan
console log: $ff8000version 0.3.0
console log: $80ff80*** welcome ***
console log: New thread [0xf47a1b40]
console log: Loading...
console log: Textures with non-power-two sizes are supported and used.
console log: fonts loaded (115ms)
console log: textures loaded (74ms)
console log: Music list loaded (141ms)
console log: Loading...
console log: Using OpenGL GLSL shaders...
console log: shader compiled successfully, log:
console log:
console log: shader compiled successfully, log:
console log:
console log: compiling failed, log:
console log: 0:3(1): preprocessor error: #version must appear on the first line
console log: End thread [0xf47a1b40]
Caught exception: compiling of shader failed : /usr/share/games/dangerdeep/shaders/modelrender.vshader
Stack trace: (5 frames)
0x8070202 in at ??:?
0x806d431 in at ??:0
0x806d4f1 in at ??:0
0xf7070af3 in __libc_start_main at ??:0
0x804e6a1 in at ??:0
Можно ли это зафиксировать?
Это означает, что в игре есть ошибка, что директива #version в шейдере GLSL появляется не в первой строке. Представьте себе, что половина шейдера проанализировала как одну версию GLSL, а затем вторую половину как другую - это не имело бы смысла! Итак, компилятор просто выручает ошибку.
В общем случае есть файл .drirc для работы с подобными неправильными приложениями, однако, глядя на xdriinfo options r600 | grep version, я не вижу ничего, чтобы иметь дело с конкретной проблемой (обратите внимание, что это Я не выглядел очень внимательно, поэтому я мог пропустить это.
Я не вижу легкого способа справиться с этой проблемой. Вы можете α) сообщить об ошибке разработчикам игры, β), так как игра FOSS, попытайтесь решить проблему самостоятельно (обратите внимание, что я не выглядел очень осторожно, поэтому я мог пропустить это) γ) отредактируйте драйвер пользовательского пространства, чтобы игнорировать проблему, и скомпилировать / установить ее.
Это означает, что в игре есть ошибка, что директива #version в шейдере GLSL появляется не в первой строке. Представьте себе, что половина шейдера проанализировала как одну версию GLSL, а затем вторую половину как другую - это не имело бы смысла! Итак, компилятор просто выручает ошибку.
В общем случае есть файл .drirc для работы с подобными неправильными приложениями, однако, глядя на xdriinfo options r600 | grep version, я не вижу ничего, чтобы иметь дело с конкретной проблемой (обратите внимание, что это Я не выглядел очень внимательно, поэтому я мог пропустить это.
Я не вижу легкого способа справиться с этой проблемой. Вы можете α) сообщить об ошибке разработчикам игры, β), так как игра FOSS, попытайтесь решить проблему самостоятельно (обратите внимание, что я не выглядел очень осторожно, поэтому я мог пропустить это) γ) отредактируйте драйвер пользовательского пространства, чтобы игнорировать проблему, и скомпилировать / установить ее.