Ports/x8664/32bitLIBGLon64bit
Как настроить hasher для запуска 32-битных программ, использующих libGL. Например, wine или игрушек.
Решение предназначено для видеокарт NVidia.
Часть 1. Настройка от root
Для начала нужно разрешить использование hasher существующему пользователю
# hasher-useradd user Adding user user to group user_a Adding user user to group user_b Adding user user to group hashman
Указать в /etc/hasher-priv/fstab точки монтирования /dev и /proc
proc /proc proc nosuid,noexec,gid=proc 0 0 /dev /dev bind bind 0 0
Разрешить пользователю монтирование в hasher каталогов /dev и /proc
echo "allowed_mountpoints=/dev,/proc" >> /etc/hasher-priv/user.d/user
Создать i586-sisyphus-apt.conf для использования репозитория i586, см. Сборка 32-битных пакетов в 64-битной системе. Например, так
$ cat /etc/apt/i586-sisyphus-apt.conf Dir::Etc::SourceList "/etc/apt/i586-sisyphus-sources.list"; Dir::Etc::SourceParts "/var/empty"; $ cat /etc/apt/i586-sisyphus-sources.list rpm [alt] ftp://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus i586 classic rpm [alt] ftp://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus noarch classic
Разрешить пользователю читать и писать в устройства nvidia
#!/bin/sh HSH_USER=user chgrp -- `su - -c "/usr/libexec/hasher-priv/hasher-priv getugid2" $HSH_USER | cut -d: -f2` /dev/nvidia0 /dev/nvidiactl chmod 660 /dev/nvidia0 /dev/nvidiactl
Часть 2. Настройка от пользователя
Эта часть выполняется одним скриптом
#!/bin/sh WORKDIR=~/wine APT_CONF=/etc/apt/i586-sisyphus-apt.conf KERNEL_VERSION=`uname -r` NVIDIA_VERSION=`cat /var/lib/nvidia/$KERNEL_VERSION` # Prepare hasher workdir mkdir "$WORKDIR" || exit 1 hsh --initroot-only --apt-config="$APT_CONF" "$WORKDIR" # Hack for nvidia driver configurator hsh-run "$WORKDIR" --rooter -- mkdir -p /lib/modules/$KERNEL_VERSION/.versions hsh-run "$WORKDIR" --rooter -- sh -c "echo $NVIDIA_VERSION > /lib/modules/$KERNEL_VERSION/.versions/nvidia" # Install packages for wine hsh-install "$WORKDIR" wine libwine-gl nvidia_glx_$NVIDIA_VERSION glxgears glxinfo xauth fonts-ttf-dejavu # Run nvidia driver configurator hsh-run "$WORKDIR" --mountpoints=/proc --rooter -- /usr/libexec/X11/drv.d/nvidia echo hsh-run -Y "$WORKDIR" --mountpoints=/dev -- glxinfo | grep "direct rendering" echo echo "Now run wine with:" echo "hsh-run -Y \"$WORKDIR\" --mountpoints=/dev -- wine"