В прошлой части я рассказал о своей новой погремушке — 17-дюймовом макбуке из 2008 года. Сегодня я продолжу своё повествование и коснусь таким тем как апгрейд, выбор ОС, а также подробностей увлекательнейшей половой жизни с Linux на этой машинке. Но, обо всём по порядку.
В Macbook A1261 есть два разъёма под DDR3 SDRAM, но поставить туда максимально можно не 8, а лишь 6 ГБ. Это связано с прошивкой ноута, который не видит больше 6 ГБ. Что ж, 6 так 6: планка в 2 ГБ у меня уже была, а вторую планку на 4 ГБ я купил на Авито за 4 т.р. (да, редкая память стоит дорого). Параллельно я заказал на Озоне INTEL D3-S4510 (SSDSC2KB2400G801) по очень вкусной цене (примерно на 40% дешевле чем в DNS). Память заменить было совсем несложно, а вот замена HDD>SSD потребовала разбора макбука и аккуратного снятия верхней панели с клавиатурой и трекпадом. У меня уже накопился некоторый опыт разбора старых макбуков, так что проблем тут не возникло.
Итак, память и SSD новые, и, в принципе, обновлять больше нечего. На самом деле, в устройстве 15-летней давности есть смысл заменить термопасту и батарейку CMOS, но я решил, что срочности в этом пока нет, и что эти процедуры подождут. Интересно, что старые макбуки при нагреве начинают распрострянять характерный запах, немного напоминающий буррито или что-то с карри. В первый раз, когда я заметил это при разборе другого макбука, мне показалось, что у старого владельца просто попала внутрь устройства какая-то еда. Но мой текущий макбук тоже источает этот характерный запах, и это явно не совпадение…
Новый SSD на 240 ГБ я разбил на три примерно равные части. На одну я поставил macOS 10.11 El Capitan, наиболее свежую официально поддерживаемую ОС для A1261. На вторую — macOS 12 Monterey с помощью OCLP. Почему не новейшую Sonoma? Потому что после Monterey из macOS выпилили поддержку USB 1.1, по которому у меня работают трекпад и клавиатура. Это затрудняет установку macOS (нужно подключить внешние устройства ввода по USB 2). Я решил не заморачиваться и установить Monterey, где этой проблемы нет. Тем более, что это и так достаточно свежая и поддерживаемая Apple версия.
C установкой macOS на макбук проблем не возникло. El Capitan поставился за 20 минут с одной перезагрузкой, Monterey — чуть дольше и с 4-мя перезагрузками. El Capitan работает идеально плавно и быстро, выглядит аккуратно и опрятно. Monterey заметно «тяжелее», анимации иногда дёргаются, в фоне работает огромное количество всякого мусора, а дизайн UI стал местами небрежным. Да, в моём древнем макбуке установлен non-metal GPU, но мне от этого едва ли легче!
Я поработал некоторое время в Monterey, поставил через Appstore разные программы, включая Whatsapp, Telegram, и дал системе время проиндексировать содержимое диска. Немного спустя, система стала чуть быстрее и отзывчивее, и в целом я остался ею доволен: производительности стало хватать для комфортной работы. Youtube в 1080p играет, можно открыть много вкладок, слушать в фоне музыку и делать что-то ещё. Не супер-плавно, как в новейших макбуках на M2 и M3, но и у меня вообще-то лишь Core 2 Duo T9300…
Дальше настал черёд установки Linux, и тут началось интересное. Нашлось несколько причин, почему мне потребовалось последовательно протестировать более десятка дистрибутивов Linux с разными ядрами, инсталляторами и рабочими столами. Хорошая новость: я узнал много нового и по итогу двухнедельных изысканий сделал всё как надо. Не очень хорошая новость: если вы перфекционист, то просто взять и установить случайный Linux получится не всем и не всегда. Что-то тормозит, что-то зависает, что-то по-интересному глючит. Начну с небольших нюансов, которые и неприятностями-то назвать нельзя. Скажем, в моем макбуке, как и во многих mac mini, imac и mac pro, используется Wi-Fi-чип BC43XX от Broadcom, требующий проприетарной прошивки. Некоторые дистрибутивы Linux (KaOS, Rosa) поставляются сразу с ним, но большинство остальных по лицензионным соображениям не содержат этой прошивки. Её несложно установить вручную, но первоначально, при загрузке в live-режим или в программу установки, у вас нет Wi-Fi. Это неудобно, но легко решается подключением к ноутбуку Ethernet-кабеля или смартфона в режиме модема (именно так я и делал). Другая неприятность заключается в том, что Fedora Workstation, как и все другие дистрибутивы с инсталлятором Anaconda (включая Rosa и клоны RHEL), отказывается устанавливаться если её не устраивает разметка диска. Существующий, EFI-раздел, созданный macOS, видите ли, чем-то не нравится Anaconda, и поэтому у меня она просто не давала продолжить установку. Я обошёл этот затык весьма изящно: sudo dnf in calamares
. Этот инсталлятор, имхо, гораздо удобнее и толковее, к тому же позволяет нормально использовать существующие разделы на диске.
Но это были цветочки, ягодки же — впереди. Мне пришлось решать, какой драйвер я хочу использовать для NVIDIA GeForce 8600M GT (NV84), отвечающей за графику в моем макбуке. В только что успешно установленной Fedora Workstation это был открытый драйвер nouveau
. Да, он поддерживает аппаратное ускорение, но мне показалось, что анимации в Gnome недостаточно плавные, интерфейс мог бы быть поотзывчивее, а управление подсветкой клавиатуры пару раз привело к полному замораживанию всей системы. Я решил, что возможно я хочу использовать проприетарный драйвер Nvidia, а именно версию 340.108, которая поддерживает это поколение чипов. Эта версия работает лишь со старыми ядрами Linux, до 5.х включительно, так что от новых дистрибутивов Linux (таких как Fedora) придётся отказаться. Окей, я беру по очереди openSUSE Leap 15.5 (ядро 5.14) и Ubuntu 22.04 (ядро 5.11) и и устанавливаю этот драйвер (в случае с openSUSE потребовался небольшой патчинг). Драйвер устанавливается, но после перезагрузки я получаю чёрный экран, а в логах вот такое:
В чём дело? Оказывается, загрузка в «чистом» EFI-режиме именно на макбуках приводит к некоей нестандартной инициализации GPU, что делает невозможным использование проприетарного драйвера. Кстати, не только в Linux. В рамках эксперимента я пробовал загрузиться с флешек OpenIndiana и GhostBSD, у которых сразу в live-режимах есть закрытый драйвер Nvidia, но натыкался всё на те же сообщения об ошибке (NVRM: failed to copy vbios to system memory
). Интересно, что в сети есть инструкция для другой модели макбука с GeForce GT 330M, где путём подмены PCI-регистров видеокарты и моста PCI Express автору удалось завести проприетарный драйвер (и плотно познакомиться с командой setpci
). Но, на моей модели этот трюк не сработал, равно как и попытки подобрать рабочие параметры ядра Linux, например noefi
, разные варианты pci=
, acpi=
и т.п…
На все эти бесплодные попытки ушло несколько вечеров. В итоге, я сдался и решил снова попытать счастья с открытым драйвером Nouveau. Теперь можно было проверять любой Linux, а заодно посмотреть, какой рабочий стол лучше всего будет работать. Драйвер nouveau
уже содержится в ядре Linux, его не нужно отдельно компилировать, а аппаратное ускорение обеспечивается в Mesa-dri.
Я попробовал openSUSE Tumbleweed, OpenMandriva, Fedora и Ubuntu (снова), Linux Mint, Rosa, Kubuntu Neon и KaOS. Из рабочих столов — Plasma 5, Plasma 6 (в новейших Kubuntu Neon и openSUSE Krypton), Gnome 44-45, Xfce 4, Cinnamon, Trinity 14, IceWM. Везде проверял отзывчивость интерфейса, нагрузку на ЦП и производительность пары OpenGL-программ (на примере Neverball и Extreme Tuxracer), где удобно включить счётчик FPS.
Выяснилось интересное.
Нигде рабочий стол Gnome не работал идеально плавно с Nouveau. Лучше других показал себя Ubuntu 22.04, в котором поставляется проверенный временем Gnome 42.9 с кучей бэкпортов и патчей от Canonical. По сравнению с Gnome, Plasma 5/6 обеспечивают более плавный и отзывчивый интерфейс, но есть нюанс. Стоит открыть что-нибудь на QtQuick/QML (например, график сетевой активности в стандартном плазмоиде NetworkManager, или современный системный монитор Plasma), как картинка начинает искажаться, и вся система может полностью заморозиться (тут как повезёт).
Считается, что разработчики Plasma не виноваты, в вопросах видеоускорения они следуют стандартам, в то время как авторы Nouveau ограничены в ресурсах не получают поддержки от компании Nvidia. Тем не менее, Plasma очень приятно работает с nouveau
при условии, что вы аккуратно избегаете некоторых приложений и виджетов, имеющих отношение к QtQuick и QML. Например, вместо plasma-systemmonitor
можно использовать ksysguard
, и тогда шанс получить вместо десктопа обложку в стиле Pink Floyd сведен к минимуму. Либо, можно запускать проблемное приложение явно через программный рендеринг.
К каким же выводам я пришёл:
- анимации и скорость отрисовки в Gnome немного медленнее, чем в Plasma. Тут могут быть нюансы в зависимости от того, используете ли вы X11 или Wayland, но общий вывод такой. Plasma отлично оптимизирована для старого железа, но может глючить. Gnome не глючит, но равномерно подтормаживает. В общем, хрен редьки не слаще.
- из всех дистрибутивов, предлагающих по умолчанию Gnome, наименее глючный — Ubuntu 22.04. Если вы не хотите заморачиваться как я, не связаны привычками/предпочтениями и просто хотите что-то по-быстрому поставить — берите Ubuntu LTS. Если нужна Ubuntu, но лёгкие подлагивания Gnome Shell раздражают, то рекомендую Xubuntu.
- выбирая альтернативный рабочий стол, имейте в виду, что всякие дополнительные плюшки, такие как управление подсветкой клавиатуры, корректное восстановление Wi-Fi после выхода из спящего режима и т.п. могут не работать «сразу» в тайлинговых WM и ретро-оболочках вроде IceWM. Возможно, потребуется почитать про ACPI, руками сделать нужные скрипты и назначить их клавишам на клавиатуре. Лучше других тут выглядит Xfce: Xubuntu и openSUSE+Xfce у меня работали просто идеально. А вот Cinnamon в Linux Mint как раз тормозил и ощущался перегруженным и плохо оптимизированным. Мне не зашло, в общем.
Я же пока остановил свой выбор на openSUSE Tumbleweed c Plasma 5. Он быстр, удобен, и я к нему привык, т.к. сижу на этой редакции на основном ПК. На самом деле, я использую не чистый Tumbleweed, а Slowroll — идеальный баланс между стабильностью и свежестью пакетов. Описанная выше проблема с рендерингом в Nouveau меня, конечно, раздражает, и я ещё попробую что-то с этим сделать, но пока пусть будет так.
При включении моего макбука у меня сейчас доступны аж три загрузчика: Open Core (две версии macOS и rEFInd), затем сам rEFInd (он автоматически распознаёт все носители, ОС и загрузочные разделы) и, наконец, Grub2-efi. Я могу отказаться от Grub совсем и загружать openSUSE непосредственно из rEFInd, но тогда не получится настраивать загрузку из Yast. Короче, такая цепочка мне представляется сейчас скорее гибкой, чем избыточной.
На этом пора заканчивать, т.к. рассказ и так уже до неприличия затянулся. До скорого!