В драйвере для видеокарт AMD семейства HD7000 (Southern Islands) реализована (http://cgit.freedesktop.org/xorg/driver/xf86-video-ati/commi...) поддержка 2D-ускорения. На реализацию поддержки было потрачено достаточно много времени, так как HD7000 являются первыми видеокартами с существенно переработанной архитектурой GCN (Graphics Core Next), оптимизированной на произвольные вычисления (GPGPU) и заметно отличающейся от предшественников, что потребовало написания отдельного драйвера, хоть и частично базированного на коде драйвера R600g.
Реализация 2D-ускорения в данном драйвере являет собой достаточно важную веху в развитии, поскольку было принято решение реализовать поддержку ускорения 2D-вывода через ускорение 3D, используя библиотеку GLAMOR (http://www.freedesktop.org/wiki/Software/Glamor), что позволит не тратить усилия на отдельную реализацию 2D-ускорения. Ценой данного решения стала необходимость в полноценно работающей инфраструктуре 3D-ускорения данного драйвера до того как начнет работать 2D-ускорение. В прошлом месяце в драйвер RadeonSI был внесен (http://www.phoronix.com/scan.php?page=news_item&px=MTIzNzU) ряд исправлений, касающихся 3D-ускорения, после чего Михель Дэнцер (Michel Dänzer) из компании AMD представил 2 патча, включающих поддержку 2D-ускорения через библиотеку GLAMOR.Напомним, что особенностью архитектуры 2D-акселерации GLAMOR, которая была предложена компанией Intel, является использование OpenGL для ускорения 2D-операций. В отличие от SNA и UXA, GLAMOR перекладывает выполнение всех операций рендеринга на плечи внешней библиотеки, которая использует OpenGL для ускорения отрисовки.
URL: http://www.phoronix.com/scan.php?page=news_item&px=MTI2MjY
Новость: http://www.opennet.me/opennews/art.shtml?num=35706
И как с производительностью при таком подходе?
Как оно будет в конкретной инкарнации - это мы будем посмотреть когда они драйвер допилят окончательно. А так - в плеерах например вывод видео через сущности OpenGL - вполне обычная практика. Т.е. в принципе подход вполне себе живет и используется.
Да, но оно и при выводе видео в плеере не особо блещет расторопностью.
Ну и особой тормознутостью тоже в общем то. Зачастую это один из самых быстрых способов вывода видео, хотя зависит от драйверов разумеется.
С производительностью все не столь хорошо.
Glamor придумал Intel, когда понял, что на его интеграшках выгоднее всегда держать частоты и конвеер в 3D режиме (хотя лично у меня SNA без гламура заметно быстрее). Но не на мощных дискретках же!Да, я понимаю, что пилить нормальную честную поддержку 2D лениво. Ну а что делать?
Glamor - это лишний оверхед, лишние сущности, ненужный нагрев воздуха и повышение энтропии вселенной.У самого дома сейчас 2х7770 (кросс, но это не столь важно).
Приходится стиснув зубы сидеть на блобе, потому как вариантов особо нет - либо костыли, либо тормоза и глюки в 2D.
Естественно, пришлось бы тебе с блобом сидеть в любом случае с таким набором ))))))) Прям, стиснув зубы :D
И да, нормальный драйвер уже костыль? ппц...
> И да, нормальный драйвер уже костыль? ппц...Да, потому что чужеродный элемент в системе. Заноза в з@днице. С проприетарью в открытой системе вечно тупые проблемы, она вечно тормозит прогресс, там вечно что-то отваливается.
конечно! блобный костыль в православной гентушечке
А что подразумевается под честной поддержкой 2d?Если ничего не путаю, то блока 2d ускорения в радиках давным-давно нет. Так что гламур ничуть не хуже других решений. Просто, amd`шники не стали сами изобретать велосипед, а воспользовались уже написанным. По идее, при _идеальной_ реализации 3d-ускорения и безбажном гламуре, 2d тоже должно быть на уровне (ну, или будет годика через 2 :) ).
На тех же 7770 вентилятор при работе в 2D может просто-напросто останавливаться - за ненадобностью. В 3D же он набирает обороты и делает карту куда менее тихой. Так что разницу между честным 2D и эмуляцией через 3D легко понять на слух...
> В 3D же он набирает оборотыВы уверены что это связано с неким переключением некого режима из 2D в 3D, а не просто с возросшей нагрузкой при обсчёте 3D, возросшей из-за этого частотой и как следствие -тепловыделением?
> возросшей из-за этого частотой и как следствие -тепловыделением?Именно этим самым. Драйвера обычно меняют частоту сугубо на основании загрузки GPU - если она большая, частота задирается. Правда у открытого драйвера эта логика пока работает довольно странно и своеобразно.
Насколько я понял идею инженеров AMD, карточка просто отключает большую часть своих блоков, когда они не нужны. Программная эмуляция 2D через 3D не позволит ей пребывать в таком "холодном" состоянии.
> Насколько я понял идею инженеров AMD, карточка просто отключает большую часть своих
> блоков, когда они не нужны.Насчет новых не скажу, а HD5xxx/6ххх по моим наблюдениям просто люто скидывают частоту памяти и крушилок (скидывает частоты драйвер GPU). В минимальном режиме память лично у меня даунклокается с 1200 до 300 МГц, а крушилки с 850 до 150. Если не ошибаюсь, при этом еще и вольтажи немного снижаются до кучи. Жрет оно при этом кардинально меньше. Во много раз. Насчет полной отключки не в курсе: числокрушилки и память совсем отключить все-равно не выйдет. А кто работать то будет?
> Программная эмуляция 2D через 3D не позволит ей пребывать в таком "холодном" состоянии.
Так там каких-то специальных блоков для ускорения 2D вроде как и нет уже несколько поколений, по поводу чего не понятно откуда профит наступает.
Зря вы про память. У меня на карточке гигабайт, что значительно превышает нужное для 2D количество памяти. Убрать питание со всех банков, кроме одного - это уже профит...
Опять же, вопрос, насколько оптимальной будет программная эмуляция и сможет ли она объяснить драйверу, что можно включать троттлинг.
Хардварного блока ускорения нет начиная с 5000 серии.
Это не мешало в xf86-video-ati его реализовывать привычным способом через EXA без гламура.И опять же - там все 2D->3D эмулируется в железе, а не софтово, как это делает гламур.
>при _идеальной_ реализации 3d-ускорения
Gallium. Слишком большой оверхед и любит процессор жрать.
> И опять же - там все 2D->3D эмулируется в железе, а не софтово, как это делает гламур.Просто 2D как-то так получился частным случаем 3D. А раз уж оно есть - странно этим не пользоваться.
>Gallium. Слишком большой оверхед и любит процессор жрать.Вообще-то процессор жрал синхронный DMA. Сейчас запилили A-DMA и нагрузка резко упала.
Эээ "Сейчас запилили A-DMA и нагрузка резко упала." - вы что, издеваетесь? Это будет еще не раньше следующего ядра, и еще неизвестно, не добавит ли проблем..
> Это будет еще не раньше следующего ядра,...и юзермод допилить надо. Но будет.
> и еще неизвестно, не добавит ли проблем..
Да не должен особо. А чему такому в DMA проблемы добавлять? Там вон народец HyperZ для R600+ таки вроде как допилил до кондиции - еще ништяки. В общем, в новом году будет интересно.
2D-ускорения
> частоты и конвеер в 3D режимеА что есть "частоты в 3D режиме"? oO
>А что есть "частоты в 3D режиме"? oOВ биосе прошиты частоты для разных режимов работы же.
По возрастающей:
простой -> 2D -> декодирование видео -> 3D.
> простой -> 2D -> декодирование видео -> 3D.Ну да, щаз. Там конечно зашиты разные частоты, но переход между ними происходит чисто по усмотрению драйвера. То-есть, вполне возможно зафорсить максимальный клок при нифиганеделании (видяха будет излишне отапливать воздух просто так) или форсануть миниимальный клок в 3D гамезе (получите на сложных сценах поганый FPS). Открытый драйвер радеонов (не сабжевых, а R600g) позволяет форсануть конкретный режим просто влобовую. У закрытого есть некое API для управления оверклоком и андерклоком вообще.
Кстати на эффект близкий к первому иногда матерятся юзеры открытого драйвера, особенно с нотиками, т.к. драйвер по неведомой причине на автомате гуляет только между средним и максимальным режимами клоков. А минимум вообще не юзает. По поводу чего и жрет, собственно.
> Да, я понимаю, что пилить нормальную честную поддержку 2D лениво. Ну а что делать?А что есть "честная поддержка 2D"? Собственно там массив числокрушилок да некоторые специфичные аппаратные блоки, в основном нацеленные на упрощение самых тяжелых 3D операций.
Спасибо за подарок на новый год. Побегу в магазин за GCN. Дед мороз таки существует!
> Спасибо за подарок на новый год. Побегу в магазин за GCN. Дед мороз таки существует!Эм... драйвер еще сыроват пока. Я бы подождал стабилизации всего этого. Хотя понятия о стабильности у всех разные. Просто указанный драйвер для требовательных 3D нагрузок пока еще не айс. Сырой/местами недопиленный. Из амдшных открытых дров хорошо развит R600g, через который работают все предыдущие карты VLIW4/5 (из более-менее актуальных это HD5xxx/6xxx).
Дело не в том насколько он хорош. Это дело принципа - не хотел покупать железку пока не было реального подтверждения что "осилили". Два- три месяца и на блобе или самопатченом ядре поживу. До этой новости все было вилами по воде, а сейчас уже можно.
> реального подтверждения что "осилили".Ну это рано или поздно осилят, как ни крути. Просто тайминг в этом случе неудачный: серия уже год как есть, а открытый драйвер хоть и есть, но сырой. Думаю в 8000-й cерии это будет более удачно в том плане что она мало отличается архитектурно и ее будет проще поддержать.
А еще мне интересно: где вы GCN более-менее недорогие нашли? :)
> А еще мне интересно: где вы GCN более-менее недорогие нашли? :)7770 от 3,5 на яндекс-маркете
Молодцы, ждем тестов. Я уже начинаю верить в их обещания об изкоробочно-рабочем драйвере для 8ххх. Так глядишь может и производительность подтянут, хотяб на 90% от блоба.
Если производительность подтянут до 90% от блоба, это будет что-то невероятное. 90%-ная мощность из коробки таких монстров - это огромный жирный плюс. Nouveau будет выглядеть не просто уныло. а совсем...
>Nouveau будет выглядеть не просто уныло. а совсем...Нуво довольно быстр - похороникс вроде процентов 75-80 от блоба насчитал. У него основная проблема не в месе, а в drm (отсутствие подержки реклока)
Это зависит от приложения и карточки. В основном как раз таки в районе 10% от блоба крутится и ниже, особенно 4хх серия.
>В основном как раз таки в районе 10% от блоба крутится и ниже, особенно 4хх серия.Скажу по-секрету, частота GPU, которую ставит нуво на 4xx серии по-дефолту (aka самый низкий уровень, записанный в биосе) как раз составляет 10-15% от максимальной, на которой гоняет блоб.
Судя по тестам того же фороникса, не настолько сильно оно помогает сколько лишних проблем прибавляет. И тестили они на 2хх серии - одной из самой нормально поддерживаемой свободными дровами. Пишут что на ГФ 8/9 оно практически не работает, на новых и подавно.
зависимость между ростом частоты и производительности нелинейна, вообще-то
экспоненциальная?
> зависимость между ростом частоты и производительности нелинейна, вообще-тоА какая же?
> Скажу по-секрету, частота GPU, которую ставит нуво на 4xx серии по-дефолту (aka
> самый низкий уровень, записанный в биосе) как раз составляет 10-15% от
> максимальной, на которой гоняет блоб.Бенчи не подтверждают этот тезис чего-то. Производительность явно не 10% от оригинала.
>реализовать поддержку ускорения 2D-вывода через ускорение 3D, используя библиотеку GLAMORМдя.. Ну то есть можно продолжать сидеть на блобе.
Потому как ЭТО - по сути отсутствие как 2D, так и 3D.
А смысл не сидеть на блобе? Хочется греть атмосферу и иметь полурабочее железо? Смысл в этом какой?
Затем, что меньше гимора с обновлением драйвера, затем, что 2D в открытых драйверах (на предыдущих поколениях карт) был намного быстрее, затем, что работает стабильнее, затем, что KMS. Узколобенький вы наш.
Забыл самый убойный аргумент: затем, что Linux-only :-D
> Забыл самый убойный аргумент: затем, что Linux-only :-DОстальным никто не запрещает реализовать KMS. А то что они слоупоки - сами виноваты. Линуксоиды по крайней мере пытаются вытащить свою графическую подсистему на нормальный уровень, а остальные - забили.
>> Забыл самый убойный аргумент: затем, что Linux-only :-D
> Остальным никто не запрещает реализовать KMS. А то что они слоупоки -
> сами виноваты. Линуксоиды по крайней мере пытаются вытащить свою графическую подсистему
> на нормальный уровень, а остальные - забили.Intel — это "линуксоиды". А ты — никто и звать тебя никак.
Это Inlel, вечно плетящаяся в хвосте высокопроизводительной 3D-графики, в своё время подсунула в ядро Linux законченное решение в виде инфраструктуры GEM/KMS и тем самым заставила других вендоров графических решений (X.org в их числе) плясать под свою дудку!
Однако, ATI и NVIDIA никогда не пользовались инфраструктурой своего конкурента, а предлагали собственные проприетарные драйверы. И до сих пор серьёзно опережают Intel по части реализации высокопроизводительной 3D-графики.
> Хочется греть атмосферуА я и не грею - когда не использую игры, уталкиваю GPU на минимум и он вообще холодный. Ибо 150МГц вместо 850. Что как бы огого какая разница. Это с открытым драйвером. Просто кошек надо уметь готовить :)
Откуда такие выводы? Карта не имеет 2D аппаратных блоков вообще, все в любом случае работает как 3D.
> Откуда такие выводы? Карта не имеет 2D аппаратных блоков вообще, все в
> любом случае работает как 3D.Читай коммент выше. Одно дело пихать 2D на видяху, которая сама отрабатывает данный случай, не поднимает частоты и эмулирует все через 3D.
А другое дело - софтово переводить 2D->3D, иметь увеличенное потребление процессора и повышение частот и нагрева видяхи, которой 3D суют.
>сама отрабатывает данный случайВ твоих фантазиях. Там отрабатывает одно и то же, там НЕТ БЛОКОВ 2D ВООБЩЕ. Нечему там отрабатывать. Совершенно. Даже если ьы очень очень захочешь. Потому что их нет. Уже 2 поколения нет.
>софтово переводить 2D->3D
Оно и так софтово, начиная с HD5000.
Там ФИЗИЧЕСКИ НЕТ того, что могло бы определить 2D ты рисуешь или 1D или 3D. Там тупо набор большого числа векторных ALU, с простенькой обвязкой для экономии места и удешевления. Оно умеет только испольнять код сових операций. Вот mul %a, %b это 2D или 3D, пора увеличивать чатстоту или еще нет? Знатоки блин. Идите фаркрай тестируйте.
> 1D или 3D. Там тупо набор большого числа векторных ALU, с
> простенькой обвязкой для экономии места и удешевления.Не, ну блоки для ускорения наиболее тяжелых операций есть, только в основном это все на 3D ориентировано, ясен перец.
> Мдя.. Ну то есть можно продолжать сидеть на блобе.Можно. Законодательно не запрещается. Просто блобы по вкусу далеко не всем.
Power Management бы реализовали. У меня ноут вырубается не от того, что садится батарейка, а еще раньше: от перегрева. Только с закрытым драйвером получается работать.
> Power Management бы реализовали. У меня ноут вырубается не от того, что
> садится батарейка, а еще раньше: от перегрева.С именно GCN графикой? А то для более ранних он уже реализован и в принципе работает. Правда автоматическое управление несколько хромает. Но в конце концов реклокнуть при запуске игрушки можно и руками. Не очень эстетично, но эффективно и результативно.
> С именно GCN графикой? А то для более ранних он уже реализован
> и в принципе работает. Правда автоматическое управление несколько хромает. Но в
> конце концов реклокнуть при запуске игрушки можно и руками. Не очень
> эстетично, но эффективно и результативно.У меня Radeon HD 6520G (SUMO) и некто, распознаваемый как "Radeon HD 6400M/7400M Series" (микрокод подхватывется CAICOS). Второй, вроде, Evergreen, как-раз, но иксы грузились с первым, судя по слову "SUMO" в выводе 'glxinfo'. Все-равно печка.
У меня вопрос: как с открытыми дровами узнавать какой именно адаптер используется, и точно ли отключен второй (а то мало ли, может там Dual-graphics моде работает, или вовсе второй вхолостую греет)?
Так что, в AMD решили поработать с Intel сообща? HD7000 это ведь не только видяхи, но ещё и интегрированное видео на чипах A6-A8-A10. Если для драйверов AMD и Intel будет использоваться один софт это ведь будет плохо для nVidia.
> Так что, в AMD решили поработать с Intel сообща?Даже у конкурентов могут местами быть совместные интересы. Ну вот ускорение графики в лине им нужно обоим. И если можно спихать часть работы на других и конкурента - выглядит довольно интересно, а? :)
>> Так что, в AMD решили поработать с Intel сообща?
> Даже у конкурентов могут местами быть совместные интересы. Ну вот ускорение графики
> в лине им нужно обоим. И если можно спихать часть работы
> на других и конкурента - выглядит довольно интересно, а? :)для меня выглядит интересно, всё-таки купил очередную систему только на AMD, хотя подмывало взять Intel и nVidia
> для меня выглядит интересно, всё-таки купил очередную систему только на AMD, хотя
> подмывало взять Intel и nVidiaУ интел хорошие драйвера, но сами GPU у них хиленькие, что никакой драйвер не компенсирует особо. А у нвидии блоб может и неплохой, но обладает всеми недостатками блоба. А открытый нуво по сравнению с интелем и амд явно недоразвит. А у амд несколько более кривой блоб, зато открытые драйвера явно лучше нуво. В общем идеала пока нет.
> HD7000 это ведь не только видяхи, но ещё и интегрированное видео на чипах A6-A8-A10.VLIW4, ГП Trinity на архитектуре HD69xx.
Кто-то в интернетах ошибается?http://www.ferra.ru/ru/system/news/2012/09/27/AMD-Second-Gen.../
Из новости по ссылке:
>Что касается интегрированной графики, то в топовых десктопных чипах AMD Trinity она включает в себя 384 потоковых процессора с производительной микроархитектурой VLIW4То, что чипы обозвали HD7000, не наделяет их архитектурой CGN, так же как интеграшка 740G не принадлежит серии HD2000, несмотря на название HD2100.
http://www.amd.com/US/PRODUCTS/DESKTOP/APU/MAINSTREAM/Pages/...прямо дело было вечером, делать было нечего, и решили в AMD изменить нумерацию графических ядер... бессмыслица какая-то, подумаешь работает на пару с HD6670 - велика разница, прогресс должен идти своим чередом
Ну вообще он прав, у Llano был VLIW5, у тринек VLIW4
http://www.x.org/wiki/RadeonFeatureNorthern Islands: HD6450, HD6570, HD6670, HD6790 - HD6990, HD64xxM, HD67xxM, HD69xxM, HD7450 - HD7670
В каком смысле сообща ?) Гламур сделал работник Интел, но потом кинули и начали пилить SNA. Разработка открытая, чего бы АМД не подобрать и не доработать ? Интел им не помогает - это просто плюс опенсорса дает о себе знать.
http://www.phoronix.com/scan.php?page=article&item=intel_gla...SNA не сильно лучше Glamor, на первый взгляд... молодцы что подобрали
Отличная новость! Глядишь, через 10 лет и до 3D доползет! :D
> Отличная новость! Глядишь, через 10 лет и до 3D доползет! :DОн уже дополз до какого-никакого 3D, тупо потому что это требовалось для работы 2D выводимого через 3D :)
А я для мобильного 7650M и блоба-то не нашел. После установки же десктопной версии блоба даже иксы отказываются запускаться.
С встройками всегда были и будет проблемы - так как частенько производителям встроек разрешают менять прошивку и тюнинговать параметры на гране фола, из за битвы с конкурентами. Так что если производитель ноута что то там силно перетюнинговал, то жди блоба именно от них и не факт что он заработает, так как пользовательская база очевидно меньше.
Это замечательно, но сколько еще ждать 3Д?
у меня работает. Sapphire hd7750.
драйвер radeonsi в mesa.Gentoo kernel 3.6.11 + XServer 1.12.99 (git-a615b90) + glamor 0.5 + Mesa git + llvm 3.3svn + xf86-video-ati git
OpenGL vendor string: X.Org
OpenGL renderer string: Gallium 0.4 on AMD CAPE VERDE
OpenGL version string: 2.1 Mesa 9.1-devel (git-a076c27)
OpenGL shading language version string: 1.20игрушки идут) правда только x64 т.к. не собрана 32-bit версия драйвера в системе.
видео можно играть через библиотеку vdpau используя libvdpau_radeonsi.so из Mesa. но пока hw акселерация не реализована.