Найти тему
OVERCLOCKERS.RU

Скрипт для блокировки Nouveau драйвера, и ещё одна причина, почему Linux многим и даром не нужен

Знакомое сообщение на экране, не правда ли?

-2

И меня совсем не радует, когда Nouveau конфликтует с нормальными драйверами от NVIDIA, не позволяя установить последний...

Как же я собрался это "древнее зло" побороть? Ещё не догадались из заголовка? Правильно, драйвер будет заблокирован в дистрибутиве Chimbalix, всё равно от него больше проблем, нежели пользы:

Конечно я не настолько тупой, чтобы полностью удалить Nouveau из системы, кто знает, какие зависимости поломаются, да и некоторым людям этот драйвер действительно может понадобиться, потому мой выход это использование чёрного списка.

Возможно у кого-то возникнет вопрос, а причём тут скрипты? Ответ прост, скрипты нужны чтобы пользователям (включая меня) не приходилось танцевать с терминальным бубном:

-4

Так получились первые наброски, но в процессе стало ясно, нельзя просто сделать скрипты и как попало запускать, нужна "база", потому создал специальную папку chimbalix-scripts в папке opt (program-files), именно там буду складировать всё что упрощает жизнь, на время работы разрешаю полный доступ к этой папке, потому что из под root неудобно работать в линуксах:

Первым делом разрабатываю скрипт для добавления Nouveau драйвера в чёрный список:

-6

Но нужно сделать и скрипт разблокировки драйвера, вдруг какому-то пользователю надо, и тут же всплывает потенциальная проблема, если пользователь установит другой драйвер, а потом разблокирует Nouveau, это потенциально может привести к проблемам.

Впрочем, если пользователю надо "выстрелить себе в ногу", значит надо! Вечно считающие себя правыми адепты Linux вероятно будут недовольны моим подходом, но кого они волнуют?

Так как скрипты могут быть полезны и в других дистрибутивах Linux, было решено создать специальный репозиторий для таких вещей, однако не стоит забывать, я всё делаю для своего дистрибутива Chimbalix, если кому-то не подходит - вперёд и с песней, адаптируйте под себя:

-7

Я не собираюсь распыляться пытаясь угодить всем, ибо это изначально тупиковый путь, тысячи практически никому не нужных дистрибутивов Linux тому доказательство:

Эх, а ведь ещё недавно Linux мог похвастать чуть больше 3%, видимо не долго продержались принудительно установленные дистрибутивы в государственных конторах...

-8

Но оставим рутинную работу над скриптами за кадром, ведь есть кое-что интереснее, внезапно я вспомнил про эмуляторы игровых консолей, и подумал, а что есть под Linux? И нашёл... Танцы с бубном...

Нашёлся значит эмулятор Mednafen, пошёл на сайт, а там только для Windows есть исполняемые/установочные файлы, пользователи Linux сосите лапу, как всегда:

-9

Пошел в FAQ на сайте, и о боже, это что за уродливый дизайн с едва читаемыми шрифтами, руки бы вырвать из задницы "дизайнеру"...

-10

В общем "лицо" проекта уже о многом говорило, однако надежда умирает последней, и я пошёл танцевать с бубном пытаясь скомпилировать приложение, но нарвался на проблемы с зависимостями, несколько раз начинал настройку проекта перед компиляцией, каждый раз устанавливая всё новые отсутствующие зависимости, что всплывают не все разом, а по одной:

Так и начал компиляцию эмулятора, данный этап украл примерно 38 минут моего времени и ресурсов компьютера*, и закончился ошибками, а ещё говорят, что софт в виде исходного кода это круто и прекрасно...

* - Ryzen 7 2700X, 64 GB RAM, Samsung 970 PRO NVMe SSD.

Хрен знает, но это не похоже на приложение, которое можно запустить:

Интересно, почему вся эта дичь с исходными кодами вместо нормальных исполняемых файлов не привлекает людей? Даже не знаю, вот потратил почти час (без учёта подготовки) времени и ресурсов ПК на компиляцию, и не знаю зачем, наверное неправильно по инструкциям ввёл две команды в терминал, ну точно виноват я (пользователь), никак иначе, ага...

Другой эмулятор подозрительно мало весит, но почему оно не должно заработать под линуксом? Правильно, потому что болото зависимостей мешает, а разработчикам не хватает мозгов, чтобы статически компилировать софт:

-14

Я конечно упорно собирал по кускам разорванного в клочья "пингвина", устанавливал вручную библиотеки, но однажды нарвался на libcrypto.so.1.0.0, на который не нашлось в репозиториях никаких пакетов с аналогичным названием... Через поиск в интернете нашёлся главный пакет libssl1.0.0, который невозможно установить, ибо это явно что-то "устаревшее", его просто нет в "прекрасных" репозиториях для современного дистрибутива:

-15

А ещё всякие адепты Linux любят рассказывать сказки, что это в Windows всё ужасно с библиотеками при запуске софта, видите ли, установить один раз VC Redist всех версий и забыть на всю жизнь это ужасно и плохо, а вот в Linux танцевать с бубном собирая разорванного в клочья "пингвина" это якобы нормально...

Почему бы не установить эмулятор из репозиториев? Да как бы можно, как раз нашелся PCSXR, правда есть несколько проблем, первая состоит в том, что репозитории умирают со временем, но главная проблема что во время игры случайным образом полностью зависало управление на некоторое время, да и артефакты были ярко выражены на экранах загрузки, очень сомневаюсь, что дело в игре, да и жанр не подразумевает, чтобы управление отваливалось время от времени:

-16

Раз уж эмулятор для Linux оказался хламом, то почему бы не запустить эмулятор для Windows через Wine? По итогу в процессе игры не возникло проблем с зависанием управления, а ещё игра заработала без артефактов изображения, это забавно:

Я даже пытался ковырять настройки эмулятора для Linux, вдруг поможет, но всё тщетно, управление всё равно отваливалось в процессе игры, артефакты изображения полностью не пропадали.

Кстати, возвращаясь к злополучному эмулятору Mednafen, он тоже нашёлся в репозиториях Debian, кто-то явно потратил своё время на сборку, вместо невежественных разработчиков эмулятора, только вот сам по себе эмулятор бесполезен, ибо нужно брать бубен в руки и плясать:

-18

Но унывать не стоит, есть ведь оболочка под названием Mednaffe:

Только вот проще от неё не стало, ибо линуксоидный эмулятор не каждый BIOS принимает для работы, видите ли, не нравится что файл отличается от того, что жёстко прописан в этом кривом софте, так вашу кочергу! А какого хрена не предоставили "нужный" файл вместе с эмулятором? Где искать "нужный" BIOS, который точно подойдёт под этот нерабочий "из коробки" хлам?

-20

Вот так моё знакомство с эмуляторами для Linux на данный момент закончилось, довольно неоднозначные ощущения, когда софт для Windows запущенный через Wine работает гораздо лучше, да и проще в использовании, чем софт предназначенный для Linux нативно...

А теперь вернёмся к скриптам, прямо в процессе работы мне повезло на проблемы с электричеством в розетке, и всё благополучно "закрылось":

-21

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

Может показаться что это мелочь, подумаете, электричество в розетке пропало, но некоторые другие дистрибутивы Linux после такого иногда ломались...

Вот скрипты и готовы, по умолчанию они делают своё дело и закрываются, но можно запустить с аргументом "pause", тогда скрипт будет ждать пока пользователь введёт что-нибудь для закрытия:

Хотя ладно, переделаю скрипт таким образом, чтобы даже если будет случайно запущен, от пользователя требовалось подтверждение для исполнения, кто-то точно захочет запустить скрипт просто так, вдруг что интересное произойдёт...

Теперь скрипт защищён от случайного запуска, или правильнее сказать - пользователь защищен от случайного запуска скрипта:

Тут некоторые могут попытаться меня упрекнуть, мол я раньше говорил, что пользователю не надо мешать "стрелять себе в ногу", а тут защищаю от случайного запуска скрипта...

Только вот одно дело запретить пользователю открывать любые файлы текстовым редактором, но совсем другое запретить автоматический запуск скрипта, который потенциально может поломать что-нибудь в системе при необдуманном использовании.

Если кто-то не понял в чём разница, приведу аналогию: Одно дело "стрелять себе в ногу" читая реальную книгу через фотокамеру смартфона, но совсем другое забивать саморез в бетон танковым снарядом.

В любом случае хватит болтовни, скрипты проверены и доработаны, пора загружать в репозиторий:

-24

Найти скрипт можно в моём репозитории GitHub, там же можно всё скачать прямо через браузер, без всяких пакетных менеджеров: ( https://github.com/Shedou/Chimbalix ).

-25

На этом пожалуй закончу статью, Nouveau драйвер отправлен в чёрный список, скрипты готовы и загружены в репозиторий, остальную работу над дистрибутивом Chimbalix оставлю для других статей.

Благодарю за внимание, больше интересных статей в блоге Hard-Workshop.

-26

📃 Читайте далее на сайте