vk.com

Выберите язык

FUTEX2 обновили в пятый раз, чтобы этот интерфейс Linux помог играм для Windows

 

  Collabora продолжает работу над FUTEX2 в рамках сотрудничества с Valve по улучшению поддержки игр для Linux. Работа над FUTEX2 направлена на улучшение поддержки игр для Windows, запускаемых на Linux с помощью Steam Play.

  Работа над FUTEX2 ведется уже более одного года с целью улучшения существующего системного вызова FUTEX. Основной целью разработки FUTEX2 является возможность ожидания нескольких фьютексов для лучшего соответствия поведению Windows. Этот интерфейс может быть использован Proton, на котором работает Steam Play, для эффективной реализации интерфейса Windows WaitForMultipleObjects. Несмотря на то, что данный интерфейс разработан для игр на Proton/Windows, родные игровые движки Linux также могут получить потенциальную выгоду.

  Помимо того, что FUTEX2 позволяет ждать на нескольких футексах, новый интерфейс также позволяет использовать футексы переменного размера (8, 16, 32 и 64-битные футексы) в производительной манере, а также обеспечивает NUMA-awareness.

  Новые патчи "v5" к FUTEX2 обеспечивают более широкое повторное использование существующего кода футекса.

  Последние патчи к FUTEX2 можно найти в списке рассылки ядра. Это слишком поздно для цикла 5.14, но, возможно, к моменту выхода 5.15 в конце этого года он будет считаться окончательно готовым для mainline и, в свою очередь, поможет Proton (Steam Play) и другим программам.

Перевод статьи.