Translate

четверг, 11 июля 2013 г.

Slackware64-current [09.07.2013] + SKYRIM!!!

Итак, приступим. Вообще говоря, мне нет дела до того, где вы возьмёте сам Skyrim -- купите или скачаете. Если будете скачивать -- рекомендую RePack от R.G. Механики, т.к. их репаки наиболее работоспособны на Linux'ах. In any case, найдёте сами. Если решите покупать -- вперёд, но работоспособность лицензии я не проверял, хихихи.

В первую очередь, нам нужен мультилиб, система-то 64-битная ==> Настроить мультилиб
Далее, ставим 32-битный wine ==> cabextractOpenAL, и, собственно сам WINE HQ. (Через некоторое время ссылки могут оказаться недействительными, но мне по барабану). Кстати, wine и OpenAL должны быть оба 32-битные, а cabextract -- любой.

Думаю, настроить wine Вы все в состоянии, но всё-таки лучше в качестве эмулироемой системы выставить Windows 7. Не забудьте настроить виртуальные приводы: C, D, и, возможно, E. Далее:

$ wget http://winetricks.org/winetricks
$ chmod +x winetricks
$ ./winetricks directx9 vcrun2005 vcrun2008 vcrun2010 vcrun2005 dotnet20 dotnet20sp2
  
Предварительно всё ок. Если драйвера установлены и нстроены, то всё прекрасно. Единственный момент -- у меня KDE, и, возможно поэтому, а м.б. и нет, при запуске через NVidia Optimus вместо геймплея у меня чёрный экран. Это лечится включением эмуляции виртуального рабочего стола.

Если возникают проблемы с dotnet -- гляньте сюда.

Да, кстати, можете не мучиться с DirectX 10 и 11 -- Skyrim всё равно поддерживает только 9-й.

И, на всякий случай, вот гайд для NVidia Optimus, если кто не нашёл. Если система 64-битная, то желателен мультилиб, в частности gcc. Оптимусеры, советую запускать подобным образом:
$ optirun wine /mnt/Alchemy/Games/R.G.\ Catalyst/The\ Elder\ Scrolls\ V\ -\ Skyrim/SkyrimLauncher.exe
Полагаю, если у вас стационарный компьютер, то драйвера настроите сами, верно? ;-)

Всем удачи!

понедельник, 10 июня 2013 г.

Half-Life 2 на Slackware Linux x86-64

Алоха, мать вашу! Если вы хотите поиграть в нативный для линукса 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.

четверг, 30 мая 2013 г.

Ошибка номер 1 "переведена" Святым Марком в разряд решённых проблем

Марк Шутлеворт закрыл баг №1 в своём сраном багтрекере. Вот ссылка на баг. А вот его описание:

Microsoft has a majority market share in the new desktop PC marketplace. This is a bug which Ubuntu and other projects are meant to fix. As the philosophy of the Ubuntu Project states, "Our work is driven by a belief that software should be free and accessible to all."
"Ubuntu software is free. Always was, always will be. Free software gives everyone the freedom to use it however they want and share with whoever they like. This freedom has huge benefits. At one end of the spectrum it enables the Ubuntu community to grow and share its collective experience and expertise to continually improve all things Ubuntu. At the other, we are able to give access to essential software for those who couldn’t otherwise afford it – an advantage that’s keenly felt by individuals and organisations all over the world."
     * http://www.ubuntu.com/project/about-ubuntu/our-philosophy

Non-free software leaves users at the mercy of the software owner and concentrates control over the technology which powers our society into the hands of a few. Additionally, proprietary software stifles innovation, maintains artificial scarcities, and enables malicious anti-features such as DRM, surveillance, and other monopolistic practices.
This bug is widely evident in the PC industry.
Steps to repeat:
    1. Visit a local PC store.
    2. Attempt to buy a machine without any proprietary software.

What happens:
Almost always, a majority of PCs for sale have Microsoft Windows pre-installed. In the rare cases that they come with a GNU/Linux operating system or no operating system at all, the drivers and BIOS may be proprietary.
What should happen:
A majority of the PCs for sale should include only free software.
     * http://www.gnu.org/philosophy/free-sw.html
     * http://www.debian.org/social_contract#guidelines
     * http://www.opensource.org/docs/osd 


Ну и с чем он его закрыл?

Personal computing today is a broader proposition than it was in 2004: phones, tablets, wearables and other devices are all part of the mix for our digital lives. From a competitive perspective, that broader market has healthy competition, with IOS and Android representing a meaningful share (see http://www.zdnet.com/windows-has-fallen-behind-apple-ios-and-google-android-7000008699/ and in particular http://cdn-static.zdnet.com/i/r/story/70/00/008699/meeker620-620x466-620x466.jpg?hash=ZQxmZmDjAz&upscale=1).
Android may not be my or your first choice of Linux, but it is without doubt an open source platform that offers both practical and economic benefits to users and industry. So we have both competition, and good representation for open source, in personal computing.
Even though we have only played a small part in that shift, I think it's important for us to recognize that the shift has taken place. So from Ubuntu's perspective, this bug is now closed.
There is a social element to this bug report as well, of course. It served for many as a sort of declaration of intent. But it's better for us to focus our intent on excellence in our own right, rather than our impact on someone else's product. In the (many) years since this bug was filed, we've figured out how to be amazing on the cloud, and I hope soon also how to be amazing for developers on their desktops, and perhaps even for everyday users across that full range of devices. I would rather we find a rallying call that celebrates those insights, and leadership.
It's worth noting that today, if you're into cloud computing, the Microsoft IAAS team are both technically excellent and very focused on having ALL OS's including Linux guests like Ubuntu run extremely well on Azure, making them a pleasure to work with. Perhaps the market shift has played a role in that. Circumstances have changed, institutions have adapted, so should we.
Along those lines, it's good to reflect on how much has changed since 2004, and how fast it's changed. For Ubuntu, our goal remains to deliver fantastic experiences: for developers, for people building out production infrastructure, and for end-users on a range of devices. We are doing all of that in an environment that changes completely every decade. So we have to be willing to make big changes ourselves - in our processes, our practices, our tools, and our relationships. Change this bug status is but a tiny example.
  
Мой вердикт прост: "Марк, ты идиот!" Как по мне, так даже не надо объяснять почему.

четверг, 21 марта 2013 г.

Slackware: переход на generic-ядро

"О плюсах и минусах generic-ядер" вы можете почитать много где в интернете, здесь же я покажу тебе, о мой дорогой читатель, как перейти на использование generic-ядра вместо ядра huge, которое идёт в ОС Slackware по умолчанию.

Вообще, при полной установке Slackware, пользователь получает оба типа ядра -- как huge, так и generic, но по умолчанию загружается huge, т.к. для generic требуется некоторая настройка. Итак...

Нам нужен скрипт /usr/share/mkinitrd/mkinitrd_command_generator.sh, который предоставляется пакетом mkinitrd, на момент написания данной статьи в Slackware 14.0 этот пакет имеет версию mkinitrd-1.4.7-x86_64-6.

Вообще говоря, перед запуском скрипта должны быть установлены модули ядра, которое мы хотим обработать. Например, это 3.4.37 [LTS] (на данный момент оно самое свежее из поддерживаемых, за исключением 3.8.4).

Делаем:
 
# /usr/share/mkinitrd/mkinitrd_command_generator.sh -k 3.4.37

В результате мы получаем вывод наподобие этого:

root@Innovindil:/usr/src/linux# /usr/share/mkinitrd/mkinitrd_command_generator.sh -k 3.4.37
#
# mkinitrd_command_generator.sh revision 1.45
#
# This script will now make a recommendation about the command to use
# in case you require an initrd image to boot a kernel that does not
# have support for your storage or root filesystem built in
# (such as the Slackware 'generic' kernels').
# A suitable 'mkinitrd' command will be:

mkinitrd -c -k 3.4.37 -f ext4 -r /dev/sdb5 -m usbhid:ehci-hcd:mbcache:jbd2:ext4 -u -o /boot/initrd.gz
root@Innovindil:/usr/src/linux#



Думаю, понятно, что нужно сделать:

root@Innovindil:/boot# mkinitrd -c -k 3.4.37 -f ext4 -r /dev/sdb5 -m usbhid:ehci-hcd:mbcache:jbd2:ext4 -u -o /boot/initrd.gz
OK: /lib/modules/3.4.37/kernel/drivers/hid/hid.ko added.
OK: /lib/modules/3.4.37/kernel/drivers/hid/usbhid/usbhid.ko added.
OK: /lib/modules/3.4.37/kernel/drivers/usb/host/ehci-hcd.ko added.
OK: /lib/modules/3.4.37/kernel/fs/mbcache.ko added.
OK: /lib/modules/3.4.37/kernel/fs/jbd2/jbd2.ko added.
OK: /lib/modules/3.4.37/kernel/fs/mbcache.ko added.
OK: /lib/modules/3.4.37/kernel/fs/jbd2/jbd2.ko added.
OK: /lib/modules/3.4.37/kernel/fs/ext4/ext4.ko added.
25271 блоков
/boot/initrd.gz created.
Be sure to run lilo again if you use it.
root@Innovindil:/boot#


initrd.gz создан. Хорошо. Теперь, если у нас уже есть файл /boot/vmlinuz-generic-3.4.37, (создать можно с помощью соответствующего слакбилда или простым копированием)или аналогичный ему по функционалу, то делаем:

root@Innovindil:/boot# /usr/share/mkinitrd/mkinitrd_command_generator.sh -l /boot/vmlinuz-generic-3.4.37
# Linux bootable partition config begins
# initrd created with 'mkinitrd -c -k 3.4.37 -f ext4 -r /dev/sdb5 -m usbhid:ehci-hcd:mbcache:jbd2:ext4 -u -o /boot/initrd.gz'
image = /boot/vmlinuz-generic-3.4.37
  initrd = /boot/initrd.gz
  root = /dev/sdb5
  label = 3.4.37
  read-only
# Linux bootable partition config ends
root@Innovindil:/boot#


Этот "выхлоп" следует скопировать в /etc/lilo.conf  и выполнить команду lilo:

root@Innovindil:/boot# lilo
Warning: LBA32 addressing assumed
Warning: The boot sector and map file are on different disks.
Added 3.4.37  +  *
Added Linux
2 warnings were issued.
root@Innovindil:/boot#


На предупреждения реагируем как обычно, и, как обычно, загружаемся в новое ядро. Удачи ;)

суббота, 9 марта 2013 г.

Slackware 14.0: экстремальное удаление ненужных шрифтов и установка .NET

Ну вы поняли, ага.

Чтобы установить .NET, сначала нужно установить Wine, а как установить Wine, вы можете узнать вот тута. Хоть версия и старовата, но работает как надо, но, разумеется, если вам нужна версия поновее, качайте с sourceforge.net, там даже бинарник для Slacware есть.

Wine установлен. Что дальше? A дальше нам нужен cabextract для установки всякого некрософтовского шлака. Разумеется, это чудо из чудес можно найти приблизительно там же.

Установили, хорошо. Как работать с winetricks, вы уже знаете. Но вот незадача -- winetricks просит нас удалить шрифты Oriya/Samyak, чтобы избавиться от каких-то там крэшей в .NET приложениях.

Как удалить? удаляем пакет ttf-indic-fonts, дабы задобрить этот сраный .NET.

# slackpkg remove ttf-indic-fonts

Шрифты удалены,а проблема осталась. Ну ладно, копаем глубже.

# nano /usr/share/fonts/TTF/fonts.dir

Находим строчку с ругательным словом Samyak и удаляем её и сохраняем файл. Если милсдарь не нашёл эту строчку или ему просто лень её искать, то:


# cd /usr/share/fonts
#  grep -nr samy . | sed 's@\(Samyak\)@@'
#  grep -nr oriy . | sed 's@\(Oriya\)@@'

 Релог, ребут, переустановка ОС -- проблема решена, можно ставить .NET, а как установить NeverWinter Nights 2, я уже писал %)



Решение проблемы взято отсюдова

суббота, 26 января 2013 г.

Сборка ядра с использованием SlackBuild'ов

 Давно я уже сюда ничего не писал. Да просто особенно-то и нечего было. Ну, подумаешь, Mageia 3 Beta -- сраный глюкодром. Подумаешь, перешёл на openSUSE, подумаешь, вернул Slackware на свой старый ноутбук и потребовалось пересобрать ядро...
Эта статья для тех пользователей Slackware, кому это может пригодиться, т.е. если Вы хотите "опакетить" свежесобранное ядро.

Я покажу как собрать пакет с ядром на примере самого свежего на данный момент LTS-ядра -- 3.4.27
Переходим в директорию /usr/src, затем скачиваем исходники ядра и распаковываем их.

# cd /usr/src
# wget http://www.kernel.org/pub/linux/kernel/v3.x/linux-3.4.27.tar.xz
# tar -xvf linux-3.4.27.tar.xz

Обычно скачивается архив tar.bz2, а не tar.xz, но я скачал tar.xz просто потому, что оно весит на 12 МиБ меньше, просто экономия времени и трафика :-)

Теперь удаляем симлинк на текущее ядро и создаём симлинк для того, которое мы сейчас соберём
# rm linux
# ln -s linux-3.4.27 linux
# cd linux


Теперь нужно сконфигурировать исходники ядра. Надеюсь, объяснять что это и зачем не нужно. Вот несколько способов:
1) Использовать готовый конфиг от сами-знаете-кого
# wget http://slackware.rol.ru/slackware/slackware-14.0/source/k/config-x86/config-huge-smp-3.2.29-smp
# cp config-huge-smp-3.2.29-smp /usr/src/linux/.config

2) Использовать текущий (может не работать)
 # zcat /proc/config.gz > /usr/src/linux/.config

3) И самый любимый всеми:
# make menuconfig


Теперь собираем ядро (это может быть очень долго, особенно на старом железе):
# make bzImage -j3

Это сборка самого "бинарника" ядра, который будет загружать всю систему и модули. -j3 -- это количество потоков компиляции, обычно используется значение "(количество ядер процессора) +1"
Теперь пора "опакетить" это дело! :-)

АХТУНГ! Перед тем, как запустить слакбилд, отредактируйте его, исправив указанную в нём версию ядра на ту, которую Вы собираете.
# wget http://slackware.rol.ru/slackware/slackware-current/source/k/packaging-x86/kernel-huge-smp/kernel-huge-smp.SlackBuild
# chmod +x ./kernel-huge-smp.SlackBuild
# ./kernel-huge-smp.SlackBuild


Настала пора собирать модули:
 # make modules -j3 && make modules_install

Понятно, да? Теперь запаковываем их в пакет:
АХТУНГ! Перед тем, как запустить слакбилд, отредактируйте его, исправив указанную в нём версию ядра на ту, которую Вы собираете. [2]
# wget http://slackware.rol.ru/slackware/slackware-current/source/k/packaging-x86/kernel-modules-smp/kernel-modules-smp.SlackBuild
# wget http://slackware.rol.ru/slackware/slackware-current/source/k/packaging-x86/kernel-modules-smp/rc.modules.new
# chmod +x ./kernel-modules-smp.SlackBuild
# ./kernel-modules-smp.SlackBuild

Файл rc.modules.new скачать необходимо, т.к. он будет отвечать за подключение модулей ядра при включении компьютера и без него пакет может не собраться.

В принципе, это всё. Если вы уверены на 146%, что Ваше ядро окажется полностью рабочим, то его можно установить:
# installpkg /tmp/kernel-modules-smp-3.4.27_smp-i686-1.txz /tmp/kernel-huge-smp-3.4.27_smp-i686-1.txz

Если всё понравится, то старое ядро можно удалить. Только не забудьте сначала подправить загрузчик:
# nano /etc/lilo.conf && lilo


Всё. Можно загружаться в новое ядро. Удачи! ;-)

вторник, 11 декабря 2012 г.

NeverWinter Nights 2 (NWN2) Gold Edition на Linux Mageia 3 alpha 3

Небольшое отступление.
Это моя любимая игра вообще. Познакомился я с ней в далёком 2008 году и влюбился в неё с первого взгляда. Тогда я отдолжил диск у друга на поиграть. Пару месяцев назад я купил лицензионный диск с этой игрой - NeverWinter Nights 2 Platinum Edition, хоть и уценённый, но всё же... И внезапно капец как захотелось поиграть. Для этого, вообще говоря, мне нужна была винда, которую установить не позволяла идеология, да ещё и из-за неё постоянно сбивались часы в биосе, когда я был дуалбутчиком. Полюс ко всему, я не мог позволить себе лицензионную копию винды (это шутка такая). Поэтому стал накатывать на Linux. Итак... 

Нам нужны следующие репозитории (все официальные, не бойтесь):

Core Release
Core Updates
Nonfree Release
Nonfree Updates
Tainted Release
Tainted Updates
Core 32bit Release
Core 32bit Updates

Как подключить их, вы, думаю, знаете, а если и не знаете -- то это легко делается так:
su -c 'mcc'
Дальше разберётесь =)

Когда мы подключили репозитории, необходимо установить последние драйвера для нашей видеокарты (тоже через МСС). Разберётесь сами.

Нужно установить Wine. Поскольку эта игра есть только в 32-битном виде, то, естесственно, что Wine следует ставить 32-битный.

# urpmi wine wine-gecko wine-mono cabextract

Пакет cabextract нужен для установки всякого шлака наподобие .NET, который, увы, нам нужен для запуска игры.

Далее, нужно настроить wine. Добавьте какой-нибудь локальный диск, например, D. Он пригодитсянам для того, чтобы установить на него игру. Вообще говоря, я бы советовал удалить все локальные диски кроме С, и только потом добавлять D. Также я бы советовал разобраться с настройкой графики, вот так. Всё это делается через гуй после команды

$ winecfg

Далее, нам нужна всякая гадость для запуска игры. Для её установки нам пригодится winetricks, но, поскольку этого чуда нет в оф. репозитории, делаем так:

$ wget http://winetricks.org/winetricks
$ chmod +x winetricks
$ ./winetricks dxdiag directx9 vcrun2005 dotnet20 dotnet20sp2

После того, как третья команда завершит свою работу, сделайте всё, что она напишет и запустите её снова.ТОЛЬКО третью команду.

Итак, окружение установлено и настроено. Далее, устанавливаем непосредственно саму игру. Желательно это делать, предварительно скопировав файлы с диска. И запускайте лучше скопированный файл. Я это делал так:

$ wine /mnt/Sparrow/Neverwinter\ Nights\ 2\ Platinum\ Edition/TVM_NWN2_DVD1/setup.exe

Надеюсь, что означают бэкслэши, пояснять не нужно.

...

Игра установилась. Радость, радость! НО играть не хочет. Выдаёт ошибку, что не найден CD-привод. Не помогает даже интимная настройка WINE. Что делать? А вот что. Скачайте NoCD/NoDVD. А почему нет? Если я купил лицензию, то я имею на это полное моральное право, тем более, что у меня не пиратская игра и не пиратская ОС. В любом случае, скачивайте NoCD/NoDVD именно той версии, которой у нас игра. Иначе не взлетит. В любом случае, NoCD найдёте сами.

Выполняем в терминале:

$ wineboot


Запускаем, ииграем =)

P.S. Отдельно хочу выразить благодарность ребятам, которые помогли мне разобраться с этим делом и всем участникам Russian Mageia Linux Community, отдельное спасибо пользователю xxblx за доброту, понимание и отзывчивость ;-)