avatar
20 секунд читать

Linux 6.10 готовится интегрировать драйвер NTSYNC для эмуляции синхронизации примитивов Microsoft Windows NT в ядре.


За последние месяцы была проделана значительная работа по развитию драйвера ядра NTSYNC, сфокусированного на повышении производительности игр и приложений Wine (Windows) в Linux. Код прошел несколько обновлений и продемонстрировал многообещающие результаты.
В настоящее время Wine эмулирует Windows API на уровне пользователя, однако точная эмуляция примитивов синхронизации NT в пользовательском пространстве имеет свои сложности и приводит к существенным потерям производительности. Новый драйвер NTSYNC значительно улучшает ситуацию. Модуль NTSYNC предоставляет ядру поддержку для эмуляции синхронизационных примитивов Windows NT и представлен ядром как устройство с различными символами. 
"ntsync использует другое устройство как наиболее простой и менее интенсивный интерфейс uAPI.
Каждый файл на устройстве представляет изолированный экземпляр NT, который предназначен для соответствия одной виртуальной машине NT."
В настоящее время драйвер предлагает функции NTSYNC_IOC_CREATE_SEM, чтобы имитировать системный вызов Windows NT NtCreateSemaphore(), и NTSYNC_IOC_SEM_POST для воссоздания поведения NtReleaseSemaphore(), характерного для Windows. Элизабет Фигура (Elizabeth Figura) из CodeWeavers, возглавляет эту инициативу, совместно с Valve и другими заинтересованными сторонами.
Интересно отметить, что Грег Кроа-Хартман (Greg Kroah-Hartman) включил исправления NTSYNC в очередь ветви char-misc-next из char/misc в char-misc-next. Поскольку исправления уже находятся там, они будут включены в релиз Linux 6.10, запланированный на май, и затем он будет представлен как стабильный этим летом - за исключением непредвиденных проблем или возражений со стороны Линуса Торвальдса (Linus Torvalds).
Для Linux-геймеров это обещает быть увлекательным годом, с важностью NTSYNC, продолжающейся работой над HDR и другими улучшениями отображения, а также улучшениями в Wayland, помимо обычных достижений в области аппаратной поддержки Linux и других ключевых обновлений ядра, ожидаемых в 2024 году.

Где-тт взял, а где взял - не скажу.

3 Комментарии

avatar
MrDratik
2 месяца назад

- Сфокусированного на повышении производительности игр и приложений Wine (Windows) в Linux
На Linux же есть всё что нужно, и Windows не нужон! "Кроме узкоспециализированного ПО для моделирования, разработки чего-то страшно специального, на Linux есть всё, что нужно. И уж точно всё, что нужно обычному пользователю" - как слышно, прием?

- Wine эмулирует Windows API
А ещё мне здесь вчера сказали что Wine это не эмулятор библиотек, даже ткнули в статью на хабре с предложением прочитать

avatar
Cornelius
2 месяца назад

- На Linux же есть всё что нужно, и Windows не нужон! Как слышно, прием?
В самом линуксе и так всё есть. Но если хочешь эффективно выполнять на линуксе многопоточные _виндовые_ приложения (современные игры, скажем), то приходится озаботиться поддержкой виндового функционала в части синхронизации.

avatar
Zloy
2 месяца назад

Ты за какой лагерь воюешь? Если проприетарщина не работает на Линукс, то это проблема пользователя. Так что такое нам нужно. Может даже смогу на Линукс перейти.