Я пытаюсь запустить приложение OpenGL, которое работало в предыдущих выпусках Ubuntu на других машинах, но которое успешно открывает окна, вылетает, когда я пытаюсь что-то нарисовать на них.
Ubuntu
64-разрядная версия: 13.04
CPU
processor : 2
vendor_id : AuthenticAMD
cpu family : 16
model : 4
model name : AMD Phenom(tm) II X4 B95 Processor
stepping : 2
microcode : 0x10000db
cpu MHz : 800.000
cache size : 512 KB
physical id : 0
siblings : 4
core id : 2
cpu cores : 4
apicid : 2
initial apicid : 2
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
Графика
01: 05.0 VGA-совместимый контроллер: Advanced Micro Devices [AMD], ATI RS880, Radeon HD 4200]
Я скачал globs
и запустил все стандартные тесты. Все они работали правильно, за исключением GLSL_paralax, который даже не запустился.
Я проверил мой графический драйвер.
glxinfo | grep render
direct rendering: Yes
OpenGL renderer string: Gallium 0.4 on AMD RS880
GL_NV_conditional_render, GL_AMD_conservative_depth,
Я понимаю, что это означает, что я использую графический драйвер с открытым исходным кодом, и я не использую программный рендеринг.
Я побежал glxgears
glxgears -info
Running synchronized to the vertical refresh. The framerate should be
approximately the same as the monitor refresh rate.
GL_RENDERER = Gallium 0.4 on AMD RS880
GL_VERSION = 3.0 Mesa 9.1.3
GL_VENDOR = X.Org
...
301 frames in 5.0 seconds = 60.155 FPS
299 frames in 5.0 seconds = 59.766 FPS
298 frames in 5.0 seconds = 59.566 FPS
300 frames in 5.0 seconds = 59.968 FPS
Я думаю, что это плохой результат. Другие источники сказали, что у меня должна быть намного более высокая частота кадров, хотя мой монитор установлен на 60 Гц, поэтому, если частота рендеринга установлена на это, это кажется правильным
Я проверил ошибку OpenGL log
cat /var/log/Xorg.0.log | grep EE
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 14.665] Initializing built-in extension MIT-SCREEN-SAVER
[ 14.797] (EE) Failed to load module "fglrx" (module does not exist, 0)
[ 14.832] (EE) Failed to load module "fglrx" (module does not exist, 0)
Я думаю, это означает, что у меня не установлено fglrx
Я посмотрел, что такое fglrx
, и кажется, что это часть проприетарного драйвера OpenGL. Инструкции по его установке можно найти здесь: http://wiki.cchtml.com/index.php/Ubuntu_Raring_Installation_Guide#Install_Pprietary_Drivers_a.ka_Catalyst.2Ffglrx
У кого-нибудь есть понимание того, почему тест GLSL_paralax даже не запустился? Есть ли другой сопоставимый тест, который я мог бы попробовать?
Есть ли другие диагностические тесты, которые я мог бы выполнить, чтобы изолировать свои проблемы?
Является ли отсутствующий [ 118] модуль важен? Может ли это быть источником моих проблем?
Если да, могу ли я получить его без установки проприетарного драйвера?
Если мне понадобится проприетарный драйвер, является ли ссылка, которую я включил, самым безопасным / простым способом получить его? Я не хочу следовать их инструкциям, так как у меня были проблемы с ручной настройкой графического драйвера других машин Linux. Есть ли графический инструмент, такой как Дополнительные драйверы, который можно было бы использовать вместо этого?
Я решил свою проблему, однако, решение состояло в том, что в коде openGL, который я выполнял, была необычная ошибка. Не удалось, потому что не смог найти нужные шрифты не из-за графических проблем. Из-за того, что вызовы OGL и шрифтов на основе c были встроены в код Python, это было трудно отследить.
В процессе обнаружения этого я попробовал несколько вещей, включая обновление до проприетарных графических драйверов. Я бы не рекомендовал это для тех, кто работает с видеокартой ATI HD, которая не поддерживается 13.04+ выпуском fglrx
. Вам нужно понизить версию своего сервера Xserver, и это приведет к ухудшению единства. Проприетарные драйверы мало что добавляют к системной графике, хотя многие сообщают, что они имеют преимущества для ноутбуков с точки зрения энергопотребления.
Наконец, тест GLSL_paralax
из globs
не удался по причинам, не связанным с водителем.
В целом, вся графика работает в моей системе с драйверами с открытым исходным кодом.