Segmentation fault при запуске fglrxinfo

В очередной раз привет команде разработчиков

Решил сегодня проверить пару идей, касающихся 3D-ускорения. Запустил glxinfo | grep render:

[-]
View Code Text
direct rendering: No (If you want to find out why, try setting LIBGL_DEBUG=verbose)
OpenGL renderer string: ATI Radeon HD 3200 Graphics

Опа! А direct rendering-то, оказывается, не работает! Запускаем fglrxinfo:

[-]
View Code Text
display: :0.0  screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Radeon HD 3200 Graphics
OpenGL version string: 1.4 (2.1.8201 Release)

Segmentation fault

Ошибка сегментации — всё чудесатее и чудесатее, как говорил классик. Далее »

Автор: , опубликовано в: Linux, комментариев: нет
1
Фев
2009

fglrx, DRI и настройки BIOS

Direct Rendering Infrastructure () — это интерфейс и реализация в виде свободного ПО, используемая в X Window System и позволяющая пользовательским приложениям безопасно получать доступ к видеоаппаратуре без необходимости использования X server (замедляющего этот процесс). Основное назначение  — обеспечение аппаратного ускорения Mesa, одной из реализаций OpenGL.

С видеокартами нормальная поддержка DRI возможна только при использовании проприетарных драйверов ().

Но с видеокартами, интегрированными в материнскую плату, возникают нюансы. С моей видеокартой (ATI RadeonHD 3200) старые драйвера ATI всегда нормально работали, была поддержка 3D. Но вчера я обратил внимание на X Server и с удивлением обнаружил такую ошибку:

[-]
View Code Text
(EE) fglrx(0): atiddxDriScreenInit failed, GPS not been initialized.
(WW) fglrx(0): ***********************************************
(WW) fglrx(0): * DRI initialization failed!                  *
(WW) fglrx(0): * (maybe driver kernel module missing or bad) *
(WW) fglrx(0): * 2D acceleraton available (MMIO)             *
(WW) fglrx(0): * no 3D acceleration available                *
(WW) fglrx(0): ********************************************* *

Далее »

Автор: , опубликовано в: Linux, комментариев: нет
31
Янв
2009

Подсчет трафика в nginx

Постановка задачи: есть -сервер, на котором живёт сотня-другая виртуальных хостов. Сервер работает под управлением . Нужно реализовать подсчет трафика с отображением «живой» статистики. Далее »

Автор: , опубликовано в: Linux, MySQL, nginx, Администрирование, комментариев: 9
23
Янв
2009

Автоматическое обновление баз HostIP

HostIP.info — сервис, позволяющий определить физическое местоположение по IP-адресу. Бесплатная альтернатива MaxMind. Одним из достоинств данного сервиса является то, что он предоставляет возможность хранить геолокационную базу данных на своём сервере. Очевидно, что базу данных нужно обновлять время от времени. Далее »

Автор: , опубликовано в: Linux, комментариев: 3
2
Янв
2009

Запрет выполнения файлов на /tmp

Многие эксплоиты полагаются на возможность выполнения команд в каталоге /tmp. Администраторы, зная о такой проблеме, часто разбивают диск таким образом, чтобы для /tmp выделялся свой раздел, который затем монтируется в режиме запрета выполнения файлов.

Однако остаётся одна неприятная проблема: APT может работать неправильно с такой конфигурацией.

В данной статье мы рассмотрим:

  • монтирование /tmp в режиме запрета выполнения файлов как для отдельного раздела, так и в случае использования единственного раздела;
  • решение проблем с apt-get/.

Далее »

Автор: , опубликовано в: Linux, Безопасность, комментариев: 2
31
Дек
2008

Вывод конфигурационных файлов без комментариев

Всё просто:

[-]
View Code Bash
egrep -v "^[[:space:]]*#|^[[:space:]]*$" file_to_display

Далее »

Автор: , опубликовано в: Linux, комментариев: нет
30
Дек
2008

Обновление PHP до 5.2.x в CentOS 5

На сервере с  5.1 столкнулся с такой проблемой: при открытии -страниц с завидным постоянством писал в следующие ошибки:

[-]
View Code Text
*** glibc detected *** /usr/sbin/httpd: corrupted double-linked list: 0x09a939f8 ***

К сожалению, поиск в Google практических результатов не дал: могла случаться на любом железе и любой версии . Больше всего жаловались (не)счастливые обладатели Zend Optimizer.

Обновил CentOS до 5.2 (в обновлении пришёл новый libc), но это не помогло. Странно, я видел много серверов, работающих на CentOS без таких ошибок.

Пытаясь найти минимальную конфигурацию, на которой бы воспроизводились ошибки, я отключал один за одним модули Apache, модули PHP, но всё тщетно. Когда же я отключил mod_php, ошибка пропала — на статических страницах всё было прекрасно. Далее »

Автор: , опубликовано в: Linux, Администрирование, комментариев: 17
21
Дек
2008

Баг или фича?

Забавно… С параметром debug xl2tpd отлично работает. А если вместо debug поставить nodebug, перестаёт работать:

[-]
View Code Text
Dec 10 05:46:48 xl2tpd[2879]: child_handler : pppd exited for call 30961 with code 2
Dec 10 05:46:48 xl2tpd[2879]: read_packet: Error 9 (Bad file descriptor)
Dec 10 05:46:48 last message repeated 10 times
Dec 10 05:46:48 xl2tpd[2879]: read_packet: Too many errors.  Declaring call dead.
Dec 10 05:46:53 xl2tpd[2879]: network_thread: unable to find call or tunnel to handle packet.  call = 24450, tunnel = 23148 Dumping.
Dec 10 05:46:58 last message repeated 2 times

Всё же интересно: так и было задумано? Или всё-таки баг?

Автор: , опубликовано в: Linux, комментариев: нет
10
Дек
2008

Cannot mix incompatible Qt libraries

В последнее время на разных я стал довольно часто сталкиваться с ошибкой

[-]
View Code (Unknown Language)
Cannot mix incompatible Qt libraries

Очень сильно этим грешит Skype. Но в последнее время такая проблема стала возникать для приложений KDE4.

Данная , как правило, вызывается одной из следующих причин:

  1. В системе установлены библиотеки разных версий. Проверяется это очень просто:
    [-]
    View Code Bash
     dpkg -l | grep qt | grep -r "^[ih]"

    Если в выдаче присутствуют библиотеки разных версий (третья колонка), значит, именно это вызвало проблему. Удаление старых библиотек, как правило, решает проблему.

    В этом случае, например, конфликта нет:

    [-]
    View Code (Unknown Language)
    ii  libqt4-dbus                                 4.4.2-0ubuntu2                        Qt 4 D-Bus module
    ii  libqt4-designer                             4.4.2-0ubuntu2                        Qt 4 designer module
    ii  libqt4-network                              4.4.2-0ubuntu2                        Qt 4 network module
    ii  libqt4-opengl                               4.4.2-0ubuntu2                        Qt 4 OpenGL module
    ii  libqt4-qt3support                           4.4.2-0ubuntu2                        Qt 3 compatibility library for Qt 4
    ii  libqt4-script                               4.4.2-0ubuntu2                        Qt 4 script module
    ii  libqt4-sql                                  4.4.2-0ubuntu2                        Qt 4 SQL module
    ii  libqt4-svg                                  4.4.2-0ubuntu2                        Qt 4 SVG module
    ii  libqt4-xml                                  4.4.2-0ubuntu2                        Qt 4 XML module
    ii  libqtcore4                                  4.4.2-0ubuntu2                        Qt 4 core module
    ii  libqtgui4                                   4.4.2-0ubuntu2                        Qt 4 GUI module
    ii  libstrigiqtdbusclient0                      0.5.11-1                              library for writing D-Bus clients for Strigi Desktop Se
    ii  qt4-qtconfig                                4.4.2-0ubuntu2                        Qt 4 configuration tool
    Тем не менее, если ошибка всё еще выдаётся, переходим к пункту 2.
  2. Если используется 64-битная платформа, проблема может возникать из-за того, что загрузчик пытается использовать 32-битные библиотеки. Определить это можно при помощи ldd.

    Например,

    [-]
    View Code Bash
    ldd /usr/bin/ktorrent | grep '/lib32/'
    #   libQtDBus.so.4 => /lib32/libQtDBus.so.4 (0x00007f191cce7000)

    В данном случае при загрузке libQtDBus загрузчик будет загружать её 32-битную версию (из /lib32) вместо 64-битной (из /lib).

    Я использую следующее решение (оно не идеальное, но работает):

    [-]
    View Code Bash
    sudo -i
    echo /lib32 > /etc/ld.so.conf.d/libQtDBus32.conf
    echo /usr/lib > /etc/ld.so.conf.d/libQtDBus64.conf
    ldconfig
  3. Наконец, если подобная проблема возникает при использовании на 64-битной платформе, то проще всего скачать static version. Очень сильно экономит нервы :-)
Автор: , опубликовано в: Linux, комментариев: 2
1
Окт
2008

Возвращаем Skype к жизни в Ubuntu Intrepid Ibex на 64-битной платформе

Не любят разработчики … совсем не любят. Только-только нашлось решение после безумного обновления ia32-libs, как через несколько дней возникла новая проблема: Skype (да и не только Skype) стал падать с сообщением об ошибке:

[-]
View Code (Unknown Language)
ALSA lib ../../src/conf.c:2700:(snd_config_hooks_call) Cannot open shared library /usr/lib/alsa-lib/libasound_module_conf_pulse.so
ALSA lib ../../../src/control/control.c:909:(snd_ctl_open_noupdate) Invalid CTL hw:0

Далее »

Автор: , опубликовано в: Linux, комментариев: 15
26
Сен
2008