29 ноября 2020

❓ Можно ли заменить настольный компьютер на Raspberry Pi 4?

Пишу об IT и на Python. kungurov.net
В этой статье познакомимся с Raspberry Pi 4 и ответим на вопрос, сможет ли «Малина» заменить десктоп. Спойлер: на 90% – нет.
❓ Можно ли заменить настольный компьютер на Raspberry Pi 4?

C 2012 г. продано более 30 млн миникомпьютеров Raspberry Pi. Изначально «Малина» рассматривалась как платформа для обучения информатике. В первой версии был одноядерный процессор с частотой 700 МГц и 512 МБ ОЗУ. В 2019 г. компания выпустила четвертую версию, которую мы сегодня рассмотрим в качестве замены десктопу.

Технические характеристики Raspberry Pi 4:

  • CPU Quad Core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz;
  • 2, 4 или 8 ГБ LPDDR4–3200 SDRAM;
  • Wi-Fi 2.4/5.0 ГГц, Bluetooth 5.0, BLE;
  • Gigabit Ethernet port;
  • 2x USB 3.0 и 2x USB 2.0;
  • Подключение двух мониторов через micro-HDMI (4kp60);
  • Аппаратное декодирование видео до 4K H.265 (4kp60 decode), H264 (1080p60 decode, 1080p30 encode).

Почему Raspberry Pi?

Рис. 1. Raspberry Pi 4 в корпусе
Рис. 1. Raspberry Pi 4 в корпусе

Raspberyy Pi обычно используют как бюджетный и бесшумный компьютер на линуксе в качестве сервера, «печатной машинки», медиацентра или для робототехники. К «Малине» нужно купить корпус. Он бывает как с местом для вентилятора, так и без него.

Корпус без вентилятора эффективно отводит тепло – температура корпуса не превышает 50° (Рис. 2).

Рис. 2. Изображение работающего Raspberry Pi 4 на тепловизоре
Рис. 2. Изображение работающего Raspberry Pi 4 на тепловизоре

Операционная система Raspbian

При первом запуске система тормозит, так как по умолчанию ОС работает в режиме энергосбережения. Чтобы отключить этот режим и повысить частоту ядра отредактируем файл config.txt командой sudo nano /boot/config.txt и раскомментируем следующие строчки:

/boot/config.txt
        over_voltage=2
arm_freq=1750
    

Недостатком малины является отсутствие кнопок «ВКЛ/ВЫКЛ» и режима сна. Если компьютер выключен, то включить его можно только повторным подключением адаптера питания к сети. Чтобы упростить процесс запуска используется USB-кабель с кнопкой включения-выключения (рис. 3).

Рис. 3. USB-кабель с кнопкой включения/выключения для Raspberry Pi 4
Рис. 3. USB-кабель с кнопкой включения/выключения для Raspberry Pi 4

При серфинге плата потребляет немного – около 5 Вт. При наборе текста3 Вт.

Рис. 4. Показатели напряжения и силы тока в Raspberry Pi 4
Рис. 4. Показатели напряжения и силы тока в Raspberry Pi 4

Веб-браузер

С веб-браузером не все так однозначно. Браузер Chromium предустановлен в ОС, но он не равнозначен Chrome. Некоторые сайты – Amazon Prime и т. д. – отказываются работать, выдавая ошибку о неподдерживаемом браузере. Главная страница Амазона при этом открывается нормально.

Рис. 5. Главная страница Amazon Prime
Рис. 5. Главная страница Amazon Prime
Рис. 6. Ошибка в Raspbian «Unsupported Browser»
Рис. 6. Ошибка в Raspbian «Unsupported Browser»

Попытка изменения User-Agent ни к чему не привела. Оказалось, что ошибка вызвана отсутствием поддержки DRM. На этом сайте лежит рабочая инструкция по включению поддержки DRM.

YouTube работает отлично, но периодически слышны щелчки при воспроизведении аудио. Это распространенная проблема в Linux при воспроизведении через HDMI, которая решается редактированием файла /etc/pulse/default.pa:

sudo pico /etc/pulse/default.pa

Ищем строчку:

load-module module-udev-detect

Добавляем в конце этой строчки tsched=0:

load-module module-udev-detect tsched=0

Тест браузера на сайте Basemark показывает 64.81 балла. Для сравнения: последний планшет Microsoft Surface X получает 457 баллов, при этом разница в цене такая же как и в баллах.

Рис. 7. Результаты теста Chromium на Raspbian в бенчмарке Basemark
Рис. 7. Результаты теста Chromium на Raspbian в бенчмарке Basemark

Скорость Wi-Fi

Смартфон Galaxy S10 показал вдвое большую скорость загрузки (64,3 Мб/с) и отдачи (19,6 Мб/с) в сравнении с RPi 4 (33 МБ/с) с использованием одной и той же Wi-Fi-точки. Возможно, скорость падает из-за металлического корпуса Raspberry Pi, но 33 Мб/с достаточно для работы.

Рис. 8. Результаты теста скорости Wi-Fi в Raspberry Pi 4
Рис. 8. Результаты теста скорости Wi-Fi в Raspberry Pi 4

Программирование

С программированием все хорошо. Конечно, Raspberry Pi не может заменить десктоп, но в целом она позволяет работать практически на всех языках программирования от Fortran до Python.

Простой и удобный редактор кода Mu для Python:

Рис. 9. Интерфейс редактора кода Mu
Рис. 9. Интерфейс редактора кода Mu
Рис. 10. Интерфейс графического редактора кода Scratch
Рис. 10. Интерфейс графического редактора кода Scratch

Raspberry Pi хорошо подходит для изучения основ кодинга или просто для экспериментов с Linux. Отсутствие встроенного диска здесь является скорее плюсом: можно иметь несколько SD-карт с предустановленными образами и менять их менее, чем за минуту в случае необходимости.

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

Рис. 11. Список запущенных процессов в Raspberry Pi 4
Рис. 11. Список запущенных процессов в Raspberry Pi 4

Загрузка ядер невелика, но при воспроизведении видео в браузере она увеличивается примерно до 70%. Если сделать своеобразный стресс-тест, открыв графический редактор, файловый проводник и браузер с YouTube, то загрузка процессора дойдет до максимума, но свободной оперативной памяти хватит с большим запасом.

Рис. 12. Показатели загрузки ядер в Raspberry Pi 4 при максимальной нагрузке
Рис. 12. Показатели загрузки ядер в Raspberry Pi 4 при максимальной нагрузке
Рис. 13. Результат выполнения команды <code class="inline-code">cat /proc/cpuinfo</code> в Raspbian
Рис. 13. Результат выполнения команды cat /proc/cpuinfo в Raspbian

В целом Raspbian работает хорошо, за исключением отсутствия поддержки DRM из коробки. Теперь попробуем Ubuntu.

Ubuntu 20.04.1

Установка Ubuntu мало чем отличается от установки Raspbian: скачиваем образ с сайта Ubuntu, устанавливаем на карту памяти и запускаем на малине.

Рис. 14. Страница выбора дистрибутива для миникомпьютеров Raspberry Pi 2-4
Рис. 14. Страница выбора дистрибутива для миникомпьютеров Raspberry Pi 2-4

Рассмотрим серверную версию Ubuntu Server 64-bit 20.04.1 LTS и установим недостающие элементы самостоятельно. Для начала настроим Wi-Fi. Откроем файл sudo nano/etc/netplan/50-cloud-init.yaml и добавим в него параметры точки доступа.

        network:
    ethernets:
        eth0:
            dhcp4: true
            optional: true
    version: 2
    wifis:
        wlan0:
            optional: true
            access-points:
                "MYWIFIPOINT":
                    password: "12345678"
            dhcp4: true
    

После перезагрузки проверяем интернет-соединение командой ping 8.8.8.8.

Далее установим рабочий стол следующими командами:

sudo apt-get update

sudo apt-get upgrade

sudo apt-get install ubuntu-desktop

Процесс установки займет около 30 минут.

Рис. 15. Графический интерфейс Ubuntu 20.04 на Raspberry Pi 4
Рис. 15. Графический интерфейс Ubuntu 20.04 на Raspberry Pi 4

Конечно, можно сразу установить Ubuntu с интерфейсом, но это не так интересно.

Система оказалась с багами:

  • Wi-Fi работает, но не отображается в настройках системы. Появляется надпись «Wi-Fi Unavailable», а список сетей пуст. В то же время команда ifconfig показывает нормально работающий адаптер wlan0 и IP-адрес.
  • Разрешение монитора определяется некорректно, поэтому пришлось вручную добавлять параметры HDMI в файл конфигурации.
  • По неизвестной причине выход на наушники всегда активен, а встроенные динамики монитора не работают. Можно переключить звук на HDMI, но после перезагрузки все настройки слетают.
  • Менеджер приложений выглядит неплохо, но установка зависает в статусе «Ожидание» (В таких случаях нужно просто подождать, либо закрыть окно менеджера приложений и через некоторое время снова его открыть – программа будет в «Установленных» – Прим. пер.). Спасает команда apt-get.

Веб-бразуер

В Ubuntu встроен веб-браузер Chromium, но попробуем установить Chrome.

Рис. 16. Страница загрузки Chrome для Raspberry Pi 4
Рис. 16. Страница загрузки Chrome для Raspberry Pi 4

При установке выдается ошибка: «архитектура (amd64) не соответствует системной (arm64)». Похоже, что версии Chrome для ARM пока нет. Это значит, что все, что написано про Raspbian актуально для Ubuntu. Тест Basemark в Chromuim выдает 36.6 балла в отличии 64.8 на Raspbian.

Рис. 17. Результаты теста Chromium в Ubuntu 20.04 в бенчмарке Basemark
Рис. 17. Результаты теста Chromium в Ubuntu 20.04 в бенчмарке Basemark

На этом тестирование Ubuntu 20.04 было прекращено, так как нет смысла рекомендовать тормозную систему с багами.

Релиз Ubuntu 20.10

Версия Ubuntu 20.10, на момент написания статьи, имела статус «последнего релиза с девятью месяцами поддержки до июля 2021 года». Это означает, что данная версия не является окончательным релизом. Но по сравнению с тем, что было, этот релиз определенно не должен быть хуже.

В этой версии пофиксены проблемы с Wi-Fi, менеджером приложений, дисплеем, скорость работы системы возросла.

Рис. 18. Графический интерфейс Ubuntu 20.10 на Raspberry Pi 4
Рис. 18. Графический интерфейс Ubuntu 20.10 на Raspberry Pi 4

В бенчмарке Basemark получаем 46.15 балла.

Рис. 19. Результаты теста Chromium в Ubuntu 20.10 в бенчмарке Basemark
Рис. 19. Результаты теста Chromium в Ubuntu 20.10 в бенчмарке Basemark

Raspbian стабильнее и производительнее Ubuntu, но последний симпатичнее с точки зрения UI. Что касается использования RPi 4 в качестве десктопа, то для нетребовательных приложений он сгодится.

Достоинства:

  • бесшумный;
  • компактный;
  • цена.

Недостатки:

  • низкая производительность;
  • ARM.

Для чего использовать:

  • бюджетный офисный компьютер;
  • эксперименты с Linux;
  • робототехника.
***

Программисту для полноценной работы «Малина» не подходит, так как она не производительна и библиотеки должны поддерживать архитектуру процессора ARM. Лучше купить неттоп или собрать его самостоятельно. Как это сделать – читайте в нашей статье «Брендовый неттоп vs самосборный мини-ПК: выбираем компьютер для программиста».

Статьи по «железу»

Больше полезной информации вы найдете на наших телеграм-каналах «Библиотека программиста» и «Книги для программистов».

Источники

Комментарии

ВАКАНСИИ

Добавить вакансию
Разработчик C++
Москва, по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ