[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