Skip to content

v1.6 — режим Overclock, сон с HDMI, апстрим GammaOS 1.4.4

Choose a tag to compare

@mamaich mamaich released this 04 Oct 11:11
· 426 commits to develop since this release

GammaOS Next (LineageOS 21 / Android 14) для карманной консоли AISLPC RG52 Mini на Rockchip RK3562. Здесь перечислено то, что изменилось после v1.5.

Образ GammaOSCore-RG52Mini-20261004-1232.img.zip, 1,99 ГиБ (2 132 616 254 байт)
sha256 архива 4ca14bb825e2d3ea402edb08f767c76c6cfb857e254c2f1977babbff8d07541e
sha256 образа 9d662ba9318232bdaabfb22019d4a99eeae70261b41b499296da924e369dc6c0
Пакет обновления GammaOSCore-RG52Mini-20261004-1232-ota.zip — для тех, кто уже на v1.3–v1.5
Основа GammaOS Next Core (вариант на базе Android TV), Android 14; изменения апстрима GammaOS Next до 1.4.4
Ядро Linux 5.10.226, mamaich/kernel_rk3562_rg52mini
Загрузчик mamaich/u-boot-rk3562-rg52mini, BL31 с таблицей частот для режима Overclock
Раздел vendor от Android 13 (SyachOS), с вырезанным лишним и подменённым драйвером графики

Перед обновлением по воздуху

Пока идёт обновление, не перезагружайте устройство, даже если экран чёрный. Обновление в это время продолжается, а в конце устройство перезагрузится само. Перезагрузка посреди записи оставит карту незагружаемой.

  • После строки Checking… экран на 10–15 секунд гаснет: система передаёт его программе обновления. Потом появляются полоса и проценты.
  • Пакет полный, из четырёх разделов: система, vendor, загрузочный раздел и загрузчик. В этот раз переписывается и загрузчик — в нём таблица частот для режима Overclock. На быстрой карте запись занимает около 6 минут, на медленной — до получаса.
  • Если запись всё же прервётся (например, сядет батарея) и карта перестанет загружаться, её можно восстановить так же, как при первой установке: записать образ выпуска на компьютере через кардридер.
  • Пакет проверен на устройстве: после записи все четыре раздела побайтно совпали с пакетом, система загрузилась.

Что нового

Интерфейс больше не остаётся мелким после HDMI

С Mirror resize или External as primary встроенный экран на время подключения HDMI получает размер телевизора. Если кабель вынимали при выключенном или спящем устройстве, этот размер оставался и после перезагрузки — весь интерфейс становился мелким, как при 1920×1080. Теперь, если при загрузке внешнего дисплея нет, размер возвращается сам. Если размер уже залип в v1.5, достаточно один раз подключить и отключить HDMI. Размер, выставленный вручную (wm size), не трогается.

Сон и пробуждение с подключённым телевизором

Раньше с подключённым HDMI кнопка питания по-настоящему устройство не усыпляла: подсветка стиков продолжала гореть. А после пробуждения картинка оставалась на встроенном экране, телевизор был чёрный, и звука не было нигде, пока не вынуть кабель. Теперь устройство засыпает полностью, а после пробуждения картинка возвращается на телевизор вместе со звуком; иногда перед этим она пару секунд видна на встроенном экране. Работает и когда кабель вставлен до загрузки, и когда после. Подробности — в 05-hdmi.md.

Чёрный экран после логотипа на платах ревизии A

На платах ранней ревизии (Wi-Fi RK915) экран после логотипа загрузчика оставался чёрным при горящей подсветке, пока не нажать дважды кнопку питания. Причина нашлась и воспроизводится на любой ревизии: у панели урезана последовательность выключения — её обесточивали, не дав уйти в сон, и при быстром повторном включении она не оживала. Теперь выключение как в стоковой прошивке, а ядро вдобавок не даёт включить панель раньше чем через полсекунды после выключения.

Что именно гасит панель при загрузке на ревизии A, без такой платы на руках доказать не удалось, поэтому на ревизии A есть и страховка: в конце загрузки экран сам гаснет на полторы секунды и включается снова — то, что раньше приходилось делать двойным нажатием вслепую. Загрузочная анимация на такой плате может по-прежнему остаться тёмной, но дальше картинка появится сама. На ревизии B ничего не меняется. Если у вас плата ревизии A, напишите, как она теперь загружается. Подробности — в 02-план.md, «Чёрный экран после логотипа на ревизии A».

Settings в меню кнопки питания — панель TvSettings

Пункт Settings в меню по долгому нажатию на кнопку питания теперь открывает настройки Android TV — панель справа поверх текущего экрана — вместо полноэкранных настроек. Игра под панелью остаётся видимой и не теряет графику, а при нехватке памяти система не выгрузит её первой, как раньше, когда за полноэкранными настройками она становилась «предыдущим приложением». Панель легче и открывается быстрее, ею удобно управлять крестовиной. GammaOS Toolbox есть и там.

Режим Overclock и настоящая частота в меню питания

  • Новый режим производительности Overclock — процессор 2208 МГц, графика 1000 МГц, память на верхней ступени. Ступени разгона — в дереве устройства и в BL31 загрузчика, который входит в этот выпуск. Троттлинг в Overclock начинается позже — чип работает на полных частотах почти до 93 °C, а не до 75 (аварийное выключение при 115 °C на месте). Пакет обновления на этот раз переписывает и загрузчик на карте. Если запись прервётся (например, сядет батарея), карту можно восстановить так же, как при первой установке: записать образ выпуска на ПК через кардридер. Тепловая защита работает и в нём, поэтому без радиатора разгон быстро упирается в троттлинг — для этого режима стоит наклеить радиатор, см. совет на 4PDA. Через перезагрузку Overclock не сохраняется — после загрузки включается Max Performance: если на вашем экземпляре чипа разгон окажется нестабильным, устройство не будет падать на каждой загрузке.
  • Max Performance — штатные частоты оригинальной прошивки, рекомендованные вендором (процессор 2016 МГц, графика 900 МГц), без разгона; память теперь стоит на верхней ступени всё время, пока режим выбран.
  • 2016 МГц — по-настоящему на чипах бина L3 (самые частые): напряжение этой ступени 1,125 В вместо 1,100, и процессор при метке 2016 МГц работает на ~2007 МГц вместо ~1950. Ступень общая: Max Performance стоит на ней постоянно, Normal выходит на неё под нагрузкой, поэтому там под нагрузкой процессор потребляет около 7 % больше; в простое разницы нет.
  • Меню кнопки питания показывает настоящую частоту процессора и графики из аппаратных счётчиков чипа, а не запрошенную: на штатном напряжении при «2016 МГц» процессор на деле работал на 1910–1960 МГц в зависимости от температуры. Простаивающая графика показывается как idle, колонки строки больше не прыгают.
  • Режимы в меню выбора идут по росту производительности: Power Saver, Normal, 3D Games, Max Performance, Overclock. Плитка в панели управления nano перебирает их в том же порядке (кроме Overclock — его выбирают в меню).
  • В оболочке nano стало можно выбрать режим 3D Games — пункт был в списке, но не применялся.

Быстрее, прохладнее, свободнее память

Подробно, с замерами и тем, что можно подкрутить самому, — 08-производительность.md. Главное:

  • тепловая защита больше не выключается, пока вы жмёте кнопки — HAL питания из vendor на каждое нажатие (и даже на дрожание стика) отключал её; теперь ядро следит за температурой и в игре;
  • меньше фоновой работы процессора: служба из vendor раз в секунду опрашивала подсветку (5–6 % одного ядра), система раз в секунду стучалась к несуществующей камере, опрос геймпада стал вдвое дешевле — в простое вдвое меньше прерываний;
  • больше свободной памяти: без лишней трассировки ядра, пула выключенного zswap, отладочных файлов ядра и drmserver;
  • GL-игры и эмуляторы выводятся на экран напрямую: драйвер графики больше не отдаёт им 10-битный буфер, который экран не умеет показывать без лишней работы GPU;
  • загрузка на 4 секунды быстрее: готовая политика SELinux вместо компиляции на каждой загрузке и без секундной паузы в меню загрузчика.

Настройка EmuELEC прямо из GammaOS Toolbox

При включении GammaOS Toolbox → System → Allow reboot to eMMC («Разрешить перезагрузку в eMMC») Toolbox предлагает сразу подготовить EmuELEC/RGBox во внутренней памяти к работе рядом с картой GammaOS: общая папка ROMs, подсветка при загрузке, без вопросов первого запуска. Это тот же restore-emmc.sh из 06-emuelec-на-emmc.md, только без adb: по согласию он запускается сам и показывает свой журнал. Спрашивает при каждом включении, повторный запуск ничего не портит; пункт меню включается при любом ответе. Имейте в виду: настройка меняет систему во внутренней памяти, и заменой или извлечением карты она не отменяется — вернуть как было можно только перепрошивкой заводской прошивки (об этом предупреждает и сам вопрос). Переключатель теперь стоит после настроек zRAM и переведён на русский.

Режим HDMI и поворот экрана — и в настройках оболочки nano

Оболочка nano открывает настройки Android TV, а в их GammaOS Toolbox наших пунктов не было. Теперь там есть HDMI output mode (раздел External Display) и Keep the screen in landscape (раздел Display) — работают так же, как в обычном Toolbox.

Из апстрима GammaOS

Bluetooth выключен на чистой установке

На свежей установке Bluetooth теперь выключен, а шага Bluetooth в мастере первой настройки нет: кому нужно, включает его в Bluetooth & Accessories или в быстром меню. При обновлении сохраняется то, что было. И Bluetooth больше не включается сам после того, как его выключили: раньше его снова включали обновление списка устройств и поиск при открытии экрана, теперь — только явное сопряжение или подключение выбранного устройства.

Это правки автора GammaOS Next, перенесённые к нам; всё, что выше, — наше.

Режим мыши больше не застревает

Виртуальная мышь gammapad (L3+R3) больше не считается сменой конфигурации дисплея, из-за которой приложения могли перезапускать окна при включении и выключении режима. А если приложение закрылось или упало с включённой мышью, оболочка nano теперь сама выключает режим, как только снова оказывается на экране: раньше в ней ничего нельзя было выбрать до перезагрузки.

Оболочка nano, мастер настройки, сеть

  • мастер первой настройки сам переходит дальше через 10 секунд после распаковки и снова идёт на 60 кадрах в секунду;
  • оболочка nano возвращается в ту систему, из которой запускали игру; глобальный поиск больше не теряет игры недавно добавленных систем; папка обложек на карте и очистка обложек системы; значок молнии на батарее при зарядке; картриджи PICO-8 с картинками вместо обложек; вертикальные аркадные игры отдельной системой «Arcade (Vertical)»; переключатель Quick Resume (выключен);
  • выход из приложения с фоновой службой (например, загрузчика) больше его не убивает;
  • сетевые папки (GammaShares) надёжнее подключаются, пишут и сообщают об ошибках; в Syncthing работает веб-интерфейс и снова выбираются папки;
  • проверка обновлений в nano объясняет ошибку словами, а не выводом curl.

Эмулятор DS (drastic-nano) — большое обновление

В этот выпуск вошли все правки эмулятора DS из апстрима за конец сентября и начало октября:

  • 3D на графическом процессоре для режима высокого разрешения — с переключением на лету, сглаживанием, тенями и прозрачностью по правилам DS. На нашем Mali-G52 скорость отдельно не замерялась: если в какой-то игре станет хуже, его можно выключить в меню эмулятора;
  • звук с малой задержкой (AAudio) — и в динамике, и в наушниках; эквалайзер динамика не действует на наушники; без скрежета при выходе из игры;
  • микрофон DS работает, не обрывается и не искажается, громкость по умолчанию 0;
  • настройки для отдельной игры, в том числе свой режим производительности (понимает и наши 3D Games и Overclock; Overclock после перезагрузки посреди игры, как и везде, возвращается к Max Performance);
  • свои читы из файлов usrcheat.dat в папке читов DraStic;
  • отмена быстрого сохранения и загрузки, ограничение скорости перемотки (10–300 % или без ограничения), 38 шейдеров LCD и CRT, кнопка «закрыть крышку», страница настроек System как в DraStic, папка данных переносит сохранения и шейдеры, файлы Slot-2 в папке пользователя, верный месяц рождения DS, исправлен верхний экран Pokémon Ranger.

Оболочка nano и система

  • можно выбрать, с какого меню или системы оболочка открывается при загрузке;
  • игры можно скрыть из списков, не удаляя;
  • темы ES-DE совпадают с ES-DE по раскладке, картинкам, навигации и клавиатуре;
  • иконки DS прямо на плитках темы DSi (по желанию);
  • экран не гаснет, пока скачиваются обложки или обновление системы;
  • оболочка усыпляет устройство по тайм-ауту экрана Android, отсчитывая от момента, когда она снова на экране;
  • иконки приложений больше не чернеют после возврата из приложения, звуки меню не пропадают после подключения наушников;
  • Select + громкость меняет только яркость, а не заодно и громкость;
  • приложение, которое ждёт выбора файла, больше не выгружается из-за нехватки памяти; выбор файлов на малой памяти не замирает на полминуты;
  • служба MTP не падает, а о смене режима USB появляется уведомление;
  • версия GammaOS в «О системе» — 1.4.4: изменения апстрима до неё вошли в выпуск (кроме прошивальщика обновлений, см. ниже).

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

Подробности

Разбор решений, замеры и найденные подводные камни — в 02-план.md. Как собрать самому, включая образ карты — в 03-сборка.md.