LINUX.ORG.RU

Явная синхронизация: Wayland + NVidia

 ,


0

2
  • Интеграция явной синхронизации в Wayland

Недавние разработки в ландшафте графики Linux свидетельствуют о значительном прогрессе: Wayland интегрировал функцию «явной синхронизации». Это обновление обещает усовершенствовать взаимодействие между приложениями, операционной системой и графическим оборудованием, обещая более плавную и надёжную графическую производительность на различных устройствах.

  • Что такое явная и неявная синхронизация?

Основной вопрос, который может возникнуть: что же такое «явная синхронизация» и почему она вызывает столько проблем? Различие между явной и неявной синхронизацией заключается в способе управления временем выполнения задач графическим драйвером или ядром без прямого вмешательства приложения (неявная синхронизация), что может привести к различным проблемам в работе. В отличие от неявной, явная синхронизация позволяет приложениям напрямую указывать, когда рендеринг завершён и какие задачи требуют синхронизации, тем самым обеспечивая более стабильную и предсказуемую работу графики.

  • сочетание Wayland и NVIDIA

Явная синхронизация особенно важна для проприетарных драйверов NVIDIA, где отсутствие поддержки неявной синхронизации приводило к проблемам с мерцанием и темпом кадров в Wayland. Введение явной синхронизации обещает решить эти проблемы, предлагая более стабильный и последовательный графический опыт. Это особенно важно для пользователей NVIDIA на Wayland, поскольку это устраняет последние барьеры на пути использования этого протокола отображения.

В скором времени, с релизом NVIDIA 555 beta драйвера, ожидается поддержка функций явной синхронизации, что сделает использование Wayland с графическими картами NVIDIA полноценным.

Подробности

Перемещено hobbit из linux-general

★★★

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

Ну может затем, что в реальности существуют некоторые проблемы на связки проприетарных драйверов от nvidia и wayland. И то, что есть определенное движение в данном вопросе - это хороший знак. Что до «мозга» - дам совет. Заняться прокачкой собственного.

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

ландшафте графики

Linux graphics landscape

После этого даже читать не хочется. Какой ещё ландшафт?

Если лень переводить, то лучше кинуть ссылку в форум, кто-то поумнее переведёт и запостит новость.

a1ba
()

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

И ссылка тоже не открывается.

Aceler ★★★★★
()

tl;dr

В Wayland-е накостылили ущербный render-loop ради исправления тиринга на мониторах с разной герцовкой, а теперь изобретают другие костыли, чтобы исправить проблему первых костылей.

Я уже много раз говорил что будет УГ.

Skullnet ★★★★★
()

Для тех, кому лень продираться через этот надмозг, а также лень открывать через VPN/Proxy:

Wayland Integrates Explicit Sync

In an engaging blog post, Xaver Hugl, a KDE developer, discusses in great detail why the people using Wayland faced issues, especially those using NVIDIA GPUs. He also talks about some exciting updates that are just around the corner. Here’s what he shared.

In a significant development for the Linux graphics landscape, Wayland has recently integrated an “explicit synchronization” or explicit sync feature.

An update that promises to refine the interaction between applications, the operating system, and graphics hardware, promising to lead to smoother and more reliable graphics performance across a variety of devices.

Okay, that sounds exciting. But I bet some of you might wonder, “What exactly is explicit synchronization, and what’s all the fuss about?” Let me explain.

Implicit/Explicit Sync Explained

Have you ever wondered why people using AMD or Intel GPUs on their Linux systems seem to have fewer issues than those with NVIDIA? The answer is simple – it all comes down to “implicit buffer synchronization.” AMD and Intel support this feature, but NVIDIA doesn’t.

Rendering in applications involves the GPU executing a series of commands at its own pace, which the CPU prepares. This division of labor between the CPU and GPU boosts performance by allowing both to work simultaneously on different tasks.

In other words, synchronization in graphics APIs is managed implicitly (known as implicit sync), meaning the kernel or graphics driver is in charge of automatically handling the timing of these tasks without direct input from the application.

However, this asynchronous operation can cause issues. For example, since the graphics driver doesn’t get any information directly from the application itself, if an application attempts to read or modify an image while the GPU is still processing it, the result can be unpredictable – flickers, glitches, crashes.

This is where explicit synchronization comes in – it ensures that these operations occur in the correct order, maintaining the integrity of the graphics output. Now incorporated into Wayland, this new model changes the game by allowing applications to directly specify when rendering is complete and which tasks need synchronization.

Furthermore, this approach prevents accidental syncs and enhances performance by reducing the workload on drivers to interpret command dependencies.

Wayland + NVIDIA: A Match in Heaven

The move to explicit sync is particularly relevant due to the limitations of the previous synchronization models with certain graphics drivers, notably the proprietary NVIDIA driver.

The lack of support for implicit sync in these drivers led to significant issues on Wayland, including flickering and frame pacing problems. Although workarounds exist, they are far from perfect and could lead to crashes or other glitches.

The introduction of explicit sync in Wayland aims to resolve these issues, offering a more stable and consistent graphics experience. This is especially crucial for NVIDIA users on Wayland, as it addresses the most significant remaining barrier to using this display protocol.

Now we’re getting to the really exciting part. The NVIDIA 555 beta driver, slated for release on May 15, will be the first to support the explicit sync features.

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

изобретают другие костыли

Не знаю, что там в Wayland, но Vulkan как минимум сам по себе построен вокруг явной синхронизации и в линуксе работает через костыли в видеодрайверах.
И в иксах эти «костыли» теперь тоже есть, не только для XWayland.

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

d3d12 тоже явная синхронизация

В оффтопе с свисты explicit sync поддерживается, когда всю граф. подсистему переделали. Неудивительно.
В андройдном SurfaceFlinger с самого появления, ЕМНИП.

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

Я не знаю зачем оно нужно, я гонял различные Vulkan приложения/игры на иксах и не видел никаких проблем с мерцанием кадров и прочего. Это чисто ради вяленда костыли.

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

Работает просто немного недогружая гпу. Плюс могу предположить, что иксовый протокол больше подходит под НЕявную синхронизацию, потому что изначально другой не было и разрабатывали под неё.

anonymous
()