Хождение за три Линукса.
Сергей Цыпцын
В общем я потратил пару викендов и еще несколько рандомных дней, чтобы погрузиться в дивные эксперименты по установке Линукса на новехонький ноутбук Lenovo Creator со всеми модными пирогами - 2080 Max Q, две видеокарты, RAID из двух NVME SSD и прочими ништяками.
Про свои первые детские попытки и борьбу с RAID-ом я уже описал вот в этом посте.
https://bit.ly/3jhcQrc
Здесь я закрываю гештальт по линукс-терапии и делюсь своим нубовским опытом законченного виндовода, решившего поиграться в Линукс.
Просьба гикам громко не ржать, не ругать за тупость, и не стыдить за неумелую работу c grep.
Итак, была задача накатить Линукс параллельно с Виндой. Поставить туда драйвер видеокарты и установить Майю, чтобы протестировать ее вьюпорт и работу с памятью. (Ибо миллиард полигонов во вьюпорте Maya (https://bit.ly/33eosFA) впечатлил меня, настолько, что я решил поглядеть, что будет на Линуксе).

Глава 1. Убунту.
Первый викенд я убил пытаясь поставить Убунтицу на неразмонтированный (в биосе) RAID-0 из двух дисков. Я уже описал это тут(https://bit.ly/3jhcQrc), поэтому сразу скажу, что RAID пришлось прибить в Биосе и получить два быстрехоньких диска по террабайту - что в общем и было удобно. Один из них пошел на съедение Линуксам, на втором осталась жить свежая Винда.
После чего свежая, пахнущая краской Убунта 20.04 мухой установилась на ноут. Составив конкуренцию Винде по времени голой установки.
И я начал ставить Майю.
Джосс (Drulid Ivanovic) пригнал мне инструкцию:
https://knowledge.autodesk.com/support/maya/learn-explore/caas/simplecontent/content/installing-maya-2020-ubuntu.html
Там, на момент прочтения были реальные ошибки в командах (но я этого не знал).
Ну и для тех, кто с Винды - установка софта под Линукс - это доустановка библиотек вначале, доустановка библиотек в процессе и доустановка библиотек после установки софта - ибо гордый софт, просто так не запустится, а потребует еще чего-нибудь. Но это нормально, так как софт всегда скажет, чего ему не хватает. И твоя задача найти это! И тут начинается искусство. Ибо не хватает какой-то библиотеки (конкретного файла), а знать нужно имя пакета, в котором есть эта библиотека. (иногда решает dnf whatprovide, но неуниверсально). И к этому, как ни странно, тоже быстро привыкаешь. Особенно после того, как прочтешь четверть Гугла в интернете.
В общем я начал продираться..
Сначала 21 команда в командной строке, прежде чем добраться до заветной
sudo apt-get install <Maya2020 deb package>
Потом еще 21 команда в терминале (не шутка, посчитайте по ссылке) и вот уже оно:
/usr/autodesk/maya2020/bin/maya
Лирическое отступление 1.
Все инструкции в интернете по [до]установке чего-то под Линукс - это, как правило, что-то немного устаревшее, ибо вот эта библиотека теперь вот с таким номером, а вместо этого надо ставить вот это. Ибо ваш Линукс немного свежее, чем тот для которого инструкция. Но к этому привыкаешь, это норм.
Майя, конечно, отказалась запускаться в итоге.
Я проглядел пару ошибок при исполнении вышележащих команд, за что и получил.
Приуныл.
Но тут в чате появился Дмитрий Сокол!
Он терпеливо выслушал мои жалобы и просто спокойно сказал "скопируй в чат сообщения об ошибках, ага, начнем с zlib"
Надо сказать, что в чате Дима оказался милейшим и терпеливейшим человеком, который не просто мне помог добить все это безобразие, но и помог понять, КАК это добивается. Огромное ему спасибо за это. Несколько сессий с Димой дали мне очень многое.
В общем мы шаг за шагом добили Майю до готовности запускаться - я вбивал команды, Дима руководил.
Майя запустилась! Естественно, изрыгая проклятия в адрес видеокарты, которой по ее мнению, у меня не было. Что логично, ибо теперь пришла пора ставить драйвер Нвидия.
Надо сказать, что в Убунте это было наиболее просто. Может потому что я накатил не самый последний драйвер из репозитариев (440 vs 450) и не стал морочиться с последним драйвером с сайта Нвидии.
Майю это не устроило.
Я прочел еще четверть Гугла и родил команду:
sudo apt-get install nvidia-cuda-toolkit -y
После которой Линукс увидел две видеокарты и Майя взлетела на крыльях 2080 к миллиарду полигонов во вьюпорте.
Тут наверное надо сказать, не дожидаясь эпилога, что производительность Майского вьюпорта под Линуксами оказалась ровно такой же, как и под Виндой. Я погонял свою миллиардную сцену и так и сяк. На Винде 5.0-5.2 fps, на Убунте 4.8-5.0.
Дальше я обнаружил, что если Майя выжирает swap - она беззвучно падает. Я почитал еще 5% гугла и сделал swap на 25гиг. Майя быстро выжрала его и упала (да, у меня есть такая сцена). Потом на Винде, где своп динамический, я тупо посмотрел, что Винда аллокирует 122гига для этой сцены на быстром ssd, причем достаточно шустро. Я не в курсе, можно ли делать динамический своп на Линуксе, поэтому я просто оставил эту затею.
Я также удивился, что Майя на Линуксе плохо освобождает память, при открытии новой сцены, после работы с огромной сценой. Винда делает это корректнее. Проверю еще.
Но что меня удивило и порадовало под Линуксом - это время работы от батареи. Оно почти бесконечно. Хватало почти на весь день на моем Легионе. По моим ощущениям оно дольше, чем на винде раза в два. Это очень круто.
Глава 2.
Arch/Manjaro.
Дима соблазнил меня попробовать эту ветку Линукса, а я, как вошедший во вкус командной строки, соблазнился. Скачал, руфуснул флешку, накатил, установил. У Манджары есть такая штука как AUR, где юзеры уже написал все эти безумные скрипты из 42 команд, для установки того или иного софта. И тебе достаточно просто найти в графическом интерфейсе, например Майю, и сказать - "устанавливай!".
Ну и я, соблазненый, нашел родную и сказал поехали!
Но есть маленькая деталь, перед этим лучше прочесть коменты на онлайн AUR-е, от пользователей, кто делал это недавно. (См лирическое отступление 1), ибо твой Манджаро может быть иным, нежели тот, под который писались скрипты по установке той же Майи. Сообщество, конечно, старается держать все это хозяйство актуальным, но я, как и положено, напоролся на пару несовместимостей, и вместо чтения AUR, читал еще 10% Гугла. Пока не пришел из него в AUR. Прочитал коменты, сделал пассы в командной строке. Майя сама скачалась, установилась и завелась. Удобно.
Но с драйвером вышла засада. Майя в упор не хотела видеть вторую видеокарту (нвидию), несмотря на то, что драйвер встал как положено и все про себя написал. Все трюки из Убунты не сработали. Я уперся рогом, не стал звать Диму, но не смог.
Я тупо переставил систему с нуля и сделал все аккуратно. Я также нашел, что надо взять две библиотеки из майской директории и просто заменить ими две библиотеки Арча. Ночное чтение гугла решает. После этого майский питон перестал ругаться.
Но видюха не завелась.
Я просто тупо залез в Биос и вырубил видеокарту от Интел, оставив одну 2080.
Все завелось. Майя показала себя примерно также как в Убунте.
Глава 3. Сентось.
Тут я совсем потерял страх и решил пойти ва-банк. Коль скоро все пишут, что под Сентосью все должно работать стабильнее всего, и что для Майки Сентось мать родная, дай, думаю, с нуля, сделаю всё сам. Накачу Сентось, поставлю Майку и навалю драйвер (знал бы заранее, сколько времени потеряю, трижды бы подумал).
Сентось - это, конечно, жирный толстый слон. Установщик на 7.7 гиг, время изготовления флешки уходит за горизонт. И сама установка, после Убунты, это прям жесть - неочевидность интерфейса поражает, а работа с партициями (когда ты трясешься, чтобы не убить лишнего), напоминает игру в сапера. В общем я с третьего раза прорвался к установке, она зависла на середине, но со второй попытки Сентось водрузилась на ноут третьим Линуксом и четвертой осью.
Я был горд собой и недеоволен Сентосью.
Майю добивал умелыми пинками и тычками, лихо скачивая недостающее и линкуя несуществующие файлы библиотек к существующим. Майя ставится примерно также как на Убунте, с пинками - нет libpng и libXp и надо долинковыватть libssl и lib crypto руками. И колдовать с FlexLM - single user lic там не поддерживается, нужны пляски. Но я уже был кулхацкер, меня было не остановить.
Лирическое отступление 2. Если у вас нет какого-то файла в Линуксе, вы просто пытаетесь подсунуть ему другой файл командой ln. Это нормально. Просто надо знать какой файл подсунуть - и для этого надо почитать еще немного гугла. Плюс в том, что линукс тебе всегда напишет, какого файла он не нашел для запуска Майи, а минус в том, что ты не знаешь, что ему нужно подсунуть вместо этого файла (и читаешь гугл).
И тут пришла пора ставить драйвер от Нвидии... И вот это была жесть.
Во-первых, есть примерно стопицот инструкций как его ставить. От Федоры, до последней Сентоси. Они все они чуть-чуть разные. Я взял ту, что посвежее. Поколдовал с блокировкой nouveau и конфигами, и нырнул в kernel mode, ибо Сентось она же взрослая девочка, только level 3, никаких Иксов. Установил в кернеле дравер, скачанный с сайта Нвидия (все по инструкции), просмотрел все эти текстовые yes/no на синем фоне, сделал все аккуратно, перегрузился и.. kernel crash...
И вот тут я потерял реально много времени.
Драйвер намертво вешал систему. Путем чтения логов выяснилось, что X не стартует с ним. Только level 3.
Я освоил редактирование grub на лету, чтобы стартовать сразу в левел 3. Я освоил VIM не хуже Ворда (вспомнил PDP-1140), я научился жить в командной строке без еды и воды. Я освоил grep и find. Я научился сносить и снова ставить драйвер без всяких Иксов.
Пару дней в обнимку с гуглом и Вимом и я доправил конфиги иксов и нвидии чтобы развести дисплеи 0 и 1 на Интел и Нвидию. Через два дня я запустил Иксы нормально, но Сентось отказалась выдавать Майке Нвидию и юзала только Интел.
Я вырубил Интел в Биосе, оставив только Нвидию. Сентос рухнула при загрузке с сообщением Something went wrong - Logout.
Это было фиаско. Я пополз дочитывать оставшиеся непрочитанные проценты Гугла.
Каким-то чудом увидел сообщение на каком-то форуме, что виноват selinux(!) и что это баг Сентоси.
Еще раз - виноват selinux.
Сделал ему permissive и Сентос стартанула на Нвидии. Майя завелась. Примерно как на Убунте.
Я был изможден и даже не смог толком возрадоваться. Сентось меня укатала.
Эпилог.
Я позапускал разные Линуксы и понял, что Убунту мне нравится больше всего. Она шустрее всех стартует. Она мне "понятнее" что ли. Она как бы "честнее". Виндовые штучки мне не особо не нужны, я теперь и в команную строку могу (и даже получаю странное удовольствие от этого), а аскетичный интерфейс Убунты меня вполне устраивает.
Время работы от батареи меня просто сразило, писать тексты и почту в дороге буду точно под линуксом.
Заодно я почитал про генеалогию линуксов, узнал, почему правильно говорить GNU/Linux и понял, наконец, почему счет этих ГНУ/Линуксов идет на сотни.
Также нашел интереснейшую схему происхождения и развития Юниксов:
https://www.levenez.com/unix/unix_a4.pdf
https://www.levenez.com/unix/
Из мелочей: спикер ноутбука не заработал ни под одним Линуксом. Втыкаю наушники, звук есть. Вынимаю наушники - звука нет. Похоже,что действительно, новое железо будет ждать, пока сообщество или производитель озаботятся этой проблемой. Правда непонятно когда - Леново не ставит Линуксы на Легион, только на ThickPad, а в сообществе такие ноуты большая редкость.
Но я почитал - Леново официально ставит Федору на некоторые линейки ноутов, а HP ставит Убунту на свои машинки. То ли это заигрывание с дата сайенсом, то ли уменьшение себестоимости за счет винды. В любом случае тренд интересный.
В общем, если хотите сильно обновить свои нейронные связи и получить массу биполярного опыта - ставтье линукс! Это похоже на квест (часто текстовый), который ты проходишь уровень за уровнем и как ребенок радуешься,когда уровень пройден и у тебя что-то завелось. Ну и после прохождения квеста у тебя остается не только работающая стистема, но и опыт, который ты можешь применять в будущем.
Ну и Гугль полностью прочитан...