LINUX.ORG.RU

Broadcom BCM970015 Crystal HD и OpenSUSE

 bcm970015, , crystal hd


1

2

Приобрел для материнской платы ITX Intel на Atom железный декодер Broadcom BCM970015 Crystal HD. Установил OpenSUSE 13.1. В системе видна плата Crystal HD.

Установил пакеты libcrystalhd3, crystalhd-firmware.

Все - на этом мои познания закончились. Как настроить проигрыватели VLC, Mplayer, Xine2 etc - на использование этой железки, и т.д. я так и не понял.

Ну вот например поставил NVidia карт и выбрал в настройках VDPAU - тут все понятно.

Deleted
Ответ на: комментарий от devl547

Не хочет. Я так понимаю нужна сборка с поддержкой. VLC - из Packan репозитория.

# vlc --codec crystalhd

VLC media player 2.1.2 Rincewind (revision 2.1.2-0-ga4c4876)
[0x8539ad0] main interface error: no suitable interface module
[0x84d73f8] main libvlc error: interface "globalhotkeys,none" initialization failed
[0x84d73f8] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
Object::connect: No such signal org::freedesktop::UPower::DeviceAdded(QDBusObjectPath)
Object::connect: No such signal org::freedesktop::UPower::DeviceRemoved(QDBusObjectPath)
[0xae300508] main input error: Invalid PCR value in ES_OUT_SET_(GROUP_)PCR !
Failed to open VDPAU backend libvdpau_nvidia.so: невозможно открыть разделяемый объектный файл: Нет такого файла или каталога
[0xae5033c8] vdpau generic error: device creation failure: error 1
libva info: VA-API version 0.34.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/i915_drv_video.so
libva info: va_openDriver() returns -1
[0xae5033c8] vaapi generic error: Failed to initialize the VAAPI device
Failed to open VDPAU backend libvdpau_nvidia.so: невозможно открыть разделяемый объектный файл: Нет такого файла или каталога
[0xae5033c8] vdpau generic error: device creation failure: error 1
libva info: VA-API version 0.34.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/i915_drv_video.so
libva info: va_openDriver() returns -1
[0xae5033c8] vaapi generic error: Failed to initialize the VAAPI device
Fontconfig warning: FcPattern object size does not accept value "0"
Fontconfig warning: FcPattern object size does not accept value "0"
Fontconfig warning: FcPattern object size does not accept value "0"
Fontconfig warning: FcPattern object size does not accept value "0"
[0xadf128f8] main vout display error: Failed to resize display

Deleted
()

Понял что у меня не стоит модуль ядра. Пробывал собрать из исходников - хрен, даже с патчами из Build сервиса.

make[1]: Вход в каталог `/usr/src/linux-3.11.10-7-obj/i386/desktop'
  CC [M]  /home/user/temp/default/crystalhd_lnx.o
/home/user/temp/default/crystalhd_lnx.c:434:22: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘chd_dec_init_chdev’
 static int __devinit chd_dec_init_chdev(struct crystalhd_adp *adp)
                      ^
/home/user/temp/default/crystalhd_lnx.c:526:22: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘chd_pci_reserve_mem’
 static int __devinit chd_pci_reserve_mem(struct crystalhd_adp *pinfo)
                      ^
/home/user/temp/default/crystalhd_lnx.c:600:23: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘chd_dec_pci_remove’
 static void __devexit chd_dec_pci_remove(struct pci_dev *pdev)
                       ^
/home/user/temp/default/crystalhd_lnx.c:628:22: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘chd_dec_pci_probe’
 static int __devinit chd_dec_pci_probe(struct pci_dev *pdev,
                      ^
/home/user/temp/default/crystalhd_lnx.c:817:14: error: ‘chd_dec_pci_probe’ undeclared here (not in a function)
  .probe    = chd_dec_pci_probe,
              ^
/home/user/temp/default/crystalhd_lnx.c:818:2: error: implicit declaration of function ‘__devexit_p’ [-Werror=implicit-function-declaration]
  .remove   = __devexit_p(chd_dec_pci_remove),
  ^
/home/user/temp/default/crystalhd_lnx.c:818:26: error: ‘chd_dec_pci_remove’ undeclared here (not in a function)
  .remove   = __devexit_p(chd_dec_pci_remove),
                          ^
/home/user/temp/default/crystalhd_lnx.c:501:13: error: ‘chd_dec_release_chdev’ defined but not used [-Werror=unused-function]
 static void chd_dec_release_chdev(struct crystalhd_adp *adp)
             ^
/home/user/temp/default/crystalhd_lnx.c:585:13: error: ‘chd_pci_release_mem’ defined but not used [-Werror=unused-function]
 static void chd_pci_release_mem(struct crystalhd_adp *pinfo)
             ^
cc1: all warnings being treated as errors
make[4]: *** [/home/user/temp/default/crystalhd_lnx.o] Ошибка 1
make[3]: *** [_module_/home/user/temp/default] Ошибка 2
make[2]: *** [sub-make] Ошибка 2
make[1]: *** [all] Ошибка 2
make[1]: Выход из каталога `/usr/src/linux-3.11.10-7-obj/i386/desktop'
make: *** [all] Ошибка 2

Походу проще Nvidia карту использовать для таких целей, чем заморачиваться на эти декодеры.

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

Для ядер >=3.8 надо брать это: https://github.com/yeradis/crystalhd
Про поддержку crystahd в ffmpeg, vlc при сборке пакетов, часто забывают. Придется собирать из src.rpm.
У меня нормально работают только flash и ffplay, загруженность процессора (Atom D2700) падает с 60-70% до 25-30% при проигрывании FullHD-видео. VLC и SMplayer - куча глюков.

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

Толькочто пробовал с git - тоже не собирается:

# make -j2
make -C /lib/modules/3.11.10-7-desktop/build SUBDIRS=/home/user/temp/driver/linux modules
\make[1]: Вход в каталог `/usr/src/linux-3.11.10-7-obj/i386/desktop'
  CC [M]  /home/user/temp/driver/linux/crystalhd_lnx.o
  CC [M]  /home/user/temp/driver/linux/crystalhd_misc.o
In file included from /home/user/temp/driver/linux/crystalhd_hw.h:39:0,
                 from /home/user/temp/driver/linux/crystalhd_cmds.h:37,
                 from /home/user/temp/driver/linux/crystalhd_lnx.h:50,
                 from /home/user/temp/driver/linux/crystalhd_lnx.c:20:
/home/user/temp/driver/linux/crystalhd_misc.h:38:29: fatal error: bc_dts_glob_lnx.h: Нет такого файла или каталога
 #include "bc_dts_glob_lnx.h"
                             ^
compilation terminated.
make[4]: *** [/home/user/temp/driver/linux/crystalhd_lnx.o] Ошибка 1
make[4]: *** Ожидание завершения заданий...
In file included from /home/user/temp/driver/linux/crystalhd_hw.h:39:0,
                 from /home/user/temp/driver/linux/crystalhd_cmds.h:37,
                 from /home/user/temp/driver/linux/crystalhd_lnx.h:50,
                 from /home/user/temp/driver/linux/crystalhd_misc.c:30:
/home/user/temp/driver/linux/crystalhd_misc.h:38:29: fatal error: bc_dts_glob_lnx.h: Нет такого файла или каталога
 #include "bc_dts_glob_lnx.h"
                             ^
compilation terminated.
make[4]: *** [/home/user/temp/driver/linux/crystalhd_misc.o] Ошибка 1
make[3]: *** [_module_/home/user/temp/driver/linux] Ошибка 2
make[2]: *** [sub-make] Ошибка 2
make[1]: *** [all] Ошибка 2
make[1]: Выход из каталога `/usr/src/linux-3.11.10-7-obj/i386/desktop'
make: *** [all] Ошибка 2
Deleted
()
Ответ на: комментарий от Deleted

Разобрался. Но теперь другая проблема - не собирается:

# make -j2
make -C /lib/modules/3.11.10-7-desktop/build SUBDIRS=/home/user/temp/driver/linux modules
make[1]: Вход в каталог `/usr/src/linux-3.11.10-7-obj/i386/desktop'
  CC [M]  /home/user/temp/driver/linux/crystalhd_lnx.o
  CC [M]  /home/user/temp/driver/linux/crystalhd_misc.o
  CC [M]  /home/user/temp/driver/linux/crystalhd_cmds.o
  CC [M]  /home/user/temp/driver/linux/crystalhd_hw.o
  CC [M]  /home/user/temp/driver/linux/crystalhd_linkfuncs.o
  CC [M]  /home/user/temp/driver/linux/crystalhd_fleafuncs.o
/home/user/temp/driver/linux/crystalhd_fleafuncs.c: In function ‘crystalhd_flea_set_power_state’:
/home/user/temp/driver/linux/crystalhd_fleafuncs.c:619:14: error: ‘regVal’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
  if(!(regVal & BCHP_DDR23_CTL_REGS_0_CTL_STATUS_idle_MASK))
              ^
/home/user/temp/driver/linux/crystalhd_fleafuncs.c:566:11: note: ‘regVal’ was declared here
  uint32_t regVal;
           ^
cc1: all warnings being treated as errors
make[4]: *** [/home/user/temp/driver/linux/crystalhd_fleafuncs.o] Ошибка 1
make[4]: *** Ожидание завершения заданий...
make[3]: *** [_module_/home/user/temp/driver/linux] Ошибка 2
make[2]: *** [sub-make] Ошибка 2
make[1]: *** [all] Ошибка 2
make[1]: Выход из каталога `/usr/src/linux-3.11.10-7-obj/i386/desktop'
make: *** [all] Ошибка 2

Deleted
()
Ответ на: комментарий от arson

Уже поправился ошибка та-же regVal:

# make

make -C /lib/modules/3.11.10-7-desktop/build SUBDIRS=/home/user/temp/crystalhd-master/driver/linux modules
make[1]: Вход в каталог `/usr/src/linux-3.11.10-7-obj/i386/desktop'
  CC [M]  /home/user/temp/crystalhd-master/driver/linux/crystalhd_lnx.o
  CC [M]  /home/user/temp/crystalhd-master/driver/linux/crystalhd_misc.o
  CC [M]  /home/user/temp/crystalhd-master/driver/linux/crystalhd_cmds.o
  CC [M]  /home/user/temp/crystalhd-master/driver/linux/crystalhd_hw.o
  CC [M]  /home/user/temp/crystalhd-master/driver/linux/crystalhd_linkfuncs.o
  CC [M]  /home/user/temp/crystalhd-master/driver/linux/crystalhd_fleafuncs.o
/home/user/temp/crystalhd-master/driver/linux/crystalhd_fleafuncs.c: In function ‘crystalhd_flea_set_power_state’:
/home/user/temp/crystalhd-master/driver/linux/crystalhd_fleafuncs.c:619:14: error: ‘regVal’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
  if(!(regVal & BCHP_DDR23_CTL_REGS_0_CTL_STATUS_idle_MASK))
              ^
/home/user/temp/crystalhd-master/driver/linux/crystalhd_fleafuncs.c:566:11: note: ‘regVal’ was declared here
  uint32_t regVal;
           ^
cc1: all warnings being treated as errors
make[4]: *** [/home/user/temp/crystalhd-master/driver/linux/crystalhd_fleafuncs.o] Ошибка 1
make[3]: *** [_module_/home/user/temp/crystalhd-master/driver/linux] Ошибка 2
make[2]: *** [sub-make] Ошибка 2
make[1]: *** [all] Ошибка 2
make[1]: Выход из каталога `/usr/src/linux-3.11.10-7-obj/i386/desktop'
make: *** [all] Ошибка 2
Deleted
()

Поставил OpenSuse 12.3 - там есть сборка из модулей репозитория и все работает.

http://software.opensuse.org/package/crystalhd

Но блин OpenSuse 12.3 не может подхватить FullHD разрешене монитора через VGA - драйвера старые от intel, поэтому 1280x768. Крутить конфиг Xorg нет желания.

Как только запилят crystalhd для OpenSuse 13.1 - перейду снова.

P.S.: а так прикольно - 1080p фильм 20-30% грузит процессора - вот и пригодилась ITX железяка на Атоме.

Deleted
()
Ответ на: комментарий от steemandlinux

А да и спасибо за XBMC - очень интересный комбайн. Только с мышкой трудно управляться.

Deleted
()

ded_mopozzz2 Доложите обстановку!
Удалось настроить девайс? Я посмотрел на цену и заинтерисовался им) Дома есть старый пк который тянет только простое видео, а HD тянет только титры =) Если к нему подключить эту штуку он сможет проигрывать hd и даже fullhd?

Меня смушает тот факт что в дженту я нашёл только 1 пакет у которого в use-флагах есть опция crystalhd, это некий mythtv. Получается другой софт не поддерживается?

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

Собрать не удалось под 13.1. Поставил временно OpenSuse 12.3 и модуль ядра для CrystalHD

http://software.opensuse.org/package/crystalhd

crystalhd-3.10.0-19.23.i586.rpm
crystalhd-firmware-3.6.5-26.4.i586.rpm
crystalhd-kmp-desktop-3.10.0_k3.7.10_1.1-19.23.i586.rpm
Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.