Баги видеодрайвера Astra Linux (13.07.2022). Печать
2022 - Июль
13.07.2022 17:39
Save & Share
Миграция. Страшное слово, сулящее кучу проблем из-за несовместимостей в процессе миграции и порожденное несовместимостями текущими, - доказано практикой. Что межквартирный переезд, что переход с HTTP на HTTPS, что переход с DOS на Windows, что с Windows на Linux, что с иностранной Linux на отечественную Linux, что со среды программирования Qt v.5.03 на Qt v.5.11 (а кто переходил с 5.11 на 6.2.4 - вообще вешались) — все это было непросто.

И теперь сам, своими руками, нашел информацию, которая может породить миграцию с Astra Linux SE v.1.4 (2014) на Astra Linux SE v.1.6 (2018) или выше — и которую придется делать мне же — и еще сторонняя организация впряжется параллельно — и еще мне весь софт потом под 1.6 переписывать. И отложить информацию тоже нельзя: лучше пройти миграцию, пока есть время, - а не когда петух клюнет.

Миграцию порождает череда совпадений:
- создаваемый и поддерживаемый софт требует мощных ресурсов для работы — поэтому заказчик укомплектовывается надежным топовым железом, а программисты укомплектовываются условно-топовым. Когда получил новый компьютер с i5-10400, 32ГБ RAM и встроенным видео 2ГБ - думал, что у меня топовый компьютер в комнате. Оказалось, после проведения ТО системникам сектора, — почти самый дешманский (у всех i7 и внешние видеокарты еще с 2012-2016 года — а у некоторых вообще 19"-стоечные сервера стоят). То есть, с предыдущим системным блоком AMD Athlon 245 я был бомжем без трусов — а сейчас шагнул вверх по социальной иерархии и стал нищим в трусах в глазах сотрудников;
- как следствие, системные блоки рассчитываются, укомплектовываются и покупаются на длительный срок, десятилетия, — им необходимо лишь ТО, без модернизации;
- на момент приобретения системных блоков в прошлом, все железо и настройки BIOS были совместимы с Astra Linux SE v.1.4. Начиная с некоторого момента, это перестало соответствовать действительности — что и было случайно обнаружено;
- найденные баги оказались настолько критичными, что с ними не то что софт будет работать некорректно, - ОС толком не запустится. При этом ни перепрошивка BIOS, ни игра с его настройками не помогут (поэтому и опускается месячная возня с ними).

Началось все с желания поставить на новый системник Windows XP x64, чтобы в виртуальной машине работать в Astra Linux SE v.1.4 (она успешно работала таким образом на старом ПК). Но в настоящий момент производители начали что-то химичить с технологиями — и на новый ПК не вставало ничего старше Windows 10. Режим IDE исчез из режимов работы SATA (что похоронило возможность поставить любую XP) — остались только AHCI и RAID. С Windows Vista, 7, 8 — была другая несовместимость, поэтому они падали с синим экраном (7 ссылалась на disk.sys). Режим Legacy работал нестабильно (оказался баг встроенного видеоядра UHD 630 с материнской платой: гасил экран).

Вот тут и закрались сомнения, что Astra Linux SE v.1.4 корректно заработает на новых технологиях. И вот, версия 1.4 отказывается встраивать загрузчик при завершении установки, работая в режиме UEFI и размечая диск по технологии GPT. Вручную загрузчик в GPT встроить так и не удалось — поэтому был выбран режим Legacy. Astra успешно установилась, диск размечен по технологии MBR.

Но это не победа. Как режим IDE исчез из настроек SATA — так и режим Legacy для периферийных устройств может исчезнуть в любой момент (при условии, что UEFI — изобретение 2007 года, проталкиваемое еще со времен Vista). Заказчик купит себе новое железо — а ОС тупо не установится.

Если бы это была единственная проблема — можно было бы и не бить тревогу: когда там еще режим Legacy пропадет — неизвестно. Оказалось, что Astra 1.4 несовместима с видеокартами, начиная из диапазона GeForce (650-730] (650, 560 и 630 работают). Получив в пользование GeForce GT 730 4ГБ (взамен встроенного ядра, для устранения аппаратного бага с Legacy) - ОС не давала выбрать режим больше 640x480 после установки (при необходимости для софта 1920x1080). На тот момент пока еще никакие манипуляции не помогали с решением этого вопроса — но уже породилась теория о несовместимости.

В этот момент подвернулся случай раздобыть с десяток разных видеокарт из разных мест. Их диагностика и ТО показали: часть — умерла, часть рабочих — разошлась по нуждающимся (моментально). Но одну видеокарту оставил себе. Самую дешманскую: GeForce 6200 128МБ с пассивным охлаждением (2004) — для экспериментов и тишины без вентилятора (рабочая температура 64 градуса для видеокарт является нормой).

Именно ее, взамен GT 730 4ГБ, установил на постоянную основу в системный блок, в полной уверенности, что все будет в порядке. Astra v.1.4 установилась - и снова режим только 640x480.



При анализе проблемы, в т.ч. с дуэтными танцами с бубном в одеянии шаманов, был разработан алгоритм установки внешних видеокарт (скорее всего, этот алгоритм был утерян с утерянным сотрудником, собравшим системники в те далекие годы):
- отключить стандартный видеодрайвер nouveau: в /etc/modprobe.d/blacklist.conf добавить строки «blacklist nouveau», «options nouveau modeset-0»;
- в конфигурационном файле /etc/initrams-tool/modules удалить строку «nouveau modeset=1»;
- выполнить команду «update-initrams -u -t»;
- перезагрузить компьютер. Будет использоваться стандартный видеодрайвер vesa;
- выход из графической оболочки: «sudo service fly-dm stop»;
- запуск установки драйвера: «sudo sh полный_путь_драйвера» (как правило, это один файл с расширением .RUN).

GeForce 6200 встала без вопросов — исправно работая с 2-мя мониторами одновременно. А вот с GeForce GT 730 вышло сообщение, похоронившее все надежды и мечты: несовместимость официального драйвера производителя с ядром ОС v.3.16.



Попытка скачать "переделанный" драйвер 340.46 специально для Астры с сайта производителя - успехом не увенчалась: страница не найдена. И не уверен, что даже скаченный файл бы помог: не исключено, что 730-я модель 2020-х - это не точная копия 2010-х: сайты по ТТХ видеокарт показывают максимальный объем моделей прошлого 2ГБ.

В Astra Linux SE v.1.6 данные проблемы не наблюдаются: и драйвер устанавливается, и в режиме UEFI корректная установка. Грядут тяжелые времена: миграция ОС, среды программирования и исходного кода. Есть лишь мизерный шанс, что видеокарты AMD еще совместимы с ядром 3.16, - и миграция не потребуется (но проверить не на чем).



(добавлено 14.07.2022) Скаченный официальный старый драйвер 340.46 x64 (2014) тоже не устанавливается на ядро 3.16. Тупик.



И еще один видеобаг Астры 1.4 при попытке загрузиться с воткнутой флешкой (возможно, виной не до конца удаленная загрузочная запись).



(добавлено 25.07.2022) Режим UEFI, также, приводит к невозможности установки старых Linux. Например, не пошла ASPLinux Cobalt Greenhorn 14.

(добавлено 18.08.2022) Подготовка к миграции началась.

Обновлено ( 18.08.2022 17:38 )