Добрый день, уважаемые читатели!


Странно, что пока еще не появилось короткой новости об этом, поэтому возьмусь написать. На прошлой неделе компания Hardkernel, знакомая в основном производством dev-плат на базе процессоров arm разных производителей (в основном Samsung Exynos и Amlogic, но была у них и плата полный аналог RPi более маленького формата, которой им крепко прижали выпуск), анонсировала выход новой платы Odroid-C2 на базе 64-битного процессора ARM S905 от Amlogic.

image

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

Что ж, о гиковском железе и рассказ гиковский, вот оно, все то техно-порно что было написано на форуме представителем компании, и немного личных впечатлений (от живого образца на руках) в самом конце.

ODROID-C2 это 64-битный четерехпроцессорный одноплатный компьютер, один из самых эффективных 64-битных компьютеров для разработчиков доступных в мире ARM на данный момент.
Будет доступен для покупки 2-го марта 2016-го по цене в $40. Массовое производство будет начато 15-го февраля, первые отгрузки 4-го марта.

Спецификации:

Amlogic S905 (ARM® Cortex®-A53(ARMv8) 2Ghz quad core CPU)
2Gbyte DDR3 SDRAM
ARM Mali™-450 MP3 GPU (OpenGL ES 2.0/1.1 for Linux and Android)
HDMI 2.0 4K/60Hz display
H.265 4K/60FPS and H.264 4K/30FPS capable VPU
Gigabit Ethernet
40+7pin GPIO port
eMMC5.0 HS400 Flash Storage slot / UHS-1 SDR50 MicroSD slot
USB 2.0 Host x 4, USB 2.0 OTG x 1 (power + data capable)
Infrared(IR) Receiver
Ubuntu 16.04 and Android 5.1 Lollipop based on Kernel 3.14 LTS
Размеры идентичные ODROID-C1+

Блок схема:

image

Основные компоненты:

image

Дополнительная информация о железе:

Одна из новых фич ODROID-C2 это SD 3.01 — кард-ридер совместимый со стандартом UHS-1 MicroSD, чего многие так хотели и просили. А также более быстрый eMMC контроллер и модуль, который может быть заказан вместе с ODROID-C2, и будет оснащен предустановленной Ubuntu.
Так же наличествует 40+7 пиновый GPIO. Он включает в себя функции PWM, I2C, I2S, UART, ADC и собственно GPIO.

Краткое сравнение спецификаций плат который вы можете купить за сравнимые деньги (40$):

image

Производительность:

Производитель запустил несколько разных тестов для замера вычислительной мощности и сравнения на Ubuntu 16.04, на разных платах: Pi 2, ODROID-C1, ODROID-U3 и ODROID-XU4.

image

Или вот результаты теста Antutu на Android:

image

ODROID-C2 выдает около 33700pts, тогда как ODROID-C1+ для сравнения показывает примерно 21200pts. Заметьте, что XU4 достигает район 51000pts, спасибо гораздо более быстрым A15 ядрам и GPU чипу Mali-T628 MP6 с 6-ю ядрами. Но и стоит при этом чуть ли не в два с половиной раза дороже. Так что ODROID-C2 безусловный лидер по соотношению цена/производительность.

Сетевое соединение:

На борту C2 стоит гигабитный сетевой адаптер. Двунаправленный тест скорости показал примерно 900Mbps. Благодаря удвоенному буферу отправки в S905 скорость заказчки возросла в два раза. Теперь это полноценный гигабитный адаптер.

image

HDMI 2.0 и воспроизведение видео:

Плата поддерживает 4K/60Hz HDMI 2.0 вывод и предоставляет вам возможность поработать в великолепном UHD 3840x2160 разрешении. Но, к сожалению, не так быстро как этого хотелось бы. Рендеринг заметно тормозит.
Поэтому в Android была использована возможность мультиплексирования слоя интерфейса в FHD 1920x1080 GUI и слоя видео в UHD 3840x2160, что позволяет работать и быстро, и в высоком разрешении.
Тот же подход возможно будет применен и для Linux в будущем.
Этот же самый подход использован в последнем медиа-комбайне Kodi Jarvis-RC2, предустановленную в Android, и позволяет достичь тех же результатов прямо сейчас.

Пожалуй я пропущу скриншоты в 4К, но если кому-то очень надо, то вот ссылки на них:
dn.odroid.com/homebackup/20160203/scr1.png
dn.odroid.com/homebackup/20160203/scr2.png

Дополнительно:

1. Отсутствует шина SPI. У чипа S905 ее просто нет. Дополнительные SPI аксессуары к сожалению не будут работать с C2.
2. Отсутствует RTC. У S905 его опять же просто нет. Возможно компания сделает дополнительную плату с такой функциональностью.
3. Неправильный альфа-блендинг исправлен в S905. Больше нет нужды использовать DDX блендинг в качестве обходного решения.
4. Публичная версия S905 спецификации будет выпущена в марте или апреле.
5. Ubuntu 16.04(LTS) ARM64 и совсем еще ранняя, и не совсем готовая для ARM64. В ней отсутствуют некоторые пакеты, например Chromium. Его довольно сложно собрать для этой архитектуры, и видимо пока никому не удалось.
6. Ubuntu/Linux Mali GPU драйвер есть только в виде fbdev. Версия для X11 будет доступна в марте или позже в апреле.
7. Образы OS и инструкции по сборке уже доступны на WiKi компании http://odroid.com/dokuwiki/doku.php?id=en:odroid-c2
8. Опытные образцы отправлены энтузиастам из сообщества, доказавшим свою полезность приятными и интересными разработками для продуктов компании.

Мое личное впечатление:

И вот начиная с 8-го пункта, который кстати последний во всем анонсе на форуме, если вы дочитали, дальше там ничего нет, я могу сказать что как раз и являюсь одним из получивших предрелизный образец. Я написал когда-то кодеки для Exynos MFC, чтобы Kodi мог показывать видео хардварно на многих платах hardkernel, за это компания который год отправляет мне все образцы своих новых продуктов, за что ей огромное спасибо. Образец уже прибыл ко мне в эту пятницу на почту.
Что я могу сказать из моих личных впечатлений: во-первых то, о чем не упомянули или упомянули вскользь в анонсе — теперь на плате полноразмерный HDMI. Никакой больше мороки с micro-hdmi, особенно если это первая плата hardkernel которую вы купили. Страшно вспомнить сколько я парился когда-то с U2 пока нашел этот провод. Сам продукт по моему мнению — один из самых готовых релизов компании. На нем работает практически все уже сейчас. А то что не работает, просто пока не готово для arm64, но это не большая проблема. Драйвера GPU запустились без нареканий. Видео-кодек тоже не доставил особых проблем. Все работает очень быстро. Что мне особенно понравилось — это работающий hotplug CPU governor, отключающий процессоры которые не используются, и понижающий герцовку. Последний так работающий governor был в U2/U3, дальше были только работающие с герцовкой.
4К у меня нет, посмотреть насколько это круто мне негде, да мне и не надо. Я и между 720р и 1080р-то разницу слабо замечаю, телевизор большой, но и сижу я не впритык. Так что эта гик-фича проходит мимо меня.
Божественный черный цвет платы. Выглядит очень круто, такой маленький антрацит. Стильно. Очень хороший штатный радиатор. Нет дешевого пластмассового кулера, который так портил впечатление своим шумом на -XU? платах.
Еще из того что не упомянули — разъем питания аналогичен C1, т.е. это такой мелкий штырек, не знаю что это за разъем, но у меня только один такой провод, что довольно неудобно. Получается что включено или то или то. Потребление по мощности видимо точно такое же, то есть достаточно и USB разъема. Плата ни разу не просела и не вырубилась от того же источника что питает С1, хотя гонял я ее сильно.

Если в свою очередь о плохом, то, по тому мнению что у меня сложилось, большинство проблем происходят от тотальной неготовности софта к arm64. Тот же самый Kodi мне пришлось конкретно подправить чтобы просто собрать. То же самое с библиотеками amllibs. И все доработки — это самые банальные безалаберности разработчиков, которые писали свой софт полностью уверенные что размер указателя — 32 бита. Все ошибки идут из кастов (void *)(unsigned int), слава богу компилятор предупреждает об этом прямо. Хотя, конечно, попадаются и более экзотические варианты, но все равно все в итоге сводятся к тому что раньше тут был int, а теперь long. И, тем не менее, технически — этот продукт очень крут прямо на старте. И мне он очень нравится, принимая во внимание что я довольно прохладно отнесся к С1. Правда отсутствующий RTC конечно немножко обескураживает. После каждого отключения питания плате нужен сервер времени чтобы вспомнить который сейчас год, это конечно ни в какие ворота для DYI устройств.

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

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

image

Комментарии (81)


  1. ShinoKuyo
    08.02.2016 13:16
    +2

    HDMI-CEC присутствует?


    1. Mnemonik
      08.02.2016 13:18
      +1

      На плате присутствует, в драйвере отображается (драйвера в ядре готовы и работают), как устройство в /dev видно. Но мой телевизор CEC не поймал. В чем проблема я точно не уверен, толи телевизор дурит, толи в драйвере опция не включена какая-то.
      Это под Linux.
      Под Android люди говорят все работает гладко и четко, не пробовал, не пользуюсь андроидом.
      В общем со стороны производителя анонсировано и включено в ядре, но я лично не могу подтвердить, лично мой телевизор не поймал.


      1. Casufi
        08.02.2016 15:26
        +1

        В некоторых телевизорах с CEC работает только один порт, на форуме odroid это попадалосьв обсуждениях.


  1. Sdima1357
    08.02.2016 13:49

    Спасибо за статью. Процессор мощный для игрушек, но из-за отсутствия видео входа ( CSI-MIPI ) для серьезных приложений с обработкой захваченного видео не подходит. Жалко. Очередной медиа плейер.


  1. rogoz
    08.02.2016 14:25
    +1

    Возможно я не правильно понял автора, но у меня C1 на арче hotplug CPU governor работает.


    1. Mnemonik
      08.02.2016 14:26

      вполне возможно, я не пробовал честно говоря давно ничего на С1 менять, это правда.
      но когда плата только появилась работал только performance, ondemand и interactive, которые только понижали герцовку, но не отключали ядра. если сейчас все работает — это просто отлично.


      1. Erenzil
        08.02.2016 18:28

        А есть ли вариант накатить эмуляторы PlayStation 1 и Nintendo 64?
        если есть, не могли бы вы протестировать и позамерять (поддержка xinput контроллера, ФПС и все такое, как я понял ARM64 еще слабовато поддерживается и интересно узнать как такая вот плата справится с эмуляцией старых консолей)?
        P.S. было бы неплохо попробовать еще и эмулятор PSP


        1. Mnemonik
          08.02.2016 18:30

          на форуме hardkernel есть умельцы которые делают из их плат эмуляторы чего угодно. есть даже дистрибутив который заточен чисто на эмуляцию старых консолей. вот например такой forum.odroid.com/viewtopic.php?f=11&t=2684
          безусловно будет он и для новой платы, но если вам нужна просто эмуляция — берите продукт hardkernel который подольше на маркете, что-нибудь где багов уже навыловили. не смотрите на мегагерцы, их давно уже достаточно в arm устройствах, и не обязательно было ждать именно 2 гигагерцовую плату.


          1. Erenzil
            09.02.2016 01:44

            просто хочется верить в скорое портирование/написание эмуляторов для шестого поколения консолей, кубика или ЗЫ2 например


  1. Shlyapa
    08.02.2016 17:17

    А Ubuntu ARM32 накатить можно, раз ARM64 еще не готов?


    1. Mnemonik
      08.02.2016 18:32

      люди говорят что можно. я сильно сомневаюсь, arm64 другая архитектура, это не просто расширение как x86_64. те же флаги процессора очень сильно поменялись. Да и arm это не PC, просто так взять и накатить не получится, там все эти u-boot, bl1, bl2, блоки подписанные производителем… вот этот вот загрузочный гемор. Может статься что теоретически накатить можно, но вот прямо сейчас прямо на эту плату — не получится, потому что или что-то там падает при загрузке, или что-то там недошифровано и недоподписано производителем.


      1. Civil
        08.02.2016 19:10

        AArch64 (arm64) имеет обратную совместимость с arm, так что в этом плане все нормально. Вопрос действительно в том, насколько производитель это все будет поддерживать, так как если я не ошибаюсь, нужна поддержка в ядре и в u-boot'е.


      1. ValdikSS
        08.02.2016 21:37

        Можно, можно, я на arm64 кручу Debian Jessie armhf.


      1. marsianin
        08.02.2016 22:43

        Вообще, архитектура называется ARMv8 и поддерживает как исполнение 64-битного кода (AArch64), так и 32-битного (AArch32). При этом режим AArch32 по набору инструкций и системной части (MMU, модель прерываний) совместим с ARMv7 за исключением тех инструкций, которые в ARMv7 были объявлены deprecated. Однако, согласен: для конкретного SoC может не быть ядра и загрузчика для режима AArch32.


  1. izuke
    08.02.2016 17:52

    т.е. Коди крутит нормально?
    плагинам тож ок?


    1. Mnemonik
      08.02.2016 18:28

      именно этим я сейчас и занят. крутит нормально. по платинам пока не возьмусь говорит. youtube у меня вчера падал, но я не заморачивался, запустил пару раз, посмотрел что падает и плюнул.


      1. izuke
        09.02.2016 13:56

        понятно. значит покамесь для коди идеальна все же малинка.


        1. Mnemonik
          09.02.2016 14:50
          +1

          Идеальна-то конечно та, где народу много труда вкладывает. На одроидах запуском kodi в основном один я и заморачиваюсь, не будем уж скромничать. Как минимум все остальные git'ы kodi для этих плат это форки моего. Поэтому не все удается быстро и хорошо.
          Ютуб я вчера починил. Я перенес все настройки с С1 просто скопировав .kodi директорию, похоже некоторым плагинам, типа ютуба это не нравится. он там что-то пытается перегенерировать, скорее всего картинки, и валится. Это кстати проблема сборки kodi gcc5 в целом, не odroid плат. Но стоило поставить все заново, загрузить ютуб плагин из репозитория, и все заработало.
          Видео тоже плата крутит вполне нормально.
          Только звука нет, не понимаю пока почему.
          Так что в целом — не работает СЕС, подозреваю что с моим телевизором, нет звука — подозреваю что что-то где-то надо подпилить, потому что aplay работает. Остальное все есть, а это на 4к и HEVC, и 10 битное видео лучше чем на малине.


  1. Revertis
    08.02.2016 17:56

    Эх, опять без SATA. У меня давненько уже ODROID-C1 работает сервачком под торренты и ownCloud, и не хватает именно внутреннего винта, да и памяти 1гб маловато. Сейчас присматриваюсь к Orange Pi Plus2.


    1. 0x3f00
      08.02.2016 18:15

      Советую уточнить реальную скорость SATA на этой плате: по сравнению с внешним на USB может и не быть разницы.


      1. Revertis
        08.02.2016 21:01

        А как это вообще можно сделать, кроме как гуглить?


        1. Nerten
          09.02.2016 00:05

          Я не встречал чтобы какой-то из плат с sata была скорость выше 40 Mb/s.


          1. Revertis
            09.02.2016 12:37

            У меня по USB не поднимается выше 27 Mb/s. Так что 40 это уже намного лучше.


            1. Nerten
              09.02.2016 12:57

              У меня на XU4 по usb 3.0 около 80 Mb/s.


        1. ABATAPA
          09.02.2016 14:45

          Почитать форумы. На них часто и SATA, и Eth на USB — высокая нагрузка на CPU(IRQ), и низкие (относительно, конечно) скорости.


          1. Mnemonik
            09.02.2016 14:52

            конкретно на этой плате уже Eth пущена мимо USB, поэтому и удалось достичь гигабита. ну и в совместном режиме со всем остальным очевидно это намного лучше будет совмещаться.


      1. Revertis
        09.02.2016 15:22

        К сожалению, нашлась инфа о том, что там SATA идет через тормозной USB->SATA конвертер:
        http://linux-sunxi.org/Xunlong_Orange_Pi_Plus#SATA


  1. Shlyapa
    08.02.2016 18:19

    Вообще, реально эту штуку использовать как полноценный десктоп? Не поиграться иногда, а вот прям Главный Компьютер. А то сейчас такие цены на железо…


    1. Mnemonik
      08.02.2016 18:27
      +1

      да, реально. учтите только что это линукс, поэтому на нем нет флэша. многие переживают по этому поводу. А так же что проигрывание видео это на самом деле чрезвычайно требовательная к ресурсам задача, и на arm она решается отдельным VPU, под который обычно нужны драйвера. ну и как водится нужно чтобы их кто-то написал. так что это не всегда бывает готово быстро. ну и конкретно эта модель совершенно на краю передовой в плане того что это arm64 и стабильностью софта не отличается, не все еще вылизали. тот же самый chrome даже собрать не могут.
      если хотите десктоп на arm где все работает — берите -XU4. правда это дороже.


      1. beeruser
        08.02.2016 19:18

        >> тот же самый chrome даже собрать не могут
        А как он на телефонах работает 64х битных?
        Учитывая что 64 битные ARM-ы появились в 2013г (с уже рабочим Webkit-ом)


        1. ars_ivanov
          08.02.2016 20:09

          Для телефонов же под андроид собирают, а не под linux


      1. rPman
        08.02.2016 19:44

        Т.е. говорить о проигрывании видео из браузера (html5) пока нельзя?


        1. Mnemonik
          08.02.2016 22:46

          html5 работает. хром даже работает с EGL драйверами, то есть крутит видео на ютубе очень бодро. Но! это все на платах которые как минимум год выпускаются (-XU3/-XU4). очень дело такое… железо-зависимое. теоретически все работает, но иногда приходится подождать пока люди подпилят драйвера для того и этого.


  1. ars_ivanov
    08.02.2016 18:22
    +1

    Жалко что sata нет.
    Как у этой платы с видео драйверами под linux?
    Давненько взял cubieboard. У allwinner с этим проблема. Драйверов для видео нет. Kodi заводится, но не работает.


    1. Mnemonik
      08.02.2016 18:24

      hardkernel предоставляет драйвера для всех своих компьютеров обычно в полном объеме (только -XU пролетел, но там был богомерзкий PowerVR, совершенно отбитые админы на форумах которых абсолютно уверены в том что опенсурсней их компании нет в мире и все драйвера доступны всему интернету для всего чего угодно и просто закрывают темы с вопросами).
      Именно для этой платы уже есть mali-fbdev пакет, который позволяет запускаться kodi, компания обещает mali-x11 в марте-апреле.


      1. beeruser
        08.02.2016 20:40

        >> только -XU пролетел
        В чём пролетел?
        http://www.youtube.com/watch?v=dk6Nvqg6aCs
        Собственно у меня есть XU, но я 3D ни разу не запускал =)


        1. Mnemonik
          08.02.2016 22:50

          Это андроид. Я говорю только о линуксе. Я не очень андроид.
          Несомненно под -XU даже все работает через libhybris, и вообще это очень прикольная плата, я сам ее год использовал, но она застыла в своем времени — только определенное ядро, только определенный libhybris, только PowerVR библиотеки из определенного аднроида. Шаг влево-вправо — все валится как карточный домик. Какие-то баги — забудьте, просто смиритесь. Тот же самый жутко раздражающий баг когда в правом верхнем углу квадрат изображения запаздывает на один кадр навсегда остался с этой платой (опять же я говорю про Linux и EGL под libhybris). Ничего невозможно обновить, все монолитно связано друг с другом и цепляется в случае изменения любого компонента…


          1. beeruser
            09.02.2016 01:00

            Ну я как поставил одну версию, так и не апдейтил. Я с ней плотно не сижу — кулер надоедает, хотя конечно у Jetson вообще выбешивает. Ну не могу заставить себя пофиксить эти проблемы =)


  1. Kondra007
    08.02.2016 18:41
    +1

    Для чего вообще эту штуку можно приспособить?
    Имею на руках C1 с Ubuntu на eMMC, для «приставки к телевизору» слабоват, Хромиум на третьей вкладке начинает безбожно тормозить.
    NAS дома отдельный есть. Пробовал запустить в качестве Steam Link, используя Limelight (https://github.com/fporter/limelight-odroid), дичайшие лаги даже на 2D (на хосте мощное железо).

    Соответственно, вопрос, что можно «эдакое» сделать на С2? (ну и, если не оффтоп, на С1)


    1. h31
      08.02.2016 22:50

      Мне кажется, Хром тормозил из-за недостатка памяти. Попробуйте включить swap. На новой плате целых 2 гб памяти, так что там с Хромом должно быть получше.
      Приставки к телевизору — в смысле фильмы играть? Поставьте скин полегче. Лично я вообще для телека использую Raspberry Pi 1, и ничего, жить можно.


      1. Kondra007
        08.02.2016 22:51

        Спасибо, про /swap как-то не подумал, хотя не знаю, сколько ему надо отдать, ведь всего 8 гигабайт на eMMC.


  1. dion
    08.02.2016 21:22

    Нестандартное разрешение по HDMI можно получить? Что-то вроде 800x480?


    1. Mnemonik
      09.02.2016 11:03
      +2

      В списке доступных разрешений в файле boot.ini есть много вариантов, в частности 800х480 тоже. Но плата не выдает ничего на экран меньше 1280х720. Возможно это поправят позже, как было с другими платами.


      1. dion
        09.02.2016 11:28

        Спасибо!


  1. nikkadim
    08.02.2016 22:50

    Вот когда же они USB3.0 добавят, даже GigE появился.


    1. Nerten
      08.02.2016 23:15

      В XU4 есть USB3.0, а GigE так и подавно.


  1. Nerten
    08.02.2016 23:22

    Это отличная новость, в своё время взял С1 и получил предрелизную версию XU4. Последней очень доволен, овобенно с eMMC. Думал брать С1+ взамен первой, т.к. micro-hdmi работает не на всех телевизорах и для CEC необходимо «вмешательство». Теперь подожду С2.


  1. ValdikSS
    08.02.2016 23:29

    Mnemonik, можно вас немного потерроризировать?
    Что за загрузчик? U-boot? Стандартный? UEFI не планируют?
    Установите/соберите ffmpeg + libvpx 1.5.0, пожалуйста, и сделайте:

    $ wget 'ftp://serv.valdikss.org.ru/Anime/Noragami/%5BBlurayDesuYo%5D%20Noragami%20-%20NCOP2%20(BD%201920x1080%2010bit%20FLAC)%20%5B5A80DDCC%5D.mkv'
    $ ffmpeg -i '[BlurayDesuYo] Noragami - NCOP2 (BD 1920x1080 10bit FLAC) [5A80DDCC].mkv' -c:v libvpx-vp9 -crf 40 -b:v 0 -threads 4 -s 1280x720 -sn -an test.webm
    и скажите, как долго кодироваться будет.


    1. Mnemonik
      09.02.2016 01:16

      Это очень странный вопрос, я конечно запустил, но она делает это со скоростью 0.7 кадра в секунду, так что займет это скорее всего столько, сколько идет видео * 23.98 / 0.7
      Вы же понимаете что видео кодирование-декодирование не запускается на арм системах на процессоре и для этого там есть отдельный вычислительный модуль, который может разогнать иногда и до 400-х кадров в секунду, но для этого надо именно использовать его, что ffmpeg не делает?
      Если же вы в плане сравнить с другими арм'ами в качестве нагрузочного тестирования, то вот. 0.7 кадра в секунду.


      1. ValdikSS
        09.02.2016 01:20

        Спасибо за тест, да, мне интересно именно кодирование на CPU по сравнению с другими платами.
        А про загрузчик что скажете?


        1. Mnemonik
          09.02.2016 01:46

          ах да, пардон. заморочался сборкой ffmpeg слишком сильно.
          загрузчик самый обычный, u-boot, все как всегда у hardkernel. исходники на их гитхабе, интсрукция в их вики, если хочется поковырять руками. на форуме они например даже организовывали аукцион неслыханной щедрости и подписывали bl2 блоки, достаточно было просто попросить и приложить свой скомпилированный блоб. ну это совсем для тех кто по хардкору, для меня перебор.