Компания AMD опубликовала (http://lists.freedesktop.org/archives/dri-devel/2013-April/0... серию патчей для DRI-модуля (http://lists.freedesktop.org/archives/dri-devel/2013-April/0... radeon из состава ядра Linux и gallium-драйверов (http://lists.freedesktop.org/archives/mesa-dev/2013-April/03... r600 и radeonsi из OpenGL-стека Mesa, c реализацией средств для задействования встроенных в GPU декодеров UVD (Unified Video Decoder (http://ru.wikipedia.org/wiki/UVD)). Указанные патчи позволят использовать средства GPU для ускорения декодирования видео при использовании открытых драйверов. В настоящее время поддерживаются только чипы HD4xxx-HD7xxx (RV710-SI), но в дальнейшем не исключена реализация поддержки и более старых серий HD2xxx-HD3xxx (R6xx, RS780, RS880).Особенностью реализации является использование для доступа к функциям ускорения декодирования видео интерфейса VDPAU (http://en.wikipedia.org/wiki/VDPAU) (Video Decode and Presentation API), изначально предложенного и развиваемого компанией NVIDIA. Используя указанный интерфейс, многие мультимедиа-приложения и библиотеки, уже поддерживающие VDPAU, смогут задействовать UVD-декодеры AMD без переработки программ, в том числе вынести на плечи GPU функции пост-процессинга, слияния (compositing), отображения и декодирования.
URL: http://www.phoronix.com/scan.php?page=article&item=amd_opens...
Новость: http://www.opennet.me/opennews/art.shtml?num=36571
Ого. Амд наносит ответный удар.
На плейстехе 4 бабла подняли. Теперь можно куражиться.
> На плейстехе 4 бабла подняли. Теперь можно куражиться.Завидовать другим - нехорошо.
На пхорониксе в комментариях написали, что это как и с broadcom'ом, открыли обертку над блобом.
> На пхорониксе в комментариях написали, что это как и с broadcom'ом, открыли
> обертку над блобом.И куда эту обёртку засовывать? (гусары, молчать!)
> И куда эту обёртку засовывать? (гусары, молчать!)Очевидно патчить ею ядро и месу.
А ссылку?
VDPAU таки становится стандартом в Linux. It's Good!
Стандарт декодирования в gnu/linux это VAAPI
плохо что они не сделали VAAPI
> Стандарт декодирования в gnu/linux это VAAPIЭто кто сказал?
> плохо что они не сделали VAAPI
Поработав и с тем, и с другим, могу сказать, что VDPAU заметно прямее сделан и лучше документирован, чем VAAPI в части декодирования. В частности, там хотя бы даются гарантии потокобезопасности.
стандартов используемых в линуксах очень мало и видеодекодирование в их число не входит
Мне не показалось? Кто-нибудь ещё видит эту новость?
Я с 2008 года всё жду и жду, а оно всё не выходит и не выходит. Иногда кажется, что оно - ан нет, опять показалось. Не будем торопиться с выводами.
Оно в апстрим войдет и если да с как
*кой версии?
Есть ли где-нибудь их git с открытым доступом?
Забыли указать в новости, что поддержка в виде *блобика* микрокода и обертки для работы с этим блобиком.
Есть какие-нибудь это доказывающие факты?
Зато патентные троли не лезут.
> Забыли указать в новости, что поддержка в виде *блобика* микрокода и обертки
> для работы с этим блобиком.О-о-о, это ты ещё AtomBIOS(TM) не видел. Очень расстроишься...:(((
> О-о-о, это ты ещё AtomBIOS(TM) не видел. Очень расстроишься...:(((С другой стороны, драйверу достаточно сделать парсер-интерпретер. А видяха за счет интерпретируемого "типа, bios" сама знает как с ней работать. Чем оно хуже например фирмвары в сидироме или жестком диске - интересный вопрос.
Зачем доказывать очевидное?
http://lists.freedesktop.org/archives/dri-devel/2013-April/0...
http://people.freedesktop.org/~agd5f/radeon_ucode/
Вы firmware блобом называете??? Ну тогда и нынешний радеон тоже обертка над блобом.
Блобом называется большой бинарный объект. В частности, нечто по типу 100-килобайтных uvd-микрокодов вида RV_7....bin, не имеющих исходников. Большинство же файлов по ссылке не удовлетворяют этому критерию. Да дело даже не в исходниках, а в том что новость не отражает суть.
>Большинство же файлов по ссылке не удовлетворяют этому критерию.Так это блоб или не блоб? У вас есть понимание того, чем собственно является firmware?
>Да дело даже не в исходниках, а в том что новость не отражает суть
В чем же она не отражает сути, позвольте спросить?
> У вас есть понимание того, чем собственно является firmware?Есть. Поэтому я не называю микрокод фирмварью.
> В чем же она не отражает сути, позвольте спросить?
В том, что 90% реализации поддержки UVD *не* в виде пачтей.
>Есть. Поэтому я не называю микрокод фирмварью.Вы называете его блобом.
>В том, что 90% реализации поддержки UVD *не* в виде пачтей.
Вы на аптекарских весах измеряли?
Как вы вообще себе это представляете? fireware содержит специфичный для данного gpu код. Для того чтобы распространить его в исходниках, надо сначала добавить поддержку соответствующей архитектуры в компилятор, затем в ядро. Или надо было все это выложить в виде отдельного .S файла полностью состоящего из hex-а? Тогда бы реализация стала полностью открытой?
> Есть. Поэтому я не называю микрокод фирмварью.Хотя по факту отличий между ними минимум.
Тут недавно была новость про опенсорсную "поддержку" броадкомовского 3D и GL в какой-то поделке. Тут тоже самое. Вот только там новость отражала суть, а тут - нет.
Если человек невежественен, то ему лучше молчать, тогда он может даже сойти за умного.
> Тут недавно была новость про опенсорсную "поддержку" броадкомовского 3D и GL в
> какой-то поделке. Тут тоже самое. Вот только там новость отражала суть, а тут - нет.Тут это в куда меньшей степени. А так - вы кинули команду накопителю по SATA интерфейсу, а там его контроллер отрабатывает команду. Вас не смущает что у него есть флеха и микрокод в ней? Который и отрабатывает данную команду по факту?
> какой-то поделке.Raspberry Pi это был. Ну да, там совсем отстойно сделано: GPU загружает систему, а ARM с линем там так - вспомогательная фигня при GPU, которую уже потом догружает сам GPU, после того как стартанул, лол. В указанооом же случае GPU лишь периферия. Своей линии поведения как таковой не имеет, невзирая на микрокод.
Вы с луны упали?
Это фирмвари карт, без которых свободный драйвер вообще работать не будет. Им сто лет в обед и они давно входят в любой дистрибутив.$ ls /lib/firmware/radeon/R600_*
/lib/firmware/radeon/R600_me.bin /lib/firmware/radeon/R600_pfp.bin /lib/firmware/radeon/R600_rlc.bin
$ rpm -qf /lib/firmware/radeon/R600_*
linux-firmware-20121218-0.2.gitbda53ca.fc18.noarch
linux-firmware-20121218-0.2.gitbda53ca.fc18.noarch
linux-firmware-20121218-0.2.gitbda53ca.fc18.noarchА по ссылке просто более актуальные версии.
Ага, с луны, упал. Только сначала процитируй строчку, в которой я допустил ошибку.RV710_uvd.bin 02-Apr-2013 23:24 113K
RV770_uvd.bin 02-Apr-2013 23:24 89KИ соотнеси это с размером патчей, можешь заодно читать тогда научишься.
И? Откуда вы знаете, что это не "вообще" общий UVD-код, который нужен радеонам для работы этого модуля?
Кода мало, т.к. декодирование-то аппаратное, а не в драйвере. Причем на специализированном аппаратном модуле (который еще разный у разных карт), а не на засылаемых из ОС шейдерах. Так какой код вы там ожидаете увидеть, когда по определению это активация аппаратной фичи и передача данных в карту?
Дались тебе эти блобы.
1) Меняются апи/аби у dri/mesa/drm и оставшейся шайки-братии стека открытых видеодрайверов - менять этот блоб не нужно. Он продолжает просто работать. Что есть неоспоримый плюс.
2) Блоб отлажен и работоспособен на все 110%. И в дальнейшем не представляет проблем со своей поддержкой. Даже если в нём и есть какие-то подпорки для Digital restrictions management, то не срать ли на это? Ускорение видео от этого никуда не пропадает и просто работает.
3) Подозреваю, что ситуация с текущими bios аналогична - архив с кучей блобов для разных "блоков" (например для встроенных сетевух). Если такой пурист - open hardware ваш выборПо теме, осталось выцыганить блобы на управление питание, чтобы рулить вольтажом и частотой.
> 3) Подозреваю, что ситуация с текущими bios аналогична - архив с кучей
> блобов для разных "блоков" (например для встроенных сетевух). Если такой пурист
> - open hardware ваш выборПурист-не пурист, а желание использовать поменьше закрытых компонентов достаточно понятно, с учетом тематики сайта. Тем более, обязательных не так много, и минус один это уже неплохо.
> По теме, осталось выцыганить блобы на управление питание, чтобы рулить вольтажом и
> частотой.А тут почему блобы? Ценной IP вроде нет, защитой от крайних значений аргументировать разве что.
>А тут почему блобы? Ценной IP вроде нет, защитой от крайних значений аргументировать разве что.Полгодика назад проскакивала информация (кажется, на похорониксе кто-то из амдшников писал), что под управление питанием в том же каталисте задействован целый самописный фреймворк, заточенный именно под структуру проприетарного драйвера.
Так вот, там же мимоходом утверждалось, что объем кода этого фреймворка как бы не больше объема кода опенсорсного драйвера и месы вместе взятых.
Резюме от амдшников было примерно такое - мы бы и рады код выложить, но, во-первых, он слишком большой, во-вторых, адвокаты всю IP в нем лет 10 разгребать будут, в-третьих, сей код абсолютно бесполезен для опенсорсных дров, ибо там все совсем по-другому.
Еще более короткое резюме - писать код управления питанием для опенсорсных дров гораздо быстрее и проще с нуля.
P.S. На меня можете не ругаться. За что купил эту инфу, за то и продаю ;)
> Еще более короткое резюме - писать код управления питанием для опенсорсных дров
> гораздо быстрее и проще с нуля.Ну дык. Если бы вы видели что обычно в таком коде бывает (легаси от проприерасов на 10+ лет - это просто залежи мамонтового шита) - вы бы тоже так считали.
Дык ок, сами говорите, для свободных дров вариант с нуля лучше. Зачем тот блоб просить тогда.
Вообще интересно, это такая сложная фича, или фреймворк подхватили под другим причинам..
> Пурист-не пурист, а желание использовать поменьше закрытых компонентов достаточно понятно,Оно конечно да, но просто ныть про микрокод - неконструктивно. Если реально мешает - создайте инициативу по переписыванию, например. Кто же виноват что сервисному процессору код нужен?! С другой стороны, фирмваре у вашего харда вы же врядли станете переписывать, так? Хоть там и есть флешка и ее можно перешить. И довески на блинах, которые тоже можно переписать. Так что по максимально жестким Столлмановским критериям - и это можно освободить. С другой стороны - вред от этого кода не так уж и огромен - сидит он в своей железке и ничего такого особо вредного делать за ее пределами не может особо.
Ныть неконструктивно почти по определению :) А упоминать можно по нескольким причинам, намеренный вред не единственная. Свободный код это еще и правило тысячи глаз (или как его там), и возможность исправить что-то своими силами, а не ждать апдейта от производителя (особенно если устройство уже не поддерживается).
Для вашего примера можно вспомнить известный баг с потерей данных, кажется, 12й серией барракуд. Переписывать нет, но иногда вмешаться — да.
> Ныть неконструктивно почти по определению :) А упоминать можно по нескольким причинам,
> намеренный вред не единственная. Свободный код это еще и правило тысячи
> глаз (или как его там), и возможность исправить что-то своими силами,Все так. Компромисс? Да, компромисс. С другой стороны - минус один аргумент за проприетарный блободрайвер. Многометровый кус блоба. Замена кучи мегабайтов блоба на открытый стек + мелкий блоб микрокода все-таки шаг вперед. Не такой большой как хотелось бы? Согласен. Но лучше чем было. Все меньше поводов юзать закрытый драйвер.
> а не ждать апдейта от производителя (особенно если устройство уже не поддерживается).
А что ожидается увидеть от апдейта микрокода? Новые форматы? Они могут упереться в ограничения умений железки. Ресурсожоркую хрень типа постпроцессинга оно и так умеет.
> Для вашего примера можно вспомнить известный баг с потерей данных, кажется, 12й
> серией барракуд. Переписывать нет, но иногда вмешаться — да.Ну да, был там красивый фирмварный факап :). Но GPU не винт, да и вышибается ресетом по шине из любого зависа. Ну, микрокод в RAM перелить опять и он снова живой.
Лучше бы энергосбережение доделали
> Лучше бы энергосбережение доделалиЭто печальная правда :( С энергосбережением на свободных дровах совсем швах.
профили Пушкин писать будет?
Какие еще профили?
Делаешь echo low > /sys/class/drm/card0/device/power_profile - все равно карта потребляет в несколько раз больше энергии, чем в винде или с официальным каталистом в линуксе.Энергосбережение как минимум на HD4000 и выше в свободных дровах не работает практически никак.
а надо
echo profile > /sys/class/drm/card0/device/power_method
только потом
echo _нужное_ > /sys/class/drm/card0/device/power_profile
Разумеется, там уже profile.
Вы это, доки открыли для себя? Я эти доки не первый год вижу. Факт то, что энергосбережение не работает. Вообще никак. low туда пиши или что еще - частоты незначительно меняются, но карта все равно пышет жаром и крутит вентилятором. С каталистом все ок.# cat /sys/kernel/debug/dri/0/radeon_pm_info
default engine clock: 750000 kHz
current engine clock: 750000 kHz
default memory clock: 950000 kHz
current memory clock: 950000 kHz
voltage: 1250 mV
PCIE lanes: 0
# cat /sys/class/drm/card0/device/power_method
profile
# echo low > /sys/class/drm/card0/device/power_profile
# cat /sys/kernel/debug/dri/0/radeon_pm_info
default engine clock: 750000 kHz
current engine clock: 506250 kHz
default memory clock: 950000 kHz
current memory clock: 950000 kHz
voltage: 1050 mV
PCIE lanes: 0Верите или нет, но разницы реально никакой (может -1 градус). Температура ядра 63 градуса с активно работающим вентилятором. С каталистом там в районе 50 при практически выключенном вентиляторе.
Багзилла кишмя кишит багами вроде полной неработоспособности энергосбережения, если подключены два монитора (https://bugs.freedesktop.org/show_bug.cgi?id=49981) - там даже частота и напряжение не понижаются. Но даже если они понижаются, толку мало.
а это?
echo low > /sys/class/drm/card0/device/power_profile
что выдаёт?зыж
>Вы это, доки открыли для себя?а без наездов, не?
> а без наездов, не?Просто вы реагируете, будто я не прочитал документацию. А я с ней давно знаком и все попробовал, спрашивал знающих людей - ответ был, это энергосбережение для галочки, по факту эффекта обычно нет. В каких-то комбинациях (старые карты или ноуты и тд) иногда может давать эффект, но на картах последних лет на десктопах обычно эффекта можно и не ждать. Если хочется понизить температуру, нужно ставить каталист.
Вполне возможно что профиль low, зашитый в карту, действительно содержит высокие значения частот. Есть возможность перепрошить профиль с интересными для вас значениями.
> Вполне возможно что профиль low, зашитый в карту, действительно содержит высокие значения
> частот.Или вообще не прописан/прописан криво. Иногда бывает. В новых дровах обещали заворкэраундить и долбо...бов которые не полностью прописывают таблицы.
> skipped...
> но на картах последних лет на десктопах обычно эффекта можно и
> не ждать. Если хочется понизить температуру, нужно ставить каталист.Простите, а производитель той карты, что без эффекта, кто? Прямой Saphire или же кривой Asus или не менее кривой Gigabyte?
А у меня на Gigabyte (HD 7750) энергосбережение работает, а на Sapphire (HD 6450) нет. Хотя возможно, что в 6450 энергосбережение вообще не предусмотрено, т. к. она сама по себе потребляет мало.
> А у меня на Gigabyte (HD 7750) энергосбережение работает, а на Sapphire
> (HD 6450) нет. Хотя возможно, что в 6450 энергосбережение вообще не
> предусмотрено, т. к. она сама по себе потребляет мало.Ой, расскажите, как вообще ощущения от 7750 на открытых дровах? Я подумываю перейти на 7-ую серию, но что-то там пугают совсем недоделанным драйверам.
Мне обязательно стабильную работу gnome-shell и mplayer с выводом gl, без остального я потерплю.
Приобрел буквально на днях. mesa-9.0.1 упорно пытается использовать llvmpipe, хотя собрана с поддержкой radeonsi. Позтому 2D ускорение через glamor не завелось, вывод видео через gl тоже не работает.Собираюсь пробовать обновляться до mesa-9.1*. А еще грешу на интегрированный в материнку matrox g200, который не вырубается при подключении дискретной видюхи (видимо из-за IPMI))
https://bugs.freedesktop.org/show_bug.cgi?id=56331
> перейти на 7-ую серию, но что-то там пугают совсем недоделанным драйверам.В последнее время его уже довольно сносно допилили. Но у 5ххх/6ххх драйвер все-таки более развитый.
> А у меня на Gigabyte (HD 7750) энергосбережение работает, а на SapphireУ меня Radeon 7750 и определить работу энергосбережения не могу т.к карта не греется
> У меня Radeon 7750 и определить работу энергосбережения не могуВ этом вам поможет cat /sys/kernel/debug/dri/0/radeon_pm_info
И таки карта на минимальной и максимальной частоте греется и кушает довольно по разному. На 7750 это вполне заметно уже будет.
> А у меня на Gigabyte (HD 7750) энергосбережение работает, а на Sapphire
> (HD 6450) нет. Хотя возможно, что в 6450 энергосбережение вообще не
> предусмотрено, т. к. она сама по себе потребляет мало.А нет, беру свои слова обратно. Если на Sapphire с HD 6450 _принудительно_ выставить low, то все ок. Температура падает на 10 градусов.
work ~ # cat /sys/class/drm/card0/device/power_profile
low
work ~ # cat /sys/kernel/debug/dri/0/radeon_pm_info
default engine clock: 625000 kHz
current engine clock: 99990 kHz
default memory clock: 667000 kHz
current memory clock: 149970 kHz
voltage: 900 mV
work ~ # sensors | sed -n '/^radeon/,/^$/p'
radeon-pci-0100
Adapter: PCI adapter
temp1: +40.5°C
HD 7750 даже с профилем default без нагрузки на GPU сама переключается на пониженные частоты и напряжение.
> HD 7750 даже с профилем default без нагрузки на GPU сама переключается
> на пониженные частоты и напряжение.Хорошо даунклокнулся. А чего у него дефолтная частота такая мизерная? 7770 чуть ли не на гигагерц делают обычно...
Прямой Palit.
"Без эффекта", напомню, только под открытыми дровами. В остальном случае эффект есть, еще какой!
> Прямой Palit.
> "Без эффекта", напомню, только под открытыми дровами. В остальном случае эффект есть,
> еще какой!Покажите это Тому Стелларду на форониксе или в багтрекер закатайте. Походу как раз образчик кривых таблиц в биосе.
> Простите, а производитель той карты, что без эффекта, кто? Прямой Saphire или
> же кривой Asus или не менее кривой Gigabyte?Разработчик AMD упоминал что некоторые раздолбаи не все таблицы состояний в биос прописывают. В свежих драйверах сие вроде как должно быть починено.
> current engine clock: 506250 kHz
> voltage: 1050 mVДаунклокнулось. Но хиловато. Походу у производителя кривые таблицы в bios, увы.
> Верите или нет, но разницы реально никакой
Вообще, должно бы убавиться на несколько градусов, т.к. упала и частота и вольтаж. С другой стороны, при понижении температуры кулер сбавляет обороты и потому температура падает не так уж сильно. Скорее убавится вой и тепловыделение. Но при таком даунклоке - не настолько насколько бы этого хотелось, да.
Нормальный даунклокинг на low профайле выглядит как-то так:
default engine clock: 850000 kHz
current engine clock: 156990 kHz
default memory clock: 1200000 kHz
current memory clock: 300000 kHz
voltage: 1000 mV// кстати это - вообще OEM какой-то кривоватый. И то нормально таблицы прописали...
current engine clock: 199960 kHz
было 499960
температура упала на 9 градусов
OpenSUSE 12.3 RAdeon 4650 mesa 9.0 дрова открытые последние
> Энергосбережение как минимум на HD4000 и выше в свободных дровах не работает практически никак.Наглый пиндеж, на 5000-й серии все прекрасно работает. Как-то так:
От рута:
echo profile > /sys/class/drm/card0/device/power_method
echo low > /sys/class/drm/card0/device/power_profile
...и сразу слышно как вентиль останавливается, температура падает градусов на 15.Частота скисает с 600-800МГц до 150, вольтаж тоже снижается (cat /sys/kernel/debug/dri/0/radeon_pm_info). Карта кушает какие-то крохи. Профит очевиден. Если карт более одной то card0 и /dri//0 будут отличаться, разумеется. Проверялось на 75хх - 77хх - вполне себе пашет.
А, ну и конечно этот номер катит только на относительно свежих ядрах умеющих KMS. Так что если ваше ядро видело еще живого дедушку Ленина - вы пролетаете.
>Проверялось на 75хх - 77ххУй, глюки, проверялось на 55хх-57хх.
Его ядра я не видел.
> в несколько раз больше энергии, чем в винде или с официальным
> каталистом в линуксе.какая разница как в виндах? общественность разве интересовалась? давайте тогда уже напишите как в макоси, фряхе и солярке
> какая разница как в виндах?Ну как какая. Стремиться надо к лучшему что может выжать железо. Если где-то лучше - не лишне чтобы и пингвин так же научился бы.
Это тоже энергосбережение, для CPU :)
VDPAU - это хорошо. Также хотелось бы наконец поддержки Xv в glamor.
Очень хотелось бы все это великолепие в 3.10.
толсто же
А в чем сакральный смысл? На IvyBridge Core i7 FullHD отнимает 2/3 одного из ядер.
Я пробовал 4К гонять - 4 потока влегкую держит.
Лучше бы сделали аппаратную поддержку наследника H264
А теперь попробуйте посмотреть FullHD на Bobcat-е, или каком-нибудь Atom-е.
> Лучше бы сделали аппаратную поддержку наследника H264Это уже не к этим ребятам вопрос. Посмотрите на аппаратные возможности UVD3.
> А в чем сакральный смысл? На IvyBridge Core i7 FullHD отнимает 2/3 одного из ядер.В том что на всяких ноутах и прочих меньше жрать будет. Да и кора жрет при этом огого, а воющий вентиль у HTPC - не совсем то что людям хотелось бы видеть при просмотре кино.
reframe>=8, 15k kbps и я с удовольствием послушаю историю о том кто и как лётает на 1 ядре
Да и корочка, знаете ли, золотая. Для кинца намного дешевле купить низкопрофильный радик с пассивным охлаждением (обычно это бюджетные модели в семействе и стоят в пределах 30-40 баксов). Или ту же апушку от амд. Другое дело, что софтово на цпу можно играть что угодно (как уж получиться - неизвестно, но принципиальных ограничений нет)