Алоха, мать вашу! Если вы хотите поиграть в нативный для линукса Half-Life 2 на Slackware x86-64, то эта статейка для вас. Прошу учесть, что нужен будет мультилиб и Half-Life 2 запускался на "current" ветке Slackware64 с последними обновлениями по состоянию на 10 июня 2013 (последнее обновление на тот/этот момент было 6 июня). Итак.
Сначала нам нужно скачать перацкую версию или купить лицензию. Мне насрать, где вы её возьмёте, но я брал пиратку здесь. Список возможных проблем прилагается по ссылке. Кстати, если раздачу закроют, то мне тоже насрать, но перейдём к сути.
После распаковки архива нужно будет провести некоторые манипуляции, чтобы настроить русский язык.
Заходим в папку с игрой
neko@ASUS-SlackBook:/mnt/Alchemy/Games/hl2$ nano hl2/gameinfo.txt
Нужно изменить строчки
game+mod hl2/hl2_english.vpk
и
game |all_source_engine_paths|hl2/hl2_sound_vo_english.vpk
на
game+mod hl2/hl2_russian.vpk
и
game |all_source_engine_paths|hl2/hl2_sound_vo_russian.vpk
Пока что запускать рано. Нужно установить Steam Client. Например, отсюда, иначе будет крашиться. Не забудьте скачать обновления, а логигиться необязательно, т.к. необходима только библиотека vguimatsurface.so, которая предоставляется клиентом Steam, и которая нужна будет для запуска Half-Life 2.
Теперь нужно установить сам мультилиб, ня! Есть официальная инструкция, но вот кратенько для раков:
$ rsync -avrh rsync://slackware.org.uk/people/alien/multilib/current/ ~/Work/Slackware/multilib-current/
$ cd ~/Work/Slackware/multilib-current/
$ su
# upgradepkg --install-new slackware64-compat32/*-compat32/*.t?z
# upgradepkg --reinstall --install-new g*.t?z
Мультилиб установлен, теперь:
# ln -s /usr/lib/seamonkey/libnss3.so /usr/lib/libnss3.so
# ln -s /usr/lib/seamonkey/libnssutil3.so /usr/lib/libnssutil3.so
# ln -s /usr/lib/seamonkey/libsmime3.so /usr/lib/libsmime3.so
# ln -s /usr/lib/seamonkey/libplc4.so /usr/lib/libplc4.so
# ln -s /usr/lib/seamonkey/libnspr4.so /usr/lib/libnspr4.so
# ln -s /usr/lib/seamonkey/libplds4.so /usr/lib/libplds4.so
Хер знает зачем игре нужны эти либы, но они нужны. Теперь переходим в директорию с игрой и делаем:
neko@ASUS-SlackBook:/mnt/Alchemy/Games/hl2$ LD_LIBRARY_PATH=bin ldd bin/vguimatsurface.so
Будет выхлоп:
linux-gate.so.1 (0xffffe000)
libtier0.so => bin/libtier0.so (0xf752f000)
libvstdlib.so => bin/libvstdlib.so (0xf7445000)
libcef.so => bin/libcef.so (0xf4a50000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xf49df000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xf4955000)
libSDL2-2.0.so.0 => bin/libSDL2-2.0.so.0 (0xf4877000)
libm.so.6 => /lib/libm.so.6 (0xf4835000)
libdl.so.2 => /lib/libdl.so.2 (0xf4830000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xf4746000)
libpthread.so.0 => /lib/libpthread.so.0 (0xf472b000)
/lib/ld-linux.so.2 (0xf776b000)
libc.so.6 => /lib/libc.so.6 (0xf459f000)
librt.so.1 => /lib/librt.so.1 (0xf4596000)
libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0xf412e000)
libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0xf407f000)
libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0xf4072000)
libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0xf4050000)
libcairo.so.2 => /usr/lib/libcairo.so.2 (0xf3f48000)
libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0xf3efe000)
libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0xf3eb0000)
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xf3d81000)
libX11.so.6 => /usr/lib/libX11.so.6 (0xf3c4b000)
libXi.so.6 => /usr/lib/libXi.so.6 (0xf3c3c000)
libasound.so.2 => /usr/lib/libasound.so.2 (0xf3b44000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0xf3b3b000)
libnss3.so => /usr/lib/libnss3.so (0xf3a46000)
libnssutil3.so => /usr/lib/libnssutil3.so (0xf3a25000)
libsmime3.so => /usr/lib/libsmime3.so (0xf3a02000)
libplc4.so => /usr/lib/libplc4.so (0xf39fd000)
libnspr4.so => /usr/lib/libnspr4.so (0xf39bd000)
libz.so.1 => /lib/libz.so.1 (0xf39a7000)
libdbus-1.so.3 => /usr/lib/libdbus-1.so.3 (0xf395d000)
libpng12.so.0 => /usr/lib/libpng12.so.0 (0xf3932000)
libXext.so.6 => /usr/lib/libXext.so.6 (0xf3921000)
libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0xf391c000)
libcups.so.2 => /usr/lib/libcups.so.2 (0xf38d6000)
libgcrypt.so.11 => /lib/libgcrypt.so.11 (0xf3853000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0xf3838000)
libbz2.so.1 => /lib/libbz2.so.1 (0xf3826000)
libexpat.so.1 => /usr/lib/libexpat.so.1 (0xf37ff000)
libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0xf37fc000)
libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0xf37f2000)
libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0xf37e8000)
libharfbuzz.so.0 => /usr/lib/libharfbuzz.so.0 (0xf3755000)
libicule.so.51 => /usr/lib/libicule.so.51 (0xf3711000)
libicuuc.so.51 => /usr/lib/libicuuc.so.51 (0xf35c0000)
libicudata.so.51 => /usr/lib/libicudata.so.51 (0xf2077000)
libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0xf2074000)
libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0xf2070000)
libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0xf204f000)
libpixman-1.so.0 => /usr/lib/libpixman-1.so.0 (0xf1fc8000)
libxcb-shm.so.0 => /usr/lib/libxcb-shm.so.0 (0xf1fc5000)
libX11-xcb.so.1 => /usr/lib/libX11-xcb.so.1 (0xf1fc3000)
libxcb-render.so.0 => /usr/lib/libxcb-render.so.0 (0xf1fb9000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0xf1f98000)
libXau.so.6 => /usr/lib/libXau.so.6 (0xf1f95000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xf1f8f000)
libpng14.so.14 => /usr/lib/libpng14.so.14 (0xf1f64000)
libgio-2.0.so.0 => /usr/lib/libgio-2.0.so.0 (0xf1dfd000)
libresolv.so.2 => /lib/libresolv.so.2 (0xf1de2000)
libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0xf1dce000)
libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0xf1dca000)
libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0xf1dc8000)
libffi.so.6 => /usr/lib/libffi.so.6 (0xf1dc2000)
libplds4.so => /usr/lib/libplds4.so (0xf1dbd000)
libssl.so.1 => /lib/libssl.so.1 (0xf1d5a000)
libcrypto.so.1 => /lib/libcrypto.so.1 (0xf1ba4000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0xf1b70000)
libgpg-error.so.0 => /lib/libgpg-error.so.0 (0xf1b6c000)
Если будет что-нибудь вроде
libnss3.so => not found
libnssutil3.so => not found
libsmime3.so => not found
libplc4.so => not found
libnspr4.so => not found
то придётся колупаться. Если no found не будет, то можно начинать играть.
Вот ещё. На Intel HD Graphics будут артефакты, фиолетово-зелёный G-Man, вертолёты с дисками вместо пропеллеров и просто хуёвая графика. Запускать надо будет через NVidia Optimus, вот ссылка для лентяев.
Приятной игры!
P.S. Уж извините, что я спиратил игру, но системы пожертвований у Valve нет, так что пусть катятся к хуям.
P.P.S. Да, я делаю пожертвования проектам Seamonkey и KDE.
Сначала нам нужно скачать перацкую версию или купить лицензию. Мне насрать, где вы её возьмёте, но я брал пиратку здесь. Список возможных проблем прилагается по ссылке. Кстати, если раздачу закроют, то мне тоже насрать, но перейдём к сути.
После распаковки архива нужно будет провести некоторые манипуляции, чтобы настроить русский язык.
Заходим в папку с игрой
neko@ASUS-SlackBook:/mnt/Alchemy/Games/hl2$ nano hl2/gameinfo.txt
Нужно изменить строчки
game+mod hl2/hl2_english.vpk
и
game |all_source_engine_paths|hl2/hl2_sound_vo_english.vpk
на
game+mod hl2/hl2_russian.vpk
и
game |all_source_engine_paths|hl2/hl2_sound_vo_russian.vpk
Пока что запускать рано. Нужно установить Steam Client. Например, отсюда, иначе будет крашиться. Не забудьте скачать обновления, а логигиться необязательно, т.к. необходима только библиотека vguimatsurface.so, которая предоставляется клиентом Steam, и которая нужна будет для запуска Half-Life 2.
Теперь нужно установить сам мультилиб, ня! Есть официальная инструкция, но вот кратенько для раков:
$ rsync -avrh rsync://slackware.org.uk/people/alien/multilib/current/ ~/Work/Slackware/multilib-current/
$ cd ~/Work/Slackware/multilib-current/
$ su
# upgradepkg --install-new slackware64-compat32/*-compat32/*.t?z
# upgradepkg --reinstall --install-new g*.t?z
Мультилиб установлен, теперь:
# ln -s /usr/lib/seamonkey/libnss3.so /usr/lib/libnss3.so
# ln -s /usr/lib/seamonkey/libnssutil3.so /usr/lib/libnssutil3.so
# ln -s /usr/lib/seamonkey/libsmime3.so /usr/lib/libsmime3.so
# ln -s /usr/lib/seamonkey/libplc4.so /usr/lib/libplc4.so
# ln -s /usr/lib/seamonkey/libnspr4.so /usr/lib/libnspr4.so
# ln -s /usr/lib/seamonkey/libplds4.so /usr/lib/libplds4.so
Хер знает зачем игре нужны эти либы, но они нужны. Теперь переходим в директорию с игрой и делаем:
neko@ASUS-SlackBook:/mnt/Alchemy/Games/hl2$ LD_LIBRARY_PATH=bin ldd bin/vguimatsurface.so
Будет выхлоп:
linux-gate.so.1 (0xffffe000)
libtier0.so => bin/libtier0.so (0xf752f000)
libvstdlib.so => bin/libvstdlib.so (0xf7445000)
libcef.so => bin/libcef.so (0xf4a50000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xf49df000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xf4955000)
libSDL2-2.0.so.0 => bin/libSDL2-2.0.so.0 (0xf4877000)
libm.so.6 => /lib/libm.so.6 (0xf4835000)
libdl.so.2 => /lib/libdl.so.2 (0xf4830000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xf4746000)
libpthread.so.0 => /lib/libpthread.so.0 (0xf472b000)
/lib/ld-linux.so.2 (0xf776b000)
libc.so.6 => /lib/libc.so.6 (0xf459f000)
librt.so.1 => /lib/librt.so.1 (0xf4596000)
libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0xf412e000)
libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0xf407f000)
libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0xf4072000)
libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0xf4050000)
libcairo.so.2 => /usr/lib/libcairo.so.2 (0xf3f48000)
libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0xf3efe000)
libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0xf3eb0000)
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xf3d81000)
libX11.so.6 => /usr/lib/libX11.so.6 (0xf3c4b000)
libXi.so.6 => /usr/lib/libXi.so.6 (0xf3c3c000)
libasound.so.2 => /usr/lib/libasound.so.2 (0xf3b44000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0xf3b3b000)
libnss3.so => /usr/lib/libnss3.so (0xf3a46000)
libnssutil3.so => /usr/lib/libnssutil3.so (0xf3a25000)
libsmime3.so => /usr/lib/libsmime3.so (0xf3a02000)
libplc4.so => /usr/lib/libplc4.so (0xf39fd000)
libnspr4.so => /usr/lib/libnspr4.so (0xf39bd000)
libz.so.1 => /lib/libz.so.1 (0xf39a7000)
libdbus-1.so.3 => /usr/lib/libdbus-1.so.3 (0xf395d000)
libpng12.so.0 => /usr/lib/libpng12.so.0 (0xf3932000)
libXext.so.6 => /usr/lib/libXext.so.6 (0xf3921000)
libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0xf391c000)
libcups.so.2 => /usr/lib/libcups.so.2 (0xf38d6000)
libgcrypt.so.11 => /lib/libgcrypt.so.11 (0xf3853000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0xf3838000)
libbz2.so.1 => /lib/libbz2.so.1 (0xf3826000)
libexpat.so.1 => /usr/lib/libexpat.so.1 (0xf37ff000)
libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0xf37fc000)
libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0xf37f2000)
libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0xf37e8000)
libharfbuzz.so.0 => /usr/lib/libharfbuzz.so.0 (0xf3755000)
libicule.so.51 => /usr/lib/libicule.so.51 (0xf3711000)
libicuuc.so.51 => /usr/lib/libicuuc.so.51 (0xf35c0000)
libicudata.so.51 => /usr/lib/libicudata.so.51 (0xf2077000)
libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0xf2074000)
libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0xf2070000)
libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0xf204f000)
libpixman-1.so.0 => /usr/lib/libpixman-1.so.0 (0xf1fc8000)
libxcb-shm.so.0 => /usr/lib/libxcb-shm.so.0 (0xf1fc5000)
libX11-xcb.so.1 => /usr/lib/libX11-xcb.so.1 (0xf1fc3000)
libxcb-render.so.0 => /usr/lib/libxcb-render.so.0 (0xf1fb9000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0xf1f98000)
libXau.so.6 => /usr/lib/libXau.so.6 (0xf1f95000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xf1f8f000)
libpng14.so.14 => /usr/lib/libpng14.so.14 (0xf1f64000)
libgio-2.0.so.0 => /usr/lib/libgio-2.0.so.0 (0xf1dfd000)
libresolv.so.2 => /lib/libresolv.so.2 (0xf1de2000)
libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0xf1dce000)
libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0xf1dca000)
libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0xf1dc8000)
libffi.so.6 => /usr/lib/libffi.so.6 (0xf1dc2000)
libplds4.so => /usr/lib/libplds4.so (0xf1dbd000)
libssl.so.1 => /lib/libssl.so.1 (0xf1d5a000)
libcrypto.so.1 => /lib/libcrypto.so.1 (0xf1ba4000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0xf1b70000)
libgpg-error.so.0 => /lib/libgpg-error.so.0 (0xf1b6c000)
Если будет что-нибудь вроде
libnss3.so => not found
libnssutil3.so => not found
libsmime3.so => not found
libplc4.so => not found
libnspr4.so => not found
то придётся колупаться. Если no found не будет, то можно начинать играть.
Вот ещё. На Intel HD Graphics будут артефакты, фиолетово-зелёный G-Man, вертолёты с дисками вместо пропеллеров и просто хуёвая графика. Запускать надо будет через NVidia Optimus, вот ссылка для лентяев.
Приятной игры!
P.S. Уж извините, что я спиратил игру, но системы пожертвований у Valve нет, так что пусть катятся к хуям.
P.P.S. Да, я делаю пожертвования проектам Seamonkey и KDE.
Комментариев нет:
Отправить комментарий