Description
Valentin Lutt
2013-06-27 11:29:58 MSK
Created attachment 5861 [details]
исходники модуля ядра для crystalhd
В продолжение. После того, как выяснил что наличие отсутствия asm/system.h для ядра выше 3.3 это нормально, попробовал следуя рекомендациям закомментировать соответсвующие строки и нарвался на целую кучу других ошибок, которые выплывают уже на ядре выше 3.8 после чего утащил с убунтовского git'а патченные исходники и откомпилировал их, не все разумеется, а только которые в /driver/linux для модуля ядра, остальное было оставлено альтовское. Собралось без проблем, как для последнего std-def в виртуалке, так и для последнего un-def на реальном нетбуке. Как на виртуалке не знаю, а на нетбуке работает. Исходники которые компилировались прилагаются. (В ответ на комментарий №2) > В продолжение. > После того, как выяснил что наличие отсутствия asm/system.h для ядра выше 3.3 > это нормально, попробовал следуя рекомендациям закомментировать соответсвующие > строки и нарвался на целую кучу других ошибок, которые выплывают уже на ядре > выше 3.8 после чего утащил с убунтовского git'а патченные исходники и > откомпилировал их, не все разумеется, а только которые в /driver/linux для > модуля ядра, остальное было оставлено альтовское. Собралось без проблем, как > для последнего std-def в виртуалке, так и для последнего un-def на реальном > нетбуке. Как на виртуалке не знаю, а на нетбуке работает. > Исходники которые компилировались прилагаются. Спасибо. Мы собираем из этого гита, так что вопрос только в том, чтобы включить модуль в config. При следующей сборке ядра сделаем. > > нетбуке. Как на виртуалке не знаю, а на нетбуке работает.
> > Исходники которые компилировались прилагаются.
>
> Спасибо. Мы собираем из этого гита, так что вопрос только в том, чтобы включить
> модуль в config.
Увы, мы собираем ядро из убунтовского гита, но не из этого -- это внешний модуль.
Попробую собрать в ближайшие дни.
Поясню, почему не "прямо сейчас": по хорошему надо упаковать kernel-source-crystalhd из libcrystalhd и сделать на них патч из этих исходников. вообще-то модуль crystalhd.ko находится во всех +- свежих ядрах в подпакете -staging (В ответ на комментарий №6) > вообще-то модуль crystalhd.ko находится во всех +- свежих ядрах в подпакете > -staging 2lutt: прошу проверить, установив соответствующий пакет. Да я уже сам rpm вытянул и распаковал. Есть там этот модуль. Насколько рабочий пока не знаю. Вечером могу установить для ядра std-def и проверить. Для un-def трогать пока не хочу, там самосборный живёт. Кстати, они почему то по разным путям встают. Самосборный живёт в /lib/modules/kernel_version/kernel/drivers/video/broadcom/ а штатный в /lib/modules/kernel_version/kernel/drivers/staging/crystalhd/ Установил для последнего std-def. Файл с такими параметрами Complete name : /home/valentin/Документы/Видео/00019.m4v Format : MPEG-4 Format profile : Base Media / Version 2 Codec ID : mp42 File size : 67.2 MiB Duration : 28s 629ms Overall bit rate mode : Variable Overall bit rate : 19.7 Mbps Movie name : 00019 Encoded date : UTC 2013-07-03 17:56:52 Tagged date : UTC 2013-07-03 17:58:02 Writing application : HandBrake rev0 2013021199 Video ID : 1 Format : AVC Format/Info : Advanced Video Codec Format profile : High@L4.0 Format settings, CABAC : Yes Format settings, ReFrames : 4 frames Codec ID : avc1 Codec ID/Info : Advanced Video Coding Duration : 28s 533ms Bit rate mode : Variable Bit rate : 19.3 Mbps Width : 1 920 pixels Height : 1 080 pixels Display aspect ratio : 16:9 Frame rate mode : Constant Frame rate : 30.000 fps Color space : YUV Chroma subsampling : 4:2:0 Bit depth : 8 bits Scan type : Progressive Bits/(Pixel*Frame) : 0.311 Stream size : 65.8 MiB (98%) Writing library : x264 core 129 Encoding settings : cabac=1 / ref=3 / deblock=1:-1:-1 / analyse=0x3:0x113 / me=hex / subme=7 / psy=1 / psy_rd=1,00:0,15 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-3 / threads=12 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=300 / keyint_min=30 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=crf / mbtree=1 / crf=22,0 / qcomp=0,60 / qpmin=4 / qpmax=69 / qpstep=4 / vbv_maxrate=25000 / vbv_bufsize=31250 / crf_max=0,0 / nal_hrd=none / ip_ratio=1,40 / aq=1:1,00 Encoded date : UTC 2013-07-03 17:56:52 Tagged date : UTC 2013-07-03 17:58:02 Color primaries : BT.709-5, BT.1361, IEC 61966-2-4, SMPTE RP177 Transfer characteristics : BT.709-5, BT.1361 Matrix coefficients : BT.709-5, BT.1361, IEC 61966-2-4 709, SMPTE RP177 Audio #1 ID : 2 Format : AAC Format/Info : Advanced Audio Codec Format profile : LC Codec ID : 40 Duration : 28s 629ms Bit rate mode : Variable Bit rate : 160 Kbps Maximum bit rate : 169 Kbps Channel(s) : 2 channels Channel positions : Front: L R Sampling rate : 48.0 KHz Compression mode : Lossy Stream size : 559 KiB (1%) Encoded date : UTC 2013-07-03 17:56:52 Tagged date : UTC 2013-07-03 17:58:02 Audio #2 ID : 3 Format : AC-3 Format/Info : Audio Coding 3 Mode extension : CM (complete main) Codec ID : ac-3 Duration : 28s 608ms Bit rate mode : Constant Bit rate : 256 Kbps Channel(s) : 2 channels Channel positions : Front: L R Sampling rate : 48.0 KHz Bit depth : 16 bits Compression mode : Lossy Stream size : 894 KiB (1%) (В качестве исходника брался MTS файл с AVCHD камеры) Rosa MP вообще не показывает, только звук на сером фоне идёт, xbmc проигрывает с жуткими тормозами и раcсинхронизацией. Этот же файл на ядре un-def с самосборным модулем Rosa проигрывает без особых проблем, xbmc заикается. Машинка обыкновенный нетбук на N270 с 950GMA. В ~/.mplayer/config прописано vc=ffmpeg12crystalhd,ffodivxcrystalhd,ffh264crystalhd,ffvc1crystalhd, lavdopts=o=crystalhd_downscale_width=1024, PS: Сырое видео с камеры этому модулю не по зубам. PPS: Попозже переключусь на ядро 3.8.3 посмотрю что там mplayer в консоль пишет, но на modprobe crystalhd ругани не было. Хорошо бы проверить всё-таки на un-def, так как у ядра un-def лучше отзывчивость на таких задачах. (В ответ на комментарий №10) > Хорошо бы проверить всё-таки на un-def, так как у ядра un-def лучше > отзывчивость на таких задачах. Не, ядро не при чём. В общем то с ситуацией разобрался. Дело в том, что в процессе экспериментов я ещё фирмварь на более свежую подмахнул и сейчас имеется следующая ситуация: Со свежей фирмварью и опцией lavdopts=o=crystalhd_downscale_width=1024 самосборный модуль отрабатывает нормально (загрузка процессора не более 40%), а с модулем из репозитория mplayer эту опцию обработать не может. Без этой опции одинаковые тормоза что с самосборным модулем, что с модулем из репозитория.Что и понятно, поскольку больше данных туда-сюда гонять приходится. Со старой фирмварью и этой опцией затык mplayr'а независимо от того, какой модуль используется и одинаковые тормоза без этой опции. Хотя более лёгкое видео 1080p, например отсюда http://mirror.bigbuckbunny.de/peach/bigbuckbunny_movies/big_buck_bunny_1080p_surround.avi проигрывается без проблем без всякого предварительного масштабирования платой и с обеими вариантами модулей или фирмвари. (В ответ на комментарий №11) > с модулем из репозитория mplayer эту опцию обработать не может. В пакете модуль сильно устарел. AW-VD920 (PCIID 14e4:1615) в нем вообще не поддерживается. (В ответ на комментарий №12) > AW-VD920 (PCIID 14e4:1615) BCM70015 имеется ввиду. Created attachment 6266 [details]
crystalhd-std-def-2.14.37-alt1.patch
На BCM70015 с патчем у меня заработало ускорение в gnome-mplayer. (В ответ на комментарий №14) > crystalhd-std-def-2.14.37-alt1.patch Источники: http://packages.altlinux.org/en/Sisyphus/srpms/libcrystalhd https://github.com/frugalware/frugalware-current/tree/master/source/xmultimedia/crystalhd Антон, приложи пожалуйста, раз уж у нас есть на чём тестировать. И да, наверное надо на Sisyphus перевешивать ? Created attachment 6275 [details]
crystalhd-std-def-3.14.37-alt1.ko
Created attachment 6276 [details]
crystalhd-std-def-3.14.38-alt1.ko
Created attachment 6282 [details]
crystalhd-std-def-3.14.41-alt1.ko
Created attachment 6301 [details]
crystalhd-3.14.44-std-def-alt1.tar.xz
Created attachment 6313 [details]
crystalhd-3.14.45-std-def-alt1.tar.xz
Created attachment 6321 [details]
crystalhd-3.14.48-std-def-alt1-x86_64.tar.xz
Created attachment 6340 [details]
crystalhd-3.14.49-std-def-alt1-x86_64.tar.xz
Created attachment 6344 [details]
crystalhd-3.14.50-std-def-alt1-x86_64.tar.xz
Created attachment 6346 [details]
crystalhd-3.14.51-std-def-alt1-x86_64.tar.xz
Created attachment 6378 [details]
crystalhd-std-def-3.14.51-alt1-src.tar.xz
Created attachment 6379 [details]
crystalhd-std-def-3.18.21-alt1-src.tar.xz
Created attachment 6380 [details]
crystalhd-3.18.21-std-def-alt1-x86_64.tar.xz
Created attachment 6381 [details]
crystalhd-std-def-3.18.21-alt1.patch.bz2
*** Bug 30922 has been marked as a duplicate of this bug. *** (В ответ на комментарий №6) > вообще-то модуль crystalhd.ko находится во всех +- свежих ядрах в подпакете > -staging Уже нет. Да и был он слишком древний. Created attachment 6384 [details]
crystalhd-3.14.53-std-def-0.M70P.1-x86_64.tar.xz
Created attachment 6393 [details]
crystalhd-3.14.54-std-def-0.M70P.1-x86_64.tar.xz
Created attachment 6419 [details]
crystalhd-4.1.12-std-def-alt1-x86_64.tar.xz
Здравствуйте. Есть ли возможность возобновить сборку модуля ядра для текущего ядра (4.4.19-std-def-alt0.M80P.1 #1 SMP Sun Aug 21 02:56:18 UTC 2016 x86_64 GNU/Linux) ну и далее везде? Спасибо. (Прошу прощения за возможные неверные статусы, это первое обращение). Здравствуйте. Есть ли возможность возобновить сборку модуля ядра для текущего ядра (4.4.19-std-def-alt0.M80P.1 #1 SMP Sun Aug 21 02:56:18 UTC 2016 x86_64 GNU/Linux) ну и далее везде? Спасибо. (Прошу прощения за возможные неверные статусы, это первое обращение). (В ответ на комментарий №39) > Есть ли возможность возобновить сборку модуля ядра Есть. Даже у вас. Так же у вас есть возможность установить 4.1.12-std-def-alt1 из архивов. Я у себя на той машине его оставил и лень обновлять. Драйвер из ядра исключили совсем, поэтому теперь его можно собирать отдельным пакетом, но у меня руки неизвестно, дойдут ли когда-нибудь. (В ответ на комментарий №40) > (В ответ на комментарий №39) > > Есть ли возможность возобновить сборку модуля ядра > Есть. Даже у вас. > Так же у вас есть возможность установить 4.1.12-std-def-alt1 из архивов. > Я у себя на той машине его оставил и лень обновлять. > > Драйвер из ядра исключили совсем, поэтому теперь его можно собирать отдельным > пакетом, но у меня руки неизвестно, дойдут ли когда-нибудь. Да, спасибо, разобрался только что. Ссылка на форум: https://forum.altlinux.org/index.php?topic=37391.msg296088#msg296088 (В ответ на комментарий №40) > (В ответ на комментарий №39) > Драйвер из ядра исключили совсем, поэтому теперь его можно собирать отдельным > пакетом, но у меня руки неизвестно, дойдут ли когда-нибудь. Самое то ли забавное, то ли печальное, но пакеты с для этой платы: gstreamer-plugin-crystalhd - Gstreamer crystalhd decoder plugin libcrystalhd - Broadcom Crystal HD device interface library firmware-crystalhd - Firmware for the Broadcom Crystal HD video decoder не просто имеются в наличии и поддерживаются в свежем дистрибутиве, но и устанавливаются по умолчанию даже без этой железяки... (В ответ на комментарий №42) > не просто имеются в наличии и поддерживаются в свежем дистрибутиве, но и > устанавливаются по умолчанию даже без этой железяки... Разве вы хотели больше движений делать? P.S. Я и kodi в бранчах патчу для добавления поддержки. Драйвер доступен для сборки и сейчас, [тут](https://aur.archlinux.org/packages/libcrystalhd) я описал весь процесс. Смысл в том, что кроме драйвера под определённое ядро надо еще иметь FFmpeg версии ниже 6.0. |