После трёх месяцев разработки представлен релиз свободной реализации API OpenGL и Vulkan - Mesa 25.2.0. Первый выпуск ветки Mesa 25.2.0 имеет экспериментальный статус - после проведения окончательной стабилизации кода будет выпущена стабильная версия 25.2.1...Подробнее: https://www.opennet.me/opennews/art.shtml?num=63694
Мое почтение разрабам Mesa. На практике заметны улучшения и исправления."Поддержка OpenGL 3.3 присутствует в драйверах softpipe (программный растеризатор)..."
То есть теперь реально почти вся древнота, которая по каким-то причинам не работала, будет через программную отрисовку окна и видео обрабатывать.
Пробовал два-три месяца назад древнюю встройку nvidia 6150, с которой из-за критического бага было невозможно с GNU/Linux работать лет десять. Сейчас окна рисует нормально, даже видео без тормозов 720p показывает с загрузкой проца 25-40%. Приятано удивлен.
Ты еще попробуй скачать какое-то видео в 1080p 30fps H264 и запустить с плеера MPV с параметром profile=fastМожет карточка и FullHD отрисует. Процессор тоже должен вытянуть.
Just for fun же. Может и попробую. Спасибо за подсказку.Из мануала "You may need to use --profile=sw-fast to get decent performance".
> Удалён устаревший OpenCL-драйвер Clover. Для OpenCL слежует использовать драйвер RustiCL, более функциональный и поддерживающий больше версий OpenCL.Это с r600 не работает. А кловер дропнули потому, что планируется дропнуть весь Gallium и все карты на нём. Потому что для современных карт весь драйвер имплементирован в GSP, только интерфейс реализуй, а всю сложную работу за тебя сделал производитель карты. А что новых версий API не будет - ну так пойди, новую карту купи - оплати работу по реализации новых API.
Terakan кстати работает, как и vkmark на нём, но многое застаблено нулевыми указателями, в частности blit-функции (SurrealEngine проверяет их наличие, так как их нет - то теракан будет игнорироваться, потому что surrealengine зависит от них) и vkCreateComputePipelines -> vk_create_compute_pipeline -> vk_pipeline_precompile_shader -> get_nir_options
> Это с r600 не работает.Да когда уже вас в интернет перестанут пускать. R600 даже ATI на винде поддерживала опенслем практически никак (первый прогресс пошёл с R800). А вы требуете этого от волонтёров, чтобы вашу рухлядь бесплатно поддерживали.
надо бы в EC выпустить какой-нибудь закон, обязывающий производителей gpu выкладывать в открытый доступ документированный api к видеокарте. для борьбы с электронным мусором
> обязывающий производителей gpu выкладывать в открытый доступ
> документированный api к видеокартеА чего сразу не "ключи где деньги лежат"?
После такого выбрыка все производители видеокарт пошлют ЕСовцев на хурд, те посидят пару месяцев без видях и подумают над своим поведением.
Все равно они никуда не денутся и будут их покупать, просто неофициально через соседние страны. Просто станет чуток дороже))
Жаль, что на этом благородная инициатива ограничится.
Так выложены же.
Не звезди, hashcat работал, бенчмарки тоже, как и кастомные приложения, инвертирующие большие матрицы.
> Это с r600 не работаетИ? А разве должно?))
Этому хламу уже 14-15 лет, закопайте стюардесу или сидите на специальных дистрах с поддержкой такого.
эта стюардесса до сих пор тянет кучу тяжёлых для своего времени игр, а для научной визуализации больше в принципе не нужно
> до сих пор тянет кучу тяжёлых для своего времени игрТ.е. те же 15+ лет. Ясно-понятно.
> а для научной визуализации больше в принципе не нужно
Если только выводить картинку на экран, то хватит и любой современной встройки.
Хотя современная встройка даже большее потянуть может, особенно если это что-то из амдшных APU.Вашему НИИ опять не обновляют технику?
Где карточки такие достаете? С 6оmжами битвы устраиваете?
Зачем нам устраивать битвы с нашими поставщиками, дающими нам за бесценок товар, какими-то лошками выкинутый на свалку?
>закопайте стюардесуИди в лес сходи и себя закопай.
> Иди в лес сходи и себя закопай.Вот почему нищуки такие злые и агрессивные...
Это все потому что у вас нормальной видяхи не было!
Так это ты предложил закопать, ведь унизить кого-то доставляет тебе наслаждение - а "нищуки" вдруг стали агрессивными?
> дропнуть весь Gallium
> весь драйвер имплементирован в GSPСильное заявление... В GSP немного другое имплементировано - переключение частот, например. Задание параметров, с которым надо какой-то определённый kernel (слинкованную бинарную програмку в опкодах GPU) выполнять. Проверка статусов выполнения и т.д.
А основной смысл Gallium в шейдерном компиляторе. Лет 15 назад агитировали переходить на gallium, чтобы не писать свой компилятор с нуля для каждого драйвера. Но вот GSP с компилятором вообще никак не соотносится... На видеокарту разве исходный код шейдеров передаётся?В момент выхода Vulkan появился SPIR-V. Унифицированные абстрактные опкоды инструкций. Вот если оттранслировать эти абстрактные опкоды в опкоды реального GPU, то и gallium не особо нужен. Но в твоём случае VLIW, поэтому надо корректно "склеить" опкоды в длинную инструкцию (можно конечно и нопами забить, но тогда и скорость раза в 4-5 упадёт и размер программы).
От необходимости делать остальную реализацию vulkan (реализовывать корректно все эти функции vk*) это конечно не избавляет. Но сомневаюсь, что в GSP лежат прям 1-в-1 реализованные функции.
У OpenGL будут уже совсем другие функции. А у DirectX вообще третьи.
>На видеокарту разве исходный код шейдеров передаётся?Ну SPIR-V байткод - это как раз типа исходный код. Не совсем исходный, но всё же не самый низкоуровневый код, который прямо на железе крутится. За сим...
>1. компиляцию шейдеров в SPIR-V аутсорсим на GLSLang (проект Khronos, не наша проблема!) и вообще на вызывающую сторону (тоже не наша проблема!)
>2. компиляцию SPIR-V в машинный код - на GSP (проблема вендора, не наша проблема!)
>3. а что аутсорсить нельзя - просто выкинем (нам сами такие карты не нужны, когда выкинем - это тоже не наша проблема будет), ведь "нужно двигаться дальше" (тм)!
>4. PROFITСемь бед - один ответ.
>планируется дропнуть весь Gallium и все карты на нёмЭто наглая ложь. На данный момент таких планов нет.
Планов может и нет (он нужен для Цинка, а Цинк пока дропать не собираются, но в обсуждении среди всех ключевых участников проекта реально пишущих код для царит единодушие, что Галлий очень хотелось бы выкинуть. Поэтому дропнут старые карты, а из Галлия выкинут всё, что не нужно для оставшихся на сопровождении бэкендов. До тех пор, пока не останется только цинк, после чего этот Галлий в цинк заинлайнят, а цинк выкинут в отдельный проект. И Меса станет Vulkan-only. Выкинуть весь OpenGL в отдельный проект правильно c точки зрения архитектуры. Но дропать карты и увечить Галлий абсолютно неправильно. Галлий должен быть вообще сам по себе отдельным проектом со стабильным API, а не частью Mesa, и не монолитной либой с бекендо-специфичным кодом вперемешку, а чисто middleware. А каждый бекенд должен жить в отдельном репозитории и линковаться с предпостроенным libgalluim. Тогда и Клевер можно было бы не дропать вообще.
> В число зависимостей к драйверу NVK включён crate-пакет rustc-hash
> Продолжено развитие OpenCL-драйвера Rusticl, написанного на языке Rust
> Удалён устаревший OpenCL-драйвер Clover. Для OpenCL слежует использовать драйвер RustiCLОго, вот это хруст победно шагает по планете.
Но ведь в каждой второй теме рассказывали что "на нем ничего не написано"
А тут драйвер NVK не соберешь, OpenCL не запустишь.
Кто-то может объяснить зачем оно надо?
Например драйвер Nouveau и так поддерживает и OpenGL и Vulkan. Зачем ещё одна обёртка?
> драйвер Nouveau ... поддерживает и OpenGL и Vulkanкак раз через mesa.
В ядре маленькая часть драйвера видеокарты - управление вентиляторами/питанием/частотами (если там всё сошлось как надо, не надо всех вартах), управление видеовыходами и передача данных в память карты/из памяти карты. Немножко контроль выделения памяти в видеокарте. Никакого OpenGL или Vulkan в ядре нет!
А вот Mesa как раз и превращает вызовы функций OpenGL/Vulkan в команды для видеокарты. Помещает эти команды в видеокарту (помещает естественно через драйвер в ядре linux) и заставляет карту сделать что требуется.
Ну и на современных картах чтобы что-то сделать в Vulkan или OpenGL нужны шейдеры (небольшие программки для обработки текстур и координат вершин треугольников). Эти программы тоже надо скомпилировать в инструкции, которые видеокарта поймёт. Вот компилятор тоже часть Mesa.
nouveau - это низкоуровневые ядерные драйвера. Mesa - это реализация высокоуровневых OpenGL и Vulkan. Mesa, сама по себе, без nouveau работать не будет.
>Mesa, сама по себе, без nouveau работать не будет.
>>Помещает эти команды в видеокарту (помещает естественно через драйвер в ядре linux)Всё верно!
Драйвер OpenGL в mesa называется nouveau. И драйвер в ядре linux тоже называется nouveau. И даже DDX-драйвер для X11 тоже называется nouveau.
Вот такой он nouvea - размазанный аж по трём проектам...
> Прекращена поддержка версий libX11, не обеспечивающих
> безопасную работу в многопоточных приложениях.Отличное решение.
> Оставлена только поддержка libX11 1.8 (апрель 2022 года)
Ничосе новье! Всего три года прошло. Луддиты уже взвыли?
> Удалён устаревший OpenCL-драйвер Clover
и заменен на раст драйвер RustiCL
Шикарно, теперь без раста никакого вам OpenCL))
>Шикарно, теперь без раста никакого вам OpenCL))Зато cuda работает.
>и заменен на раст драйвер RustiCL
>Шикарно, теперь без раста никакого вам OpenCL))Rust - это деградация. Разработчики Mesa со временем это поймут.
> Rust - это деградация.Rust ни в коей мере не может быть деградацией.
Чел, который писал clover (предыдущую реализацию OpenCL на C) ковырядся лет 6 наверное (примерно с 2016-2017-го года). По-моему, в основном под nouveau, т.к. отвечал за OpenGL в nouveau.
Поддержка OpenGL в nouveau у него совсем никакая была (тысячи непофикшенных багов и до сих пор анонсируется OpenGL4.3, хотя формально по расширениям должно быть 4.5). Переключением частот занимался долго (в ядерной nouveau) и тоже ни к чему дельному не пришёл. Виснет Fermi при переключении частоты памяти и за много лет ноль подвижек...
Потом года за два выдал поддержку OpenCL3 для всех видеокарт из состава меса. Получается rust - это его язык, всё норм. Clover благополучно выпилили, всё равно не работал как положено.А вот как у остальных разрабов mesa получится код на rust поддерживать и рефакторить (если чувак уйдёт куда-нибудь) - вопрос на миллион. Можем увидеть эпопею "перепмсывание с нуля уже написанного на rust".
Писать без CVE - деградация?
Ага, на расте же никогда никаких CVE не было /s
Жаль, что разработка драйвера PowerVR не особо шустро движется. Дистры типа убунты даже не собирают Месу с ним, а ведь он нужен платам на RISC-V
Новость про Mesa актуальна для тех у кого видеокарта поддерживает Vulkan. Ваши видеокарты поддерживают Vulkan?
> Новость про Mesa актуальна для тех у кого видеокарта поддерживает Vulkan. Ваши
> видеокарты поддерживают Vulkan?Да
> Ваши видеокарты поддерживают Vulkan?большинство поддерживает.
> Новость про Mesa актуальна для тех у кого видеокарта поддерживает Vulkan.
Вот в предыдущих mesa для panfrost было очень много расширений OpenGL реализовано. Если сделают хотя бы геометрические шейдеры (а возможно сразу и тесселяцию), то карта окажется в OpenGL 3.3. Это очень сложно, но такое уже бывало.
Вам действительно пора обновить железо.
Раз у нас "вечер ностальгии и винтажного железа", то спрошу. Что же будет лучше работать на Nvidia 610GT: "родные" nvidia-drivers-390 или Mesa 25.2.0?
Все зависит от задач. Если критически важно выжать максимум fps в 3D, то только проприетарные драйверы. Если важнее новый софт и безопасность, то nouveau.
Кто-нибудь в qemu использовал новый нативный radv бэкенд,
быстрее -device virtio-gpu-gl работает ?
В драйверах v3dv (GPU Broadcom VideoCore для Raspberry Pi 4+) и dzn (реализация Vulkan поверх Direct3D 12) поддерживается Vulkan 1.0.
шо.опять? да сколько можно уже!
> Оставлена только поддержка libX11 1.8 (апрель 2022 года) и более новыхТри года - и ваша система превращается в тыкву.