Установка клиента Steam в chroot-окружении Debian GNU/Linux c драйвером NVIDIA
© EuPhobos


Создание и подготовка chroot-окружения с системным окружением Ubuntu:

mkdir ubuntu
debootstrap quantal ./ubuntu/ http://mirror.yandex.ru/ubuntu
mount --bind /proc ./ubuntu/proc/
mount --bind /sys ./ubuntu/sys
mount --bind /dev ./ubuntu/dev

Входим в созданное окружение:

chroot ./ubuntu/ /bin/bash

Далее, подключение/обновление репозиториев Ubuntu и установка нужных приложения:

echo "deb http://mirror.yandex.ru/ubuntu quantal main multiverse universe" > /etc/apt/sources.list
apt-get update
apt-get install mesa-utils wget binutils

Проверяем GL:

glxinfo | grep OpenGL

   libGL error: failed to load driver: swrast
   libGL error: Try again with LIBGL_DEBUG=verbose for more details.
   OpenGL vendor string: NVIDIA Corporation
   OpenGL renderer string: GeForce GT 240/PCIe/SSE2/3DNOW!
   OpenGL version string: 1.4 (2.1.2 NVIDIA 304.64)

Само собой, о чём и речь, в чруте GL не работает, пишет мой драйвер, но "OpenGL version string: 1.4", что не есть хорошо, так же glxgears совсем не работает, поэтому придётся параллельно поставить библиотеки NVIDIA, такого же драйвера внутри chroot, без компиляции модулей.

wget http://ru.download.nvidia.com/XFree86/Linux-x86/304.64/NVIDIA-Linux-x86-304.64.run
chmod +x ./NVIDIA-Linux-x86-304.64.run
./NVIDIA-Linux-x86-304.64.run --no-kernel-module

(на крики драйвера соглашаемся, что есть ошибки, просим продолжить установку)

glxinfo | grep OpenGL

   OpenGL vendor string: NVIDIA Corporation
   OpenGL renderer string: GeForce GT 240/PCIe/SSE2/3DNOW!
   OpenGL version string: 3.3.0 NVIDIA 304.64
   OpenGL shading language version string: 3.30 NVIDIA via Cg compiler

То, что надо!

glxgears

и ФПС как в хост-системе, идём далее.

Ставим steam:

wget http://media.steampowered.com/client/installer/steam.deb
dpkg -i ./steam.deb
steam

   Setting up Steam content in /root/.local/share/Steam
   tar (child): xz: Cannot exec: No such file or directory
   tar (child): Error is not recoverable: exiting now
   tar: Child returned status 2
   tar: Error is not recoverable: exiting now
   Failed to extract /usr/lib/steam/bootstraplinux_ubuntu12_32.tar.xz, aborting installation.

Угу, кучи зависимостей не хватает и самое главное нет xzip, ну да ладно, ставим.

apt-get install xzip

Упс.. апт-гет не даёт что-либо менять в системе, пока есть ошибки в зависимостях, я особо и не пользуюсь apt-get, поэтому здесь перехожу на aptitude.

Значит, пока сносим steam.

dpkg -r steam
apt-get install xzip aptitude
dpkg -i ./steam.deb
steam

Отлично, запустился клиент стима и обновляется... ждём-ждём-ждём...

   Setting up Steam content in /root/.local/share/Steam
   Steam needs to install these additional packages:
    jockey-common, zenity, xterm, libcurl3-gnutls:i386, libjpeg-turbo8:i386, 
    libogg0:i386, libpixman-1-0:i386, libtheora0:i386, libvorbis0a:i386, 
    libvorbisenc2:i386, libvorbisfile3:i386, libasound2:i386, libcairo2:i386, 
    libcups2:i386, libfontconfig1:i386, libfreetype6:i386, libgcrypt11:i386, 
    libgdk-pixbuf2.0-0:i386, libgtk2.0-0:i386, libnspr4:i386, libnss3:i386, 
    libopenal1:i386, libpango1.0-0:i386, libpulse0:i386, libxi6:i386, libxinerama1:i386, 
    libxrandr2:i386, libxrender1:i386, libsdl1.2debian:i386

Стим захотел данные пакеты и по умолчанию обратился к apt-get, само собой apt-get послал его куда подальше, в итоге ошибка и стоп.

Ставим, значит, руками через aptitude.

aptitude -R install jockey-common zenity xterm libcurl3-gnutls libjpeg-turbo8 \
libogg0 libpixman-1-0 libtheora0 libvorbis0a libvorbisenc2 libvorbisfile3 \
libasound2 libcairo2 libcups2 libfontconfig1 libfreetype6 libgcrypt11 \
libgdk-pixbuf2.0-0 libgtk2.0-0 libnspr4 libnss3 libopenal1 libpango1.0-0 \
libpulse0 libxi6 libxinerama1 libxrandr2 libxrender1 libsdl1.2debian

steam

Вуаля! Рабочий клиент стим в Debian Wheezy, и c версией драйвера NVIDIA 304.64.