2 нояб. 2013 г.

Ubuntu 13.10, Optimus, NVIDIA и т.д.

Такое ощущение, что мои блоги больше посвящены борьбе человека с Линуксом, нежели чем его использованием. Ну да ладно, этот пост не обещает быть длинным, так как написал я его исключительно в помощь самому себе.
Итак, какие же приключения принесла новая версия для моего лептопа? Для начала, Ubuntu во время установки скачивала обновления. После перезагрузки компьютера, загрузки операционной системы не произошло - выскакивала ошибка Kernel panic - not syncing: No init found. Интернет пишет, что, возможно, образ был битый (хотя контрольная сумма совпала). Одним словом, мне помог следующий workaround - установка Ubuntu была с выключенным wi-fi для того, чтобы не было обновлений во это время. А потом уже, операционная система загрузилась без проблем, где после и была обновлена.
Теперь насчёт драйверов для NVIDIA: для установки использовались следующие пакеты (за собой они подтянули с десяток других) - nvidia-319-updates, nvidia-319-updates-dev (мне нужен для разработки), nvidia-settings-319-updates и bumblebee-nvidia. К сожалению, загрузка Unity сопровождалась наличием обоев и больше ничем. Спасибо ресурсу askubuntu.com, где подсказали, что для работы Unity необходимо включить соответствующий плагин в ccsm. Для простоты, скажу - вы ставите compizconfig-settings-manager и запускаете ccsm. Далее, включаете Ubuntu Unity Plugin, как показано у меня на картинке ниже:

Может получится так, что вы не сможете запустить ccsm, потому что у вас не будет консоли в Unity. Что я сделал: я создал пустую папку на рабочем столе, открыл её, через неё нашёл /usr/bin/gnome-terminal, и оттудра запустил менеджер Compiz. Ах да! Если будут предупреждения о каких-то конфликтах, прочтите их и выберите что хотите сами.
Последнее. Для CUDA достаточно скачать .run пакет для x64 дистрибутива линукс (я брал для Ubuntu 12.10) и поставить его с флагом sudo ./cuda_5.5.22_linux_64.run --override. Скорей всего, gcc 4.7 у вас не стоит, и вам придётся его поставить.
Update: кстати, изменённый и немного универсальный файл .bashrc теперь следующий (к сожалению каталога nvidia-current не существует, а все скрипты NVIDIA ищут библиотеки в нём):
export PATH=$PATH:/usr/local/cuda/bin
export LPATH=/usr/lib/nvidia-319-updates:$LPATH
export LIBRARY_PATH=/usr/lib/nvidia-319-updates:$LIBRARY_PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib:/usr/local/cuda/lib64:/usr/lib/nvidia-319-updates
Всего хорошего, и пока!