LINUX.ORG.RU
ФорумTalks

Опенсурс Doom 3 запущен на Wayland

 ,


0

1

dhewm3 engine один из форков движка id Tech 4 теперь запускается на вялом.

The main developer behind the «dhewm3» Doom 3 engine open-source project shared over the night within the Phoronix Forums that he has been playing around with Wayland. He ended up making improvements to the SDL 2.0 Wayland video driver and now he has his open-source engine with the Doom 3 game assets working atop Wayland/Weston!

Видосик сия безобразия

http://static.hackmii.com/dhewg/dhewm3_wl.webm

Оригинал новости на форониксе

http://www.phoronix.com/scan.php?page=news_item&px=MTE0NzI

★★★★★

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

Автодополнение человеческое, например.

Посмотрел. Не сильно впечатляет, но вкусности есть. Как-нибудь попробую свять себе zshrc, наверное.

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

Переключишься на другой TTY, где запущены иксы, делов-то :)

annulen ★★★★★
()

Ш не Г, однако. Как такие же сделать?

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

Относительное перемещение мышки испокон веков получают следующим образом: каждый кадр считывают изменение положения курсора и перемещают его обратно в центр экрана/окна.

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

В чем смысл этой черной магии, вместо того чтобы дать API, через которое можно попросить графическую систему пересылать мышинный ввод as is?

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

Ну да, усложнять каждое приложение, вместо добавления нескольких if-ов в графическую подсистему — это логично. Wait... Да нет, это нихрена не логично.

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

И так. Ну допустим у нас относительное перемещение мыши отрабатывается WMом. Относительно чего WM должен считать перемещение? Относительно прошлого запроса? То есть он должен хранить ещё и время прошлого запроса. И в игру отдавать не только dx и dy, но и dt. И игрушка помимо своего dt должна учитывать ещё и dt оконного менеджера. То есть мы усложняем и оконную систему, и игрушку.

В сдл получить координаты курсора — 1 строка, выставить координаты курсора — 1 строка, спрятать/показать курсор — 1 строка.

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

1. При чем тут WM?

2. Ничего не надо считать относительно чего-то. От драйвера мыши приходят смещения, их напрямую и пересылать окну соотвеетствующим эвентом. Один boolean на каждое окно. Несколько if-ов. Одна интерфейсная функция и одно событие. Вся логика.

geekless ★★
()

Шриф Тени в опенсорсном думе гавно.

Где бенчмарки иксового и вялого думов?

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

1. При чем тут WM?

Ну или оконная система, в контексте вейленда над разделением этих понятий пока не думали.

От драйвера мыши приходят смещения

Как часто? В каких единицах? Есть рабочее решение на 3 строчки, которая даёт сразу понятные приложению пиксели за кадр. И 3 строчки — это в сдл, в другой библиотеке будет 1 строчка.

И потом, какой процент приложений у нас игры, тем более шутеры? Может под каждую категорию программ костыли в графическую систему тащить?

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

Ну и потом, функция перемещения курсора есть во всех платформах, а получение прямого ввода из драйвера будет линакс онли. Какое решение больше понравится геймдевелоперу?

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

Вполне вероятно, но это не отменяет мной сказанного.

Отменяет, из-за хронологической постановки диагноза. Я знал о чём сказал в первом посте, а ты?

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

Я знал о чем я сказал в первом посте.

Даа? Мы знакомы? Ты мой лечащий врач?

У тебя лишь бессвязный бред.

Не-а. Я вполне связанно выразился о требованиях idшного движка, что ставит под сомнение «качественность» прорыва. А ты скатился на личностные характеристики (что собственно не удивляет). Или я где-то не так тебя понял?

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

Потому что WMов-то надо много и разных.

Или один, но разный. Допустим, с выбором тайловости и таскбара при первом входе под конкретным пользователем.

Wayland просто не занимается задачами оконного менеджера, как и иксы не занимаются задачами выбора темы виджетов.

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

Есть ещё мысль засунуть WM внутрь композитора.

8O Ты хороший лоровец, но я бы тебя пристрелил.

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

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

8O Ты хороший лоровец, но я бы тебя пристрелил.

Это не моё предложение, это в http://wayland.freedesktop.org написано. Там же я сегодня вычитал предложение реализовывать приложениям свои собственные композиторы для обеспечения ембединга. То есть например чтобы фаерфокс был композитором для флеша и подобных плагинов.

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

А реализацию wm для ядерного фреймбуфера я уже видел, но в виде патча для ранних 2.6 и с парой демок в стиле демок вейленда.

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

И вот ещё страшилки на ночь:

Есть реализация Х11-сервера в виде проприетарного ядрёного модуля и особой xlib, напрямую его дёргающей, безо всяких сокетов.

Есть реализация Х11-сервера со встроенным wm и панелькой с часами, таскбаром и кнопкой пуск.

Есть Х11-сервер под винду и он даже прекрасно работает в вайне в rootless режиме. Скрин к сожалению не сохранился.

PolarFox ★★★★★
()

Прикольна. Доставляют комменты с тирингом. Ребяты, выкидывайте нахрин свои нвидии или чините руки. Radeon HD 5850, xf86-video-ati, Firefox - видео играет нормально, никакого тиринга там нет.

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

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

Композиторы тем и хороши, что реализуют 2-4 операции на промежуточном уровне и всё. Иначе такими темпами wm надо будет писать в понятиях видеокарты и при запуске так и писать «Теперь ресайзте окна так, как мы типа задумывали, Нвидия Йопт!».

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

И вот ещё страшилки на ночь

Всё это уже было. Только при эксплуатации, оказывается что не особо то оно и x-сервер.

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

Первое не Х-сервер, а всё остальное — самые настоящие сервера, с сетевой просрачностью.

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

как видео в webm шустренько работает. красота

Скринкастилки при текущей реализации кстати тоже встроены в композитор.

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

Даа? Мы знакомы? Ты мой лечащий врач?

Вот опять бред.

Не-а. Я вполне связанно выразился о требованиях idшного движка, что ставит под сомнение «качественность» прорыва.

Вот еще один пример бреда, в данном контексте.

А ты скатился на личностные характеристики (что собственно не удивляет).

Ты даже за линией дискуссии не можешь уследить?

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

В каких единицах?

Ты что-то не то курил сегодня? В ТЕХ ЖЕ.

Графическая система делает:

пришло сообщение от драйвера: mouse_move(dx, dy):
mouse_x += x; mouse_y += y; // глобальные переменные
определить окно под указателем;
послать туда mouse_move(mouse_x - window_x, mouse_y - window_y)
Приложение делает:
пришло сообщение mouse_move(x, y):
dx = window_w / 2 - x;
dy = window_h / 2 - y;
вернуть указатель мыши на центр;

Теперь будет:

пришло сообщение от драйвера: mouse_move(dx, dy):
if (активное окно имеет флаг использования относительных координат) 
{
    послать туда mouse_delta(dx, dy)
}
else
{
   см. предыдущий алгоритм
}

Как часто?

А как часто абсолютные координаты мыши графическая система в окно шлёт? Правильно: по мере их наличия. Нет, ты точно что-то курил. Весь механизм event based, какое еще нахрен «как часто?» в нём может быть?

Какой процент приложений у нас WM, тем более тайловые? Может под каждую категорию программ костыли в графическую систему тащить?

Починил опечатки, можешь не благодарить.

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

Еще один идиот. Ты знаешь какая у него карта, драйвер и настройки?

От идиота и слышу. Третий дум нормально работал на четвёртом пне в разрешении 1024x768 на какой-то там древней гефорце с 64Мб памяти, проблемы драйвера = проблемы вяленого.

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

Точно идиот.

Неидиот, жуй свой вяленый и эмулируй видеоускорение восьмиядерным CPU, это так прогрессивно.

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

С чего ты взял что он мой?

А кто бегает по лору и пытается порвать пасть всем сомневающимся этой технологией?

Napilnik ★★★★★
()

А какие-нибудь другие IdTech4 игры, помимо самого Д3, на движке из этих сырцов запустятся? Ну вроде Wolfenstein.

malices_gossips ★★★
()

О наболевшем

Вот интересно, а вяленд умеет переключать полноэкранные приложения по комбинации клавиш? И что там с опенсорсным думом?

f1xmAn ★★★★★
()
Ответ на: О наболевшем от f1xmAn

Когда вялый был еще в более глубокой альфе была статья где говорилось что в вялом эту проблему проще решить чем в иксах. Подробностей не помню. Думаю что на данный момент ни в вялом ни в иксах эта проблема не решена.

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