LINUX.ORG.RU

Fedora 25, GNOME 3, Wayland, портирование игры Gish на Android OS

 , , , ,


1

2

Решил оценить готовность дистрибутива Fedora 25 Workstation для повседневного рабочего использования. А что может дать более объективную оценку, чем выполнение какой-нибудь интересной работы в этом окружении?

В качестве такой задачи я выбрал портирование компьютерной игры Gish на Android OS. Недавно я вспомнил про этот оригинальный 2D-платформер и захотел поиграть в него на своём Android-смартфоне. Игра была выпущена в далёком 2004 году, а после попала в самый первый сборник инди-игр Humble Indie Bundle, который собрал более одного миллиона долларов. В знак признательности поддержавшему их сообществу, разработчик игры Cryptic Sea объявил о том, что исходный код Gish'а будет открыт и выпущен под лицензией GNU GPL v2.0, на LOR'е даже писали об этом событии.

Скачав исходники игры, я открыл их в Qt Creator'е [Скриншот] и начал переносить платформер с библиотеки SDL на SDL2. Потом я импортировал проект в Android Studio и продолжил работу уже там. В целом на портирование я отводил по 2-3 часа каждый день после работы. Спустя месяц появилась первая релизная версия игры.

Итак, за один месяц использования GNOME 3 и Wayland я заметил следующие проблемы:

  1. Огромные декорации развёрнутых окон на низких разрешениях экрана выглядят настолько ужасно, что я решил установить расширение Pixel Saver, которое исправило эту проблему, правда, почему-то не во всех приложениях. Например, с GNOME Terminal это расширение не работает.
  2. В некоторых Qt-приложениях видны артефакты отрисовки (см. скрин Qt Creator'а выше, заголовки вкладок) из-за некачественной мимикрии. Работать это не мешает, но смотрится эстетически некрасиво.
  3. Иногда (очень редко) заметны странные мелькания в нижней части экрана. Возможно это какие-то баги в Intel'овских драйверах или Mesa3D, потому что в том же sddm и KDE Plasma 5 я тоже наблюдал такое.
  4. Иногда появлялись проблемы, связанные с различными анимациями окон, их закономерность я не смог выявить.

Теперь о хорошем. Интеграция Wayland и XWayland приложений в GNOME 3 практически бесшовная. В процессе использования я не выявил никаких проблем с отрисовкой, буфером обмена, переключением языка и снятием скриншотов. Ещё соглашусь с тем, что GNOME 3 в Wayland-сеансе работает плавнее и быстрее, чем в X.Org-сессии, видимо, сказывается полное отсутствие тиринга.

Таким образом можно подытожить следующее: Fedora 25 Workstation, несмотря на радикальную и быструю замену X.Org на Wayland, осталась вполне пригодным для работы дистрибутивом. Надеюсь, в Fedora 26 исправят отмеченные мной шероховатости, а софт, который сейчас использует XWayland, переведут на Wayland.

P.S. Если кому интересны результаты портирования Gish, дайте знать, выложу свои наработки в комментариях.

>>> Просмотр (1366x1536, 1837 Kb)

★★★★★

Проверено: JB ()

Ответ на: комментарий от saahriktu

Линуксойдов не один миллиард, не надо мне тут. И хватит шланговать. Ты прекрасно понял, о чем я.

batya ()
Ответ на: комментарий от batya

Вы говорили не про 1% от 1% от линуксоидов. Вы говорили про 1% от линуксоидов. А линуксоидов 1% от миллиардов. Что и соответствует моим рассчётам.

Да даже если и 10 человек. Пока им нужно - оно живо. Как и KOI8-R.

saahriktu ★★★★★ ()
Ответ на: комментарий от saahriktu

Шланг ты, короче, я понял. Понимаешь, о тебе складывается странное впечатление: с одной стороны ты делаешь много интересных вещей, вроде T-UI на ведре и слаки на 32-bit UEFI, а с другой стороны с тобой, спуфингом и еще некоторыми личностями просто невозможно разговаривать.

batya ()
Ответ на: комментарий от batya

Не всем актуально гнаться за самыми модными и популярными вещами. Всем удобно разное. Как не всем удобно читать с мониторов и смартфонов, точно также не всем нужны разного рода тяжёлые DE и прочее.

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

saahriktu ★★★★★ ()
Ответ на: комментарий от saahriktu

Слушай, я еще помню вой по поводу выпила XFree86. Как xorg ругали за ненужность и сверхсовременность. Такие люди-консерваторы, безусловно, будут, но ящетаю, что их потребности никто, кроме них самих выполнять не будет. Xorg исчезнет, как и xfree, прогресс не остановить.

batya ()
Ответ на: комментарий от batya

ЕМНИМС, Xorg пилят теже самые люди, что и пилили XFree86. И они вряд ли так просто остановятся. В крайнем случае можно заморозить развитие функционала, и только подпиливать драйвера. Но, даже если они и остановятся, то на поддерживаемом железе можно будет гонять иксы ещё долгие годы.

saahriktu ★★★★★ ()
Ответ на: комментарий от saahriktu

Да, вяленд тоже эти же люди пилят.

то на поддерживаемом железе можно будет гонять иксы ещё долгие годы

Но зачем, если есть менее тормозной вайланд?

batya ()

Хвали CSD и дальше.

Вот здесь заголовок с CSD выглядит норм, мне нравится, удобно: http://esxi.z-lab.me:666/~exl_lab/screens/G3_Title_Good.png

А здесь смотрится ужасно: http://esxi.z-lab.me:666/~exl_lab/screens/G3_Title_Fail.png

нужно export QT_QPA_PLATFORM=wayland ... Так что в этом плане ещё пилить и пилить.

Ещё нужно было поставить пакет qt5-qtwayland. Да, соглашусь с тобой, Qt Creator на Wayland выглядит сыро + в диалоговых Qt-окошках есть графические артефакты. И курсор почему-то увеличивается при наведении на окно. Я думал Mutter свои декорации окна подставит, а не из Qt'а.

С контекстными менюшками у меня другая проблема: они немного тормозят и не имеют рамок, просто белый квадрат. Возможно, какие-то гличи с темой.

Интересно, что насчёт SDL2-приложений. Работают они под Wayland или нет. Сейчас буду разбираться.

EXL ★★★★★ ()
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от dtrace

Установил LMMS, потыкал минут 10, ничего подобного пока не заметил. Выглядит только немного инородненько. Кстати, спасибо за интересную программу, я искал подобную, нужна была для работы с некоторыми MIDI-файлами.

EXL ★★★★★ ()

Qt Creator'е

стесняюсь спросить - почему не в гном билдере?

eR ★★★★★ ()
Ответ на: комментарий от batya

Затем, что не всем нужен Wayland. При этом может быть лень отказываться от привычного WM'а для иксов. Например, FVWM'а или MCWM'а:

From: "Anonymous Remailer (austria)" <mixmaster AT THE DOMAIN remailer.privacy.at>
To: mc AT THE DOMAIN hack.org
Subject: I have sad, tragic news, mister widerkrantz

Dear Sir,

with wayland, running mcwm will not be possible anymore.
We have to give up our litte window managers and switch
to GNOME or KDE. Sad as it is, that is called progress, I guess.

Good-bye, I'm going to kill myself once that comes true

Anonymous
http://www.hack.org/mc/blog/wayland-window-managers.html

saahriktu ★★★★★ ()
Последнее исправление: saahriktu (всего исправлений: 1)
Ответ на: комментарий от saahriktu

Ну MCWM будет не сложно и переписать, имхо.

Тут бы еще кто убился бы из за TinyWM.

nihirash ★★★ ()
Ответ на: комментарий от EXL

Установил LMMS, потыкал минут 10, ничего подобного пока не заметил.

Ладно, спасибо. Может в новых версиях починят.

Кстати, спасибо за интересную программу, я искал подобную, нужна была для работы с некоторыми MIDI-файлами.

Забавное совпадение :)

P.S.

Если кому интересны результаты портирования Gish, дайте знать, выложу свои наработки в комментариях.

Конечно интересно!

dtrace ()
Ответ на: комментарий от batya

потому что черный фон сливается с рамками самого дисплея (на маках неплохой черный цвет) и смотрится достаточно круто, как будто окна плавают сразу посреди сплошного пластика

actionless ★★★★★ ()
Ответ на: комментарий от saahriktu

Чем XEmacs хорош в сравнении с GNU Emacs, особенно сейчас? Недавно заходил на его сайт, а там последняя стабильная версия — от 2009 года.

spijet ★★★ ()
Ответ на: комментарий от spijet

Ламповым олдскулом. Так то стабильная версия, а последняя бета версия на официальном сайте 21.5.34 от июня 2013-го года.

saahriktu ★★★★★ ()

подскажите пжл, что за шрифты используются в интерфейсе и в креаторе и как настраивали сглаживание?

klasik ()
Ответ на: комментарий от saahriktu

точно, а я раньше думал что xemacs это версия emacs для иксов, спасибо!

x4DA ★★★★★ ()
Ответ на: комментарий от spijet

xemacs давно сдох, даже sxemacs еле шевелится

x4DA ★★★★★ ()
Ответ на: комментарий от saahriktu

привычный wm

Про 1% от 1% я уже говорил.

Затем, что не всем нужен Wayland

А почему бы не сменить иксы на него, если он тормозит меньше? Ответь на этот вопрос. Зачем жить вчерашним днем? Прошлое все равно не вернуть. Причем понять людей, делающих на кде 5 закос под хрюндель можно. А понять людей, меняющих кде 5 на кде 3 и настраювающих уже их под хрюндель нельзя.

batya ()
Ответ на: комментарий от saahriktu

Ну, 2013 не сильно лучше. А что там крутого олдскульного, чего за это время не успели утянуть в ГНУтый? Асинхронщина и многопоточность есть?

spijet ★★★ ()
Ответ на: комментарий от batya

Всем людям просто удобно разное. И если сотне людей удобны KOI8-R и FVWM с иксами, то зачем им от них отказываться?

С такими же аргументами и левшей переучивают правыми руками писать. Мол, зачем писать левыми руками, если сегодняшний день - писать правыми?

saahriktu ★★★★★ ()
Ответ на: комментарий от saahriktu

Нет, правая рука у них изначально хуже. А вяленый изначально лучше иксов. Это как смена уборщика в дому — если один работает лучше и платы требует меньше, то зачем брать другого?

batya ()
Ответ на: комментарий от olibjerd

Под Wayland это расширение всё-таки не работает с Gnome Terminal

olibjerd ★★★★★ ()

Ох уж эти гномовцы. Наляпают на гнум всякое, как на манекен тряпок...уже давно пора понять, что гномовское окружение для идио....

Odalist ★★★★★ ()
Ответ на: комментарий от spijet

«Олдскульность» в данном случае как раз и читается таким образом, что ряд людей находят его менее монструозным по сравнению с GNU Emacs'ом, который за новые версии разжирел за счёт того, чего нет в xemacs'е.

saahriktu ★★★★★ ()
Ответ на: комментарий от batya

Всем удобно разное. Юзер может быть удобнее когда у любой софтины есть доступ ко всему экрану, когда каждая софтина без костылей может рисовать в своём окне примитивами X11,... и т.д. Собственно, с этого и начался спор: «софт, который сейчас использует XWayland, переведут на Wayland». Т.е. людей напрягает, когда софтина с примитивами X11 вызывает XWayland. А портануть её на Wayland нельзя потому, что в Wayland'е нет примитивов X11. Так что, архитектура Wayland'а напрочь отметает существование нативных Wayland'овских программ, которые, например, рисуют в своём окне примитивами X11 через Wayland, а потом делают скриншот всего рабочего стола. И если юзеру нужно именно это, то он найдёт Wayland изначально более плохим чем иксы.

saahriktu ★★★★★ ()
Ответ на: комментарий от EXL

Интересно, что насчёт SDL2-приложений. Работают они под Wayland или нет. Сейчас буду разбираться.

По дефолту — они тоже запускаются как XWayland-клиенты. При задании переменной окружения SDL_VIDEODRIVER=wayland они запускаются как Wayland-окошки, но почему-то без рамок вообще. Видимо что-то с Mutter:

http://esxi.z-lab.me:666/~exl_lab/screens/G3_Gish_On_Wayland.png

А так, всё работает и на Wayland.

Кстати, собрать Gish'а под GNU/Linux можно из тех же исходников:

git clone https://github.com/EXL/Gish
cd Gish; mkdir build; cd build
cmake -DCMAKE_BUILD_TYPE=Release -DGLES=Off ../gish/src/main/cpp/
make
EXL ★★★★★ ()
Ответ на: комментарий от EXL

Я думал Mutter свои декорации окна подставит, а не из Qt'а.

Это основной недостаток Mutter, на который сетуют, например, разрабы MPV - он не умеет давать декорацию на уровне сервера. То есть если приложение, в данном случае MPV, не может само себе нарисовать рамку окна - оно будет вообще без рамки. В Plasma Wayland приложения могут запрашивать серверную декорацию, или наоборот сказать серверу чтобы вырубил свои декорации, и рисовать собственными силами. И потому я считаю CSD настоящим ненужно в плане однородности приложений на разных тулкитах.

Sunderland93 ★★★★★ ()
Ответ на: комментарий от klasik

1. Интерфейсные шрифты — стандартные в GNOME 3, называются Cantarell: https://fonts.google.com/specimen/Cantarell
2. В Qt Creator и Android Studio моноширинные шрифты DejaVu Sans Mono.
3. Сглаживание никак не настраивалось, просто дефолтное:
Hinting: Slight
Antialiasing: Grayscale

EXL ★★★★★ ()
Ответ на: комментарий от saahriktu

Я — левша, но мышь (или, чаще, трекбол) использую правой рукой. Не знаю, зачем это пишу — показалось забавным.

spijet ★★★ ()
Ответ на: комментарий от batya

Слушай, я еще помню вой по поводу выпила XFree86. Как xorg ругали за ненужность и сверхсовременность.

Xorg исчезнет, как и xfree, прогресс не остановить.

То есть ты не понимаешь разницу между заменой одной реализации X11 API на другую (к тому же форкнутую от первой) и выбрасыванием полноценной поддержки X11 из системы с заменой на расшаренный фреймбуфер для геймеров?

А иксы скоро выкинут, потому что они ужасны.

Да-да, контрольный вопрос: чем же, по твоему личному мнению, ужасны иксы?

hobbit ★★★★★ ()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от hobbit

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

Да-да, контрольный вопрос: чем же, по твоему личному мнению, ужасны иксы?

Не мое мнение:

Раз: https://www.youtube.com/watch?v=Ux-WCpNvRFM

Два: Ситуация с Wayland: факты о X и Wayland.

Мое мнение: иксы тормозят и у них ну очень сложная реализация. Даже разрабы иксов это поняли и принялись пилить вяйланд.

batya ()
Ответ на: комментарий от EXL

Спасибо. Странно, рендеринг какой-то подозрительно хорош для дефолта) А в гноум-терминал какой шрифт, не подскажете?

klasik ()
Ответ на: комментарий от klasik

Точно такой же, DejaVu Sans Mono, только чуть большего размера.

EXL ★★★★★ ()
Ответ на: комментарий от eternal_sorrow

Чтобы переместить часы в правый угол, нужно отдельное расширение?

sudopacman ★★★★★ ()
Ответ на: комментарий от sudopacman

почти для любой кастомизации нужно отдельное расширение

eternal_sorrow ★★★★★ ()
Ответ на: комментарий от Sunderland93

А они собираются выкручиваться из этой ситуации?

SDL2, например, и вовсе не рисует декорации в GNOME 3. Не понимаю, почему для неGNOME-приложений без CSD не сделать дефолтные рамки окна.

EXL ★★★★★ ()
Ответ на: комментарий от EXL

я тут нашёл патчи для gtk, которые исправляют проблему с терминалом и вообще, делают pixel saver не нужным (если пользуешься только gtk3-приложениями конечно)

https://bugzilla.gnome.org/show_bug.cgi?id=775061 - второй и третий патчи здесь

eternal_sorrow ★★★★★ ()
Ответ на: комментарий от eternal_sorrow

Как я понял, они войдут в GTK+4

если пользуешься только gtk3-приложениями конечно

В том-то и проблема, что нет. Ты эти патчи не тестировал ещё? Может быть они будут работать нормально и с Pixel Saver...

EXL ★★★★★ ()
Ответ на: комментарий от sloan

А Data-файлы ты положил в папочку assets_full перед сборкой?

EXL ★★★★★ ()
Ответ на: комментарий от EXL

блин, мне не подумалось, что надо куплять 200р не жаль, но стим снес давно. ломает ради этого. сорян за невнимательность. узбекафф. :)

зы: xubuntu 16.04.2

sloan ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.