RedpaX

RedpaX

всякое
Пикабушник
Дата рождения: 7 июня
в топе авторов на 651 месте
26К рейтинг 177 подписчиков 11 подписок 7 постов 3 в горячем
Награды:
Пикабу 17 лет!10 лет на Пикабу
2

Как я перенёс Mac-версию Baldur's Gate 3 на iPhone и что сломалось по дороге⁠⁠

Коротко: это настоящая Mac-версия Baldur's Gate 3, которая работает прямо на iPhone 17 Pro Max. Не облачный гейминг и не эмулятор: игра идёт на самом телефоне, ровные 30 кадров в секунду. Приложение, которое это делает, называется BG3iOS. Оно бесплатное, код открыт. Игру оно скачивает из Steam с вашей учётной записи, так что играть можно, только если BG3 у вас куплена. Нужен iPhone с 12 ГБ оперативной памяти: 17 Pro и 17 Pro Max, скорее всего iPhone Air и новый складной iPhone Duo.

Почему это вообще возможно

Новые Mac и iPhone 17 Pro построены на очень похожих чипах Apple: одна архитектура процессора и одна графическая система (Metal). Mac-версия BG3 давно собрана под эти чипы, так что код игры подходит телефону как есть, переводить его не нужно. Не хватает только самой macOS: окон, мыши, звуковой системы и ещё десятков мелочей.

Идея такая же, как у LiveContainer, программы, которая запускает одни iOS-приложения внутри другого:

— исполняемый файл игры переделывается из программы для macOS в библиотеку для iOS, приложение загружает её и запускает;

— всё, чего в iOS нет, подменяется заглушками, которые изображают macOS;

— всё это подписывается вашим сертификатом прямо на телефоне.

Игра обращается к 1077 функциям системы. 72 из них в iOS нет: 37 из AppKit (окна и интерфейс Mac), 27 из CoreGraphics и ещё по мелочи. Звучит посильно. А дальше начались настоящие проблемы.

Что ломалось, по порядку

1. Графика. iOS отказалась загружать шейдеры игры (маленькие программы, которые рисуют всё на экране): «формат библиотеки не поддерживается на этой платформе». Я уже готовился пересобрать около 31 000 шейдеров. Оказалось, всё дело в одном бите в заголовке файла, который говорит «это для Mac». Сбросил его, и iOS спокойно приняла все три библиотеки.

2. Окна Mac. Их в iOS нет вообще. А BG3 не просто вызывает AppKit, она строит на нём свои классы: своё приложение, своё окно, свои кнопки. Пришлось написать свой маленький AppKit поверх интерфейса iPhone: окно Mac на самом деле рисует на экране телефона, касания превращаются в движения и щелчки мыши, есть даже разбор файла интерфейса игры, чтобы она нашла, с чего начинать.

3. Подпись. iOS загружает в приложение только библиотеки, подписанные тем же сертификатом, что и само приложение. А сертификат у каждого пользователя свой, его выдаёт Apple на ваш Apple ID. Поэтому в приложение встроена своя программа подписи, написанная с нуля. Она подписывает 480 МБ файлов игры прямо на телефоне примерно за полторы секунды.

4. Видеокарта. Metal на телефоне — не совсем Metal на Mac. Часть памяти видеокарты устроена иначе, а некоторые функции из macOS в iOS есть, но нарочно роняют программу. Пришлось переводить всё это на лету.

5. Память. Игра молча исчезала в главном меню: без ошибки, без отчёта о сбое. Это iOS убивает приложения, которым не хватает памяти. Особое разрешение поднимает потолок для одного приложения до 6 ГБ, а игровой режим — примерно до 8 ГБ на телефоне с 12 ГБ. Игре в городе третьего акта нужно до 7,5 ГБ. Поэтому и нужен iPhone с 12 ГБ: на моделях с 8 ГБ (15 Pro, вся линейка 16, обычный 17) iOS одной программе столько не даст.

6. Звук съедал целое ядро процессора. Настоящая звуковая система Mac тянула за собой модуль Bluetooth, который в iOS бесконечно крутился вхолостую. Теперь игра получает свою простую «звуковую карту» на 48 кГц, а звук уходит в динамики штатным способом iOS.

7. Игра работала на медленных ядрах. Движок сам расставляет приоритеты своим потокам, и в iOS это выкидывает их из обычного распределения: загрузчики, логика игры и главный поток сидели на экономичных ядрах. Помогло переназначить потоки так, как ждёт iOS.

8. Пропадали сохранения. Они загружались, но не показывались в списке, а «Загрузить игру» была серой. Оказалось, что на iPhone одна и та же папка имеет два имени, /var и /private/var, а движок считает пути по количеству папок и путался. Одна маленькая правка — и сохранения появились.

9. Персонажи в Т-позе и без текстур. Экран загрузки ждёт подгрузки мира максимум 20 секунд, это зашито в игру. На компьютере этого с запасом хватает, на телефоне — нет, и иногда ты входил в сцену, полную людей в Т-позе. Теперь ждёт до 60 секунд.

10. Подтормаживания. Самая сложная задача. Когда забегаешь в новую область, игре вдруг нужно в два-три раза больше процессора, и ровно в этот момент iOS сбрасывает частоты: видеокарта уже съела почти весь бюджет энергии. Кадры застревали на 50–150 мс. Помогло ограничение в 30 кадров встроенным ограничителем самой игры: остаётся запас, и почти каждый кадр держится на экране ровно 33 мс.

11. Управление. Я сделал свой экранный геймпад: кнопки живут в чёрных полосах по бокам экрана и не закрывают картинку, а стики появляются там, где коснулся пальцем. Для игры это обычный геймпад. DualSense, DualShock 4 и Xbox тоже работают, сразу со своими значками кнопок. Для ввода текста, например входа в аккаунт Larian, есть кнопка клавиатуры: буквы уходят в игру как нажатия клавиш Mac.

12. Скачать 156 ГБ на телефон. Клиент Steam взят из проекта Playport, который запускает на iPhone Windows-игры, за что им огромное спасибо. Некоторые серверы Steam часами отвечали ошибкой на куски игры, поэтому недостающие куски докачиваются с других серверов. Сохранения синхронизируются через Steam Cloud, так что можно продолжить на компьютере.

13. Сломалась даже установка. В октябре AltStore, через который ставится приложение, перестал входить в Apple ID с ошибкой 503. Причина нашлась: сервер Apple отвергает старую «подпись» программы, которую AltStore ему отправлял. Исправленный AltStore лежит в каждом выпуске.

Что в итоге получилось

— Скачивание игры из Steam с вашей учётной записи, 156 ГБ, с докачкой после обрыва.

— 15 языков текста в игре, включая русский. Озвучка английская, как во всех версиях.

— Графика, настроенная под телефон, и ровные 30 кадров. Ограничение можно поднять в настройках игры, вплоть до 120 Гц.

— Экранный геймпад или настоящий контроллер.

— Сохранения в Steam Cloud.

— Счётчик кадров: подержите три пальца на экране.

— В последней версии — поддержка складного iPhone Duo: игра во весь внутренний экран, кнопки поверх картинки. Сделано и проверено только в симуляторе, на живом Duo ещё никто не пробовал.

Что нужно и чего пока нет

— iPhone с 12 ГБ памяти и iOS 26 или новее. Проверено на 17 Pro Max; 17 Pro, iPhone Air и Duo должны подойти, но пока никто не проверял.

— Около 165 ГБ свободного места.

— Аккаунт Steam, на котором куплена Baldur's Gate 3. Mac-версия входит в покупку в Steam. Файлов игры в приложении нет.

— Компьютер, Mac или Windows, для установки через AltStore. Честно: установка непростая, потому что Apple не пускает такие приложения в App Store. С бесплатным Apple ID приложение нужно продлевать раз в 7 дней.

— Долгие сессии греют телефон, самое тяжёлое место — город в третьем акте.

— Пока нельзя обновить игру после нового патча в Steam. Мультиплеер не проверялся.

Это вообще законно?

Приложение бесплатное, с открытым кодом (GPL-3.0), без рекламы, без своих серверов и без сбора данных. Игру вы скачиваете сами из Steam со своей учётной записи, поэтому играть можно, только если она у вас куплена. С Larian, Valve и Apple проект не связан. И да, в App Store встречаются поддельные «BG3 для iPhone» с платной подпиской — это не они.

В особо сложных моментах мне помогал Claude от Anthropic: он указан соавтором в коммитах.

Ссылки

— Код и инструкция на русском

— Скачать

— Видеоинструкция по установке (на английском)

Отвечу на вопросы в комментариях. Если у вас iPhone 17/18 Pro, Air или Duo — напишите, как работает.

Показать полностью 4
127

Ответ на пост «DIY: собрал карманный Linux-компьютер на российском одноплатнике и подарил другу-врачу»⁠⁠2

А я как-то лежал в больнице с тяжёлым переломом скулоглазничного комплекса и хотел посмотреть свои снимки на телефоне. Понял, что хороших программ для этого нет, и разработал абсолютно бесплатную программу для врачей и пациентов, которая позволяет смотреть снимки КТ. МРТ, составлять 3D-проекции, делать ОПТГ-развёртку челюсти, накладывать дооперационные и послеоперационные снимки друг на друга, проводить измерения, экспортировать файлы и вести каталоги пациентов.

Моё приложение сейчас занимает первое место в App Store в России, Казахстане, Германии и Франции, третье — в США, шестое — в Китае.

Предложите его своему врачу — возможно, ему тоже будет полезно. Я вкладываю очень много сил и времени в это приложение, чтобы пациентам и врачам было удобно. https://lumadicom.app/

246

Руссифицировал трейлер Cyberpunk 2077: Phantom Liberty Trailer (русский дубляж) Russian voices голосами оригинальных актеров⁠⁠

Потратил 10 часов и время фермы в 40GPU для создания русской озвучки трейлера к дополнению Phantom Liberty. Треллер вышел на английском языке озвученный реальным актерами такими как Идрисс Эльба (других я тупо не знаю). Собственно голоса в русской версии именно оригинальных актеров всех тех, что были в трейлере, которые само собой по русски ни разу в реальной жизни не говорили. Для того, что бы заставить говорить Идриса на русском хватило его монологов из трейлера, остальные голоса тоже брались из ролика. Особенно крутым фактом считаю, что образцов голоса презинента всего 6 секунд из всего ролика и даже этого хватило для обучения нейросети. Так же нейросеть не тупо озвучивает субтитры в отрыве от контекста, до этого ей был скормлен весь контекст ролика со всеми диалогами именно по этому она понимает где какие интонации нужно применить и где какие эмоции, то есть кто с кем общается и как это нужно произнести. Собственно предлагаю ознакомиться с результатом:

134

Cyberpunk 2077 - Русская озвучка для DLC Phantom liberty синтезированными голосами (Ви, Адам Смешер, Джони Сильверхенд)⁠⁠1

У меня есть желание, финансовые ресурсы, мощности GPU фермы, а так же некоторые способности, что бы озвучить DLC Сyberpunk 2077 Phantom liberty полностью на русском языке синтезированными голосами которые вы с трудом отличите от реальных голосов актеров озвучки. Для этого мне потребуются семплы голосов из оригинальной игры, умельцы которые помогут их взлечь уже нашлись.

Суть моей затеи следующая:

1) Набираю по 20 минут голосов всех персонажей игры,

2) Обучаю нейросеть голосам и создаю все голоса персонажей игры ну или большую часть ключевых (просто неписей я думаю можно озвучить 1 голосом)

3) Выгружаю все субтитры из DLC

4) Пишу скрипт который будет по API загружать тексты в мою нейросеть для озвучивания

4) Создаю все звуковые файлы с голосами персонажей для текстовых файлов субтитров. (самое трудозатратное и по деньгам и по времени)

5) Пишу скрипт который все голоса упакует в игру обратно

6) Получаю игру с русской озвучкой

Я не уверен, что всю получится, на каждом этапе можно споткнуться (навыки программирования у меня достаточно слабые) а ведь ещё есть такое понятие как липсинк. Ну вообщем идея такая. Демонстрация возможностей синтеза голосов можете увить на видео ниже. В этом же видео будут приведены в пример куски оригинальных голосов с которых нейросеть обучалась. Очевидно, что чем больше будет голосовых данных с разными эмоциями тем точнее и интереснее можно будет делать озвучку. В идеале 20 минут голоса на каждого персонажа.

Нужна ли синтетическая озвучка голосами привычных нам персонажей в Сyberpunk 2077 Phantom liberty, на русском языке?
Всего голосов:

Обсуждение проекта русификации происходит на на этом дискорд сервере:

https://discord.com/channels/1145981722081636402/11572229720...

Показать полностью 1
109

Машина может создать искусство? Творения MidJourney⁠⁠

Второй пост про нейросеть midjourney. На этот раз я делал не обои для смартфонов, а попросил "машину"  сотворить искусство близкое к человеческому но в тоже время отличающиеся от того, что может быть в нашем мире. В данных творениях я играл с такими материалами, как: силикон, латекс, шёлк, симуляция дыма, симуляция жидкостей, золото, гипс, масляные краски, много воды. В качестве моделей были выбраны женщины спортивного телосложения и  несколько работ с гибридами женщины (вес значения 90%) и ксеноморфа (вес значения10%) [угадайте кстати какие]. И использовал смесь стилей таких художников как Luis Royo, Nick knight ,Piotr jabłoński, Emil melmoth, Zdzislaw belsinki, Craig Mullins, Yoji shinkawa. Но стоит признать получившийся результат не похож не на один из стилей этих художников, это, что то новое. На создание этих картинок потрачено около 108 часов человеческого времени. Картинки пришлось сильно сжать, пикабу ограничивает разрешение. С одной стороны рисунки жуткие, пугающие,  но в тоже время притягательно красивые.

[как всегда пикабу запорот пост, и не дал выложить и половину картинок из-за ограничений].

Показать полностью 25
3757

Обои из нейросети для смартфонов с соотношением сторон 9:21⁠⁠

Наделал обоев в соотношении 9:21 для iphone в нейросети Midjourney из разных благородных камней (мрамор, жемчуг и сапфир, уголь)),  и металлов, а так же силикона. К сожалению не смог выложить и половины, так как пикабу не дает выложить более 30 000 пикселей по высоте.

Показать полностью 18
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества