Repository navigation
Сборка dArkOS для AISLPC RG52 Mini (Rockchip RK3562): Debian Trixie, EmulationStation-fcamod, RetroArch и три десятка отдельных эмуляторов.
Это форк bmdhacks/dArkOS_rg52mini, а тот, в свою очередь, форк christianhaitian/dArkOS.
Как обновить с 1.1
Это первое обновление по сети. Новая версия ставится без перезаписи карты.
- Подключите Wi-Fi и откройте Options → Update → Check for updates. Пакет весит 46 МиБ.
- Подтвердите установку. Она занимает меньше минуты, после неё устройство перезагрузится.
Без сети: скачайте dArkOS_rg52mini_ota_1.1_20261014145009-to-1.2_20261018052939.tar из этого релиза и положите в папку update раздела с играми. На общей карте с GammaOS это ROMs/update во внутренней памяти Android. Options → Update предложит пакет с карты раньше, чем пойдёт в сеть.
Что важно знать:
- Ваши данные. Ваши изменения в настройках, пакеты, поставленные через
apt, и включённый Quick Mode обновление сохраняет. Если вы правили файл, который меняет обновление, ваш вариант остаётся, а новый ложится рядом как<имя>.ota-new. - Откат. Перед установкой система делает снимок раздела. Вернуться на 1.1 можно из того же меню: Roll back to dArkOS 1.1.
- SSH. После обновления карта создаст свои ключи SSH (см. «Безопасность»), и ssh-клиенты один раз предупредят, что ключ сервера сменился.
- Общая карта с GammaOS. Разделы GammaOS и загрузчик обновление не трогает. Это проверено побайтно на карте dual-boot 1.1.
Как записать начисто
- Скачайте все три тома архива и распакуйте первый.
- Получившийся
dArkOS_rg52mini_1.2.imgзапишите на карту любой программой вроде Rufus, balenaEtcher илиdd. Образ занимает 12 ГиБ, поэтому нужна карта от 16 ГБ. - Один раз установите PortMaster: Tools → Install.PortMaster, нужен Wi-Fi. Без него порты не запускаются.
sha256 образа: cf1bee1de4d2a4a93892b3f0942639172a486e998463bf7cf19b6acd12e63d7d. Суммы томов и пакета обновления лежат в SHA256SUMS.
Что нового по сравнению с 1.1
Что не работало в 1.1 и теперь работает:
- Игры в zip в RetroArch. Game Boy, GBA, NES, Game Gear, Neo Geo Pocket, SG-1000 и другие сразу возвращались в ES. Виноват был наш перенос исправления безопасности из апстрима: проверка ошибочно отвергала каждый сжатый файл архива. Теперь проверка такая же, как в апстриме.
- Dreamcast, Naomi и Atomiswave. Ядро flycast для RetroArch собрано под другой процессор (Cortex-A55 вместо A53 этой консоли) и падало через несколько секунд игры. Теперь у всех трёх систем по умолчанию отдельный flycast на Vulkan, он единственный держит 59–60 кадров в Crazy Taxi и Knights of Valour. Выбор эмулятора в ES по-прежнему работает.
- Ядра, собранные под чужой процессор. mupen64plus_next (N64), flycast, puzzlescript и same_cdi (CD-i), а также GameTank теперь собраны под Cortex-A53.
- retrorun. Он никогда не работал на RG52 Mini: не находил геймпад. Теперь работает, и картинка повёрнута правильно. 32-битному retrorun не хватало библиотеки libcurl.
- PC-98 (np2kai). Ядро не загружалось.
- Apple II (linapple). Не запускался: библиотека SDL_image в образе была ссылкой на саму себя.
- ECWolf (Wolfenstein 3D) снова собирается. Меню открывается кнопкой Select.
- Bluetooth на ревизии B. Служба включения Bluetooth при загрузке не дожидалась контроллера и завершалась с ошибкой.
Новое:
- Общая карта с GammaOS. ES видит игры в папках, названных по-ES-DE:
tg16,megacd,fbneo,pico8и ещё два десятка. Если игры есть и в папке dArkOS, и в папке GammaOS для той же машины, система показывается группой из двух папок. Иначе всё выглядит как раньше. - Приоритет эмуляторов. Эмуляторы теперь действительно запускаются с приоритетом nice -19. Раньше система молча оставляла 0.
- Синтезатор MIDI. Служба fluidsynth больше не висит в фоне. Она занимала 7–13 % ядра без звука, и ничего в образе ей не пользовалось.
Безопасность:
- Ключи SSH. Каждая карта создаёт свои ключи SSH при первой загрузке. Раньше у всех карт из одного образа были одни и те же ключи, а их закрытые части лежали в опубликованном образе.
- Библиотеки Mali.
aptиldconfigбольше не могут подменить библиотеки GL и Vulkan от Mali файлами Mesa и Debian при обновлении пакетов.
Как проверено
- Обновление 1.1 → 1.2 по сети проверено на общей карте с GammaOS. Разделы GammaOS, загрузчик и таблица разделов побайтно не изменились. Система после обновления совпала со свежим образом 1.2 файл за файлом, кроме того, что относится к самому устройству.
- Эмуляторы. На консоли запущено 44 игры в 42 системах через команды ES с эмуляторами по умолчанию. Каждая показала картинку, вылетов нет. Среди них PS2, Gamecube, PSP, Dreamcast, Atomiswave, N64, NDS, PSX, Sega CD, PC Engine CD, Apple II, ScummVM и порт Mina the Hollower на Vulkan.
Что не работает
Вывод на HDMI. Подключение кабеля ничего не меняет. Разбор и план лежат в docs/KNOWN-ISSUES.md и docs/TODO.md.
Vulkan у 32-битных программ. 32-битный драйвер Mali от Rockchip не поддерживает Vulkan, поэтому у retroarch32 и других 32-битных программ Vulkan нет. 64-битный RetroArch с Vulkan работает.
MIDI-музыка в ScummVM. В играх с MIDI (например, Day of the Tentacle) ScummVM при запуске пишет, что устройство «fluidsynth» не найдено. После OK игра идёт с запасным устройством. Так было и в 1.1.
Подробности
Рабочие записи по порту лежат в docs/, на английском. Там прямо сказано, что измерено на устройстве, а что является выводом. Как устроено обновление по сети, описано в docs/OTA.md.