[sisyphus] fglrx and shm

Ivan Adzhubey =?iso-8859-1?q?iadzhubey_=CE=C1_rics=2Ebwh=2Eharvard=2Eedu?=
Вт Апр 10 04:49:07 MSD 2007


Доьрый день!

Спасибо за объяснение!

On Monday 09 April 2007 04:03:22 pm Sergey Vlasov wrote:
> On Mon, Apr 09, 2007 at 03:16:54PM -0400, Ivan Adzhubey wrote:
> > Вот заметил после последнего обновления (но не факт, что не раньше
> > отвалилось):
> >
> > $ fgl_glxgears
> > Using GLX_SGIX_pbuffer
> > FGLTexMgr: open of shared memory object failed (Permission denied)
> > __FGLTexMgrCreateObject: __FGLTexMgrSHMmalloc failed!!!
> > FGLTexMgr: open of shared memory object failed (Permission denied)
> > __FGLTexMgrCreateObject: __FGLTexMgrSHMmalloc failed!!!
> > FGLTexMgr: open of shared memory object failed (Permission denied)
> > __FGLTexMgrCreateObject: __FGLTexMgrSHMmalloc failed!!!
> > ...
>
> Покажите вывод grep tmpfs /proc/mounts и ls -ld /dev/shm

На домашней машине, при отсутствии упоминания /dev/shm в /etc/fstab и вообще 
безо всяких с моей стороны телодвижений она монтируется при загрузке и все 
работает:

# grep tmpfs /proc/mounts
udev /dev tmpfs rw 0 0
shmfs /dev/shm tmpfs rw 0 0

# ls -ld /dev/shm
drwxrwxrwt 2 root root 40 2007-04-09 20:14 /dev/shm

На двух машинах на работе (идентичный актуальный Сизиф, почти идентичное 
железо и настройки, noudev всюду отсутствует) - не монтируется. Сейчас 
прописал на них в /etc/fstab - все заработало. Завтра проверю, как оно 
выглядит если убрать снова запись из /etc/fstab.

В общем, не так важно, раз удалось заставить не мытьем так катанием работать, 
любопытно в чем может быть дело.

> > Не пойму, как починить. Указание shared memory в /etc/fstab:
> >
> > tmpfs /dev/shm tmpfs defaults 0 0
> >
> > в Сизифе то работало, то не работало, то само по себе без прописывания в
> > fstab монтировалось (udev?). Какая ситуация сейчас и что надо сделать,
> > чтобы GLX с fglrx нормально заработало?
>
> Сейчас ситуация с /dev/shm следующая:
>
>  - Если в момент запуска сервиса udevd в /dev/shm уже было что-то
>    смонтировано, эта ФС переносится в новый /dev без потери
>    содержимого (через mount -n --move).  Эта ситуация может иметь
>    место в случае наличия в fstab записи для /dev/shm и запуске udevd
>    не из rc.sysinit (при загрузке с noudev).
>
>  - Если в fstab есть любая запись для /dev/shm, при запуске сервиса
>    udevd из rc.sysinit монтирование /dev/shm не выполняется
>    (предполагается, что оно будет выполнено при дальнейшей обработке
>    rc.sysinit); если же udevd запускается позже, /dev/shm монтируется
>    в соответствии с записью в fstab (здесь имеется небольшой баг -
>    игнорируется опция noauto, которая в принципе может использоваться
>    для запрета монтирования /dev/shm; помимо случая, когда при
>    загрузке используется опция noudev, игнорирование noauto возможно
>    после service udevd umount при последующем запуске udevd).
>
>    (При внимательном просмотре этого места в скрипте обнаружился баг -
>    чтобы запись для /dev/shm была распознана, необходимо, чтобы между
>    первым и вторым полями в этой строке присутствовал ровно один
>    пробел или символ табуляции; к тому же пропущен "^" в начале,
>    поэтому закомментированная строка также будет распознана как
>    обычная - возможно, это и вызвало проблему.)
>
>  - Если записи для /dev/shm в fstab нет, при запуске udevd (в том
>    числе из rc.sysinit) в /dev/shm монтируется tmpfs с опциями по
>    умолчанию (mode=1777, размер - половина физической памяти).

--Иван



Подробная информация о списке рассылки Sisyphus