LINUX.ORG.RU
ФорумTalks

Как стать полезным за 2 месяца или Научиться писать видеодрайверы

 , , , ,


4

13

Сегодня я окончательно осознал свою бесполезность для сообщества, чьими трудами я беззастенчиво пользуюсь.

Прикинув, что такого я мог бы сделать полезного для сообщества (окромя багрепортов) - сразу отмёл такие варианты, как «создать свой дистрибутив», «создать свой браузер», «создать свой текстовый редактор» и «напейсать свой плеер» по вполне очевидным причинам (думаю нет необходимости их озвучивать?).

Являюсь ярым и злостным пользователем xf86-video-ati, хотелось бы помочь в его развитии и внести хоть какой-то полезный вклад в самую узкую часть линукса.

Посоветуйте мануалы, что почитать, что поизучать, и чем вообще можно помочь мейнтейнерам видеодрайвера (в первую очередь интересует xf86-video-ati, ибо nvidia у меня теперь тупо нет).

Кастую RussianNeuroMancer и Behem0th, которые всегда в курсе последних новостей про видео.

Ах, да, почему «2 месяца» - сейчас опять сессия будет, опять 2-3 недели буду в отъезде со своим старым добрым Asus (да, он вернулся таки!) с опенсорс драйвером для ATi. А потом будет немного свободного времени, из которого хотелось бы выжать максимум пользы.

★★★★

Респект и уважение, если все получится! Начать с чтения сырцов и спефицикаций, и подписаться на рассылку.

XVilka ★★★★★ ()
Последнее исправление: XVilka (всего исправлений: 1)

Как стать полезным за 2 месяца или Научиться писать видеодрайверы
Метки: amd, ati, how to, linux, xf86-video-ati

теперь понятно почему у amd такие драйвера. . .

comp00 ★★★★ ()

Лучше влейся в разработку Вяленого.

Kindly_Cat ()

Ничем, кроме тестирования и заполнения багрепортов. Осиль svn(ну или что там у них используется?) и багзиллу.

Lighting ★★★★★ ()

Сделай так, чтобы на Radeon HD3200 композитинг не тормозил, добрый человек.

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

теперь понятно почему у amd такие драйвера. . .

Для начала было бы неплохо во всём разобраться, а там видно же будет. Я и не претендую на написание видеодрайвера с нуля на уровне лучшем, чем пишут кодеры AMD. Просто мне кажется, что это та область, где были бы нужны помощники.

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

Лучше влейся в разработку Вяленого.

Дык для него всё равно драйвер нужно будет пилить.

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

Ничем, кроме тестирования и заполнения багрепортов.

Ну, баг с 6970 и сбитой картинкой я таки разобрался как победить. Был составлен багрепорт, получен патч, который был успешно применён. Довольно интересно, кстати =)

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

Если не осилите - попробуйте фиксить баги KDE / Gnome.

В любом случае буду рад оказаться полезным.

И эта, хватит уже ко мне на «вы» =/, я себя старым чувствовать начинаю.

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

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

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

Сделай так, чтобы на Radeon HD3200 композитинг не тормозил, добрый человек.

Я бы с удовольствием.

А что именно тормозит? Там есть глюк с vsync, его крайне желательно отключать в WM/DE, и включать принудительно в xorg.conf.d/20-radeon.conf в виде опции EXAVSync «on». Мне помогает победить глюки kwin в кедах/глюки компиза в unity, по крайней мере анимация перестаёт дёргаться как потерпевшая.

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

Думаю он предлагает продолжить фиксить баги, попутно разбираясь как это работает

bitick ()

Учимся писать драйвера для видеокарты за 21 день 2 месяца. Будь реалистом, даже не начинай.

vladkuzm ()

начни просто разбирать галлиум, там есть вменяемые доки, можно начать с написания небольшого post processing effect
/mesa/src/gallium/auxiliary/postprocess/ADDING

Novell-ch ★★★★★ ()

сразу отмёл такие варианты, как «создать свой дистрибутив», «создать свой браузер», «создать свой текстовый редактор» и «напейсать свой плеер»

А вот и зря.

kernelpanic ★★★★★ ()

Оформись как тестер. Т.е. сообщи разрабам, что у тебя есть карточка xxxx и ты можешь проверять любую хню, что они напишут.

Pavval ★★★★★ ()

Хорошая затея, полезная. Только сроки надо ставить в соответствии со знаниями, вот например писал ли ты раньше ядренные модули? Вообще, на С уверенно кодишь?

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

fang90 ★★★★★ ()

Больше чем тут написали я и сам не знаю. Единственное могу накинуть ссылки на конкретные задания.

Radeonsi

http://dri.freedesktop.org/wiki/RadeonsiToDo

r600g

http://dri.freedesktop.org/wiki/R600ToDo

Missing Functionality(это в общем по OpenGL в месе)

http://dri.freedesktop.org/wiki/MissingFunctionality

Задания к GSoC но может что заинтересует.

http://www.x.org/wiki/SummerOfCodeIdeas

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

Ну и как вариант в багзиле искать баги воспроизводимые на твоей карте и пытаться фиксить их.

Behem0th ★★★★★ ()

Научиться собирать ядро с отладочной инфой и делать дамп при падении.

O02eg ★★★★★ ()

Ах, да, почему «2 месяца» - сейчас опять сессия будет

Теперь понятно почему опенсорц-дрова да и вообще весь опенсорц ужасен чуть менее чем полностью.

lyrix87 ()

Создание драйверов - это высший пилотаж системного программирования, так что за 2 месяца этому врядли можно научиться, если раньше подобным не занимался.

x-signal ()

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

trex6 ★★★★★ ()

рассылка - ирц конференция - тесты - багрепорты - чтение\понимание кода - патчи патчи патчи - новые фичи

Thero ★★★★★ ()

Реализуй поддержку Polygon stippling в r600g при помощи TGSI шейдеров. Интересный народ тусит на #dri-devel и #radeon.

x4DA ★★★★★ ()

бро, я пишу даже не то, что видеодрайвер, а обертку для них.

скажу сразу - на помощь амд здесь рассчитывать не надо, ибо 90% их кода - это тупо legacy от икспишки, ломом перекованное под висту, оттуда топором обструганное для 7ки, и сбоку гвоздями прикручен dx11 для 8ки. остальные 10% делают реальный work. это деинтерлейсы, видеофильтры, типа контраста и убирания дрожания камеры.

ckotinko ☆☆☆ ()

Пиши багрепорты и максимально тестируй драйвер. И в рассылке сиди.

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

Зачем обязательно его и почему именно через TGSI? TGSI амд закапывает в сторону LLVM. ИМХО лучше уж HiperZ допилить, но ТС на текущем этапе к сожалению не потянет.

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

скажу сразу - на помощь амд здесь рассчитывать не надо, ибо 90% их кода - это тупо legacy от икспишки, ломом перекованное под висту, оттуда топором обструганное для 7ки, и сбоку гвоздями прикручен dx11 для 8ки. остальные 10% делают реальный work. это деинтерлейсы, видеофильтры, типа контраста и убирания дрожания камеры.

Причём тут свободный драйвер?

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

почему именно через TGSI? TGSI амд закапывает в сторону LLVM

Там промежуточный транслятор, так что от TGSI никто не отказывается.

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

и madgnu Я не претендую на истину но я представляю ситуацию так. На данный момент универсальный «внутренний» шейдерный язык TGSI(часть галлиума.) Шейдерный компилятор написан практически полностью написан интеловцами и они используют свой промежуточный GLHL IR для своих драйверов. Для использования шейдерного компилятора в галлиуме используется GLHL IR > TGSI транслятор. С приходом стей трекера OpenCL встал вопрос что использовать. Интеловцэ остались на своем GLHL IR, нувовци решили использовать TGSI, амдешники решили спользовать ЛЛВМ. Вот имхо они и переводят свой драйвер сейчас с TGSI на ЛЛВМ.

Там промежуточный транслятор, так что от TGSI никто не отказывается.

Там транслятор GLHL IR > TGSI > LLVM сейчас. Один из разработчиков писал что они «меса-тим» сами не знают какой промежуточный язык выбрать. у всех есть свои плюсы и минусы. И они решили пока использовать то что нравится а через годок сравнить результаты и выбрать лучший.

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

hIperz

HyperZ, фейспалмом мне по голове(

http://ru.wikipedia.org/wiki/HyperZ

Патчи уже написаны но есть проблемы.

R600g Gallium3D HyperZ

В ходе обсуждения в рассылке выяснилось что lock-up'ы случаются из-за железа, но проблема в том что нельзя считать это хардварным багом. Просто в блобе железо используется другим способом который не вызывает lock-up'ы.

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

Пожалуй очень хорошая идея. Т.к. у Тс 2 месяца для полного познания дзень написания дров, времени мало.

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

Учимся писать драйвера для видеокарты за 21 день 2 месяца. Будь реалистом, даже не начинай.

Разве обязательно достичь дзена за 2 месяца? Просто у меня между сессиями (досдаточной и потом госниками) будет свободное время, которое хотелось бы потратить с пользой, а не просто тупо играя в БФ3.

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

А вот и зря.

Таки советуешь напейсать 100500-ый плеер? BTW, есть всеядный vlc и есть библиотечный amarok с текстами и прочей шляпой. Больше ничего не нужно.

А браузер запилить - это слишком тяжёлый и сложный проект, который так просто не осилить.

ekzotech ★★★★ ()
Ответ на: комментарий от x-signal

Создание драйверов - это высший пилотаж системного программирования, так что за 2 месяца этому врядли можно научиться, если раньше подобным не занимался.

Ок, можно не 2 месяца. Если настолько сложно - сколько времени выделять? Год?

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

Теперь понятно почему опенсорц-дрова да и вообще весь опенсорц ужасен чуть менее чем полностью.

Уйди, зелёный.

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

Реквестирую дневник, где будут описываться твои похождения на ниве драйверостроения.

Да это везде нужно, не только в драйверах. Пытаюсь всё это запилить.

ekzotech ★★★★ ()

Большое спасибо всем отписавшимся!

Накидали годной инфы, которую и буду изучать, а там видно будет что и как.

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

Если настолько сложно - сколько времени выделять? Год?

Чтобы понять сколько времени потребуется, попробуй не заглядывая в исходники ядра написать какой-нибудь простой драйвер, например, читающий по i2c данные с датчика у тебя в компе и отображающий их через файл в /proc.

x-signal ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.