суббота, 21 августа 2010 г.

Установка драйверов NVIDIA с официального сайта в Ubuntu 10.04



После выхода первых RC релизов Ubuntu 10.04 пользователи столкнулись с проблемой установки драйверов NVIDIA,
скачанных с официального сайта. Поэтому я решил написать небольшое руководство по установке.
Итак, в чем же заключается проблема? Как оказалось, майнтайнеры оного дистрибутива интегрировали свободный видео драйвер nouveau (http://ru.wikipedia.org/wiki/Nouveau) , который и начинает сопротивлятся при установке проприетарного, выдавая ошибку distribution provided pre-install script failed.
Оставив данный факт на совести разработчиков, примемся за установку проприетарщины. Для начала выполним в терминале команду: sudo gedit /etc/modprobe.d/blacklist.conf . Откроется текстовый редактор Gedit с файлом blacklist.conf. Добавим в конец этого файла строчку blacklist nouveau». Сохраним изменения и закроем Gedit. Далее выполняем команду «sudo gedit /etc/default/grub».
Находим строчку GRUB_CMDLINE_LINUX_DEFAULT и заменяем то, что стоит в ней после знака = на "quiet nomodeset acpi_backlight=vendor". В конечном итоге строчка должна выглядеть так: GRUB_CMDLINE_LINUX_DEFAULT="quiet nomodeset acpi_backlight=vendor"
Убедившись, что всё в порядке, сохраняем изменения, и даем в терминале команду sudo update-grub. Скачиваем драйвер для своей видеокарты с сайта http://www.nvidia.com/ , сохраняем в домашнюю папку, записываем/запоминаем его имя (а можно не записывать и не запоминать, а юзать команду ls в ~/), и перезагружаемся.
После перезагрузки открывается чистая консоль. Не паникуем. Вводим свой логин/пароль, даём команду
sudo /etc/init.d/gdm stop , затем sudo sh NVIDIA-Linux-версия скачанного драйвера.run Соглашаемся со всем предложениями инсталлера и ждем конца установки. После того, как драйвер установился, даём команду startx и понимаем, что всё готово. Удачи. :)

четверг, 5 августа 2010 г.

Плагин для подавления шумов в Gimp


     На днях наткнулся на плагин для для подавления шумов с помощью Gimp. Называется он GREYCstoration. Данный плагин может работать с довольно большими изоображениями и снимками в режиме 16-/32 с плавающей точкой разряда на канал.Так же поддерживает многопоточность и может раздельно обрабатывать цветовые каналы в пространствах RGB и YCbCr. Для установки сливаем с официального сайта распаковываем и копируем в папку ~/.gimp/2.0/plugins/ (можно и в /usr/lib/gimp/2.0/plugins/) файл GREYCstoration_gimp_pc_linux. Для установки в Debian и его производных достаточно установить пакет gimp-plugin-registry, после чего в меню фильтры/улучшения можно увидеть данный плагин.

















А вот что получилось на практике:
Было:











Стало:

вторник, 3 августа 2010 г.

Linux-2.6.35 + bfq в Debian/Ubuntu


После вышедшего накануне стабильного релиза Ядра linux-2.6.35 решил собрать его с экспериментальным I/O планировщиком bfq не включенном на данный момент в официальную поставку ядра. Почему именно bfq? Все дело в том что моей железке свойственна плохая отзывчивость во время активного обращения фоновых процессов к диску. Отчасти в этом виноват знаменитый io-wait-bug расположившийся под номером 12309 в bugzilla. Сам же планировщик  BFQ (Budget Fair Queueing I/O Scheduler) создан на основе CFQ (Completly Fair Queueing I/O Scheduler ), но в отличии от него более честно разделяет  I/O между процессами. Итак, скачиваем исходники ядра с kernel.org и распаковываем в директорию /usr/src. (Так же нужно будет скопировать config-версия установленного-ядра из каталога /boot в исходники ядра) Так-же сливаем три патча отсюда и сохраняем опять-же в /usr/src/
Ставим необходимые для компиляции пакеты:
$ sudo apt-get install kernel-package  libncurses5-dev
debhelper fakeroot
Логинимся рутом (при использовании sudo даётся команда sudo -s -H) и переходим в директорию с распакованным архивом ядра:


# cd ~/usr/src/linux-2.6.35


 Ставим поочередно все три патча:


# patch -p1 < /usr/src/имя/версия_патча.patch


Запускаем make nconfig, идем по-адресу Enable the block layer >IO Shedulers (здесть включаем опцию BFQ I/O Sheduler, затем идем дальше в пункт Default I/O Sheduler и выбираем его по-умолчанию.
сохраняем изменения, выходим и даем завершающие команды:


# make-kpkg clean   (нужно чтобы задать будет задать собственную нумерацию сборок ядра и уничтожить все следы предыдущих версий)
# fakeroot make-kpkg --initrd --revision=mybuild.1.0 kernel_image kernel_headers  ( собственно, сборка ядра и заголовков)


Примечание: в некоторых случаях после окончания сборки необходимо выполнить команды update-initramfs -c -k вставить_сюда_версию_собранного_ядра, затем sudo update-grub


Ну вот и все. После окончания компиляции можно запускать ядро с новым I/Oпланировщиком/ Помог ли он мне полностью избавиться от iowait-бага? Нет. Но отзывчивость системы улучшил заметно. Например полностью исчезли притормаживания при работе с виртуалками и другими жадными на I/O задачами. Так что лично для меня эта игра стоила свеч.