Подключение видеокарты raspberry pi

Обновлено: 25.06.2022

Я хочу подключить графический процессор GT640 к модели Raspberry pi B. Я знаю, что прямого подключения нет, и данные о передаче очень разные, но. Есть ли шанс подключить эти устройства, чтобы воспользоваться вычислительной мощностью графического процессора? не обязательно иметь связь в реальном времени, но возможно ли это в теории?

Я планирую использовать MCS9990 (хост-контроллер PCIe-4-Port USB 2.0) для создания платы, соединяющей GT640 PCI 3.0 16x с RPi USB 2.0. Я думаю, что единственная сложность заключается в драйвере этого чипа, но у меня есть время на его разработку. Если я реализую это, как насчет другого программного обеспечения (драйвера CUDA и GForce), которое они работают поверх драйвера платы?

Я нашел интерфейс, который будет делать эту работу. Это периферийный контроллер PCI Express Gen 2 - USB 3.0 . Он оснащен одним портом PCI Express Gen 2 x1 и одним клиентским портом USB 3.0 SuperSpeed. Я знаю, что USB 3.0 также поддерживает USB 2.0: + высокоскоростной USB ( USB 2.0 ) 480 Мбит / с + USB SuperSpeed ​​( USB 3.0 ) 5 Гбит / с + внешний PCI Express 2.0 × 1 4 Гбит / с + внешний PCI Express 3.0 × 16 32 Гбит / с Я собираюсь ограничиться пи-портом USB 2.0 Raspberry.

лучше вместо этого использовать дешевый компьютерный бокс, потому что есть очень высокий риск жарить ваш GT640 и / или Raspberry Pi.

Почему всевозможное невозможно? Я думал использовать чипсет PCIe-USB, как MCS9901CV-CC, я хочу попробовать обратный путь.

@ArturoVeras, потому что эти устройства не должны быть подключены и / или использоваться вместе. не говоря уже о недостающих драйверах и программном обеспечении, которое вы должны написать, производительность будет ужасной, что сделает весь процесс спорным.

Может быть, я упускаю суть. Поправьте меня, если я не прав, идея состоит в том, чтобы подключить Rasberry, кое-как, к GPU. Позже мы можем сделать кластер с этим и иметь больше вычислительной мощности. Идея состоит не в том, чтобы использовать преимущества скорости передачи PCIe вместо тысячи графических процессоров. Так что, если я смогу общаться, используя GPIO или чип, такой как MCS9901CV, это будет здорово, потому что это означает, что я могу добавить больше Raspberry pi и создать кластер и вуаля !.

@ArturoVeras Вам удалось подключить более простой процессор к RaspPi GPIO и разумно с ним общаться? Я согласен с lenik, что это чрезвычайно сложная задача (сначала изучите архитектуру PCIe и связь с GPU), и выгода очень мала. Возможно, в качестве упражнения сначала попытайтесь установить связь с графическим процессором, подключенным напрямую к шине PCIe на вашем ПК.

Нет я не Я изучаю протокол PCIe и посмотреть, смогу ли я связаться с Raspberry pi GPIO. Что вы думаете об использовании PE4L-PM060A ?, это адаптер PCIe to mPCIe. Я заметил, что интерфейс PCI 1x только уменьшает пропускную способность PC1 16x, я не против этого. Такие вещи могут помочь мне, потому что я могу использовать плату разработки, которая имеет интерфейс mPCIe.

Это было бы возможно, но имейте в виду, что вам нужно будет написать свои собственные драйверы и разобраться с проблемами с питанием, потому что я сомневаюсь, что RasPi сможет питать полноценный графический процессор PCI / PCI-E самостоятельно. Также имейте в виду, что процессор также влияет на мощность графического процессора, поэтому, возможно, стоит попробовать изучить его, прежде чем пытаться.

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

Вы можете использовать startKIT, который имеет слот для карты PCI Express x1, который вы можете использовать для взаимодействия с подходящим графическим процессором (вам, вероятно, придется писать свои собственные драйверы), и тогда он может взаимодействовать с Pi через заголовок GPIO.

Итак, вкратце: да, вы можете, все аппаратное обеспечение для этого существует и легко доступно, все, что вам нужно сделать, это написать клейкую логику, но не ждите, что это будет легко.

StartKIT только добавляет аппаратный интерфейс между PCIe и de RPi? Драйверы, которые вы упоминаете, должны быть написаны в startKit или в RPi? В чем сложность программирования драйвера?

Очень сложно, наверное. На самом деле я не уверен, насколько это возможно, но теоретически с startKIT у вас будет необходимое оборудование и среда, чтобы делать то, что вы хотите.

Что вы думаете о USB 2380 . Вроде бы решение, единственная проблема в том, что GT640 - это 16x PCIe, а USB 2380 - для 1x PCIe, но я думаю, что это совсем не проблема.

@ArturoVeras Трудно сказать, не имея доступа к деталям продукта, но кажется, что это должно быть возможно, тем не менее, ожидать, что это будет трудно. Кроме того, вы, вероятно, не сможете получить полное использование мощности карт, если в любом случае Pi является хостом.

Поэтому, чтобы разбудить мертвую нить, я бы не стал делать это на Raspberry Pi лично. Я бы рекомендовал, по крайней мере, Pi 3 с адаптером mPCIe к PCIe, предназначенным для настольных графических процессоров и питаемым от специального источника питания. Также вам нужно убедиться, что версия Linux имеет поддержку драйверов; если нет драйверов, кто-то должен их написать, и это может занять месяцы с правильными ресурсами и исходным кодом. Это возможно на 100%, но вы, вероятно, должны быть достаточно талантливы, чтобы написать это для сообщества, если это еще не было сделано.

Кроме того, NVidia распространяет только закрытые двоичные файлы, а не драйверы с открытым исходным кодом (так же, как мы получаем только двоичные двоичные объекты, которые используются на RPi для работы с графическим процессором), что делает разработку драйверов намного, намного сложнее, если не невозможно . IMHO ,

Это также верно и должно быть принято во внимание. Любой код, который вы можете найти и перепроектировать для pi 3, следует беречь. Вероятно, понадобится команда этических хакеров или несколько компаний, чтобы собраться вместе, чтобы создать решение. В любом случае это было бы интересно и забавно.

Другая проблема, с которой вы сталкиваетесь, состоит в том, что процессор будет узким местом графической карты, поскольку она работает только на частоте 700 МГц. Я бы попробовал это с гораздо более дешевым GT 210 (который вы можете найти за 20-30 долларов). Что касается ваших драйверов, вы можете найти драйверы Nvidia с открытым исходным кодом и скомпилировать их на ARM.

В чем конкретная проблема с этим? Мне просто нужны вычисления из GPU. Мне не нужны приложения в реальном времени.

Как насчет этой карты? SBC-A510 Одноплатный компьютер . Он имеет процессор 800 МГц и имеет слот PCIe 1x.

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

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

Еще сложнее было бы получить доступ к существующим исходным кодам для всей видеокарты и, возможно, даже к исходным кодам для BCM2835, BCM2836 или BCM2837 (Pi 1, 2 и 3 соответственно). Они нужны вам, чтобы узнать, как карты работают внутри, и найти способ взаимодействовать друг с другом.

Вы должны быть OEM, чтобы получить хотя бы шанс получить исходные коды. Даже фонд Raspberry Pi сама была у испытывает трудности с тем , и должен осесть на предварительно скомпилированных сгустка взаимодействовать с процессором и GPU.

Требования к питанию не будут проблемой вообще, так как к тому времени, когда вы просите [название компании], вы уже поняли бы это. Вероятно, блок питания ПК подключен к видеокарте, а также питает Pi через 5В шину.

MCS9990 - это мост PCIe-USB / ISA, разработанный для предоставления дополнительных портов USB / ISA / GPIO в системе с интерфейсом PCIe. Его нельзя использовать для подключения устройства PCIe к системе, которая имеет только USB, например RPi. Так что этот подход обречен с самого начала.

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

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

Я хотел попробовать это на старой Nvidia GForce, но я паршивый программист без опыта взлома оборудования.

Я подумал, что это был долгий путь, но я написал NVidia по электронной почте сразу после выпуска RTX и спросил, будут ли они либо скомпилировать драйверы для нескольких GPU до 2010 года для Pi и сделать их доступными для загрузки и настройки, либо выпустить исходный код для людей, чтобы скомпилировать себя. Очевидно, они сказали «нет».

Итак, вот в чем дело, у нас есть внешние графические процессоры для ноутбуков ( расходы не учитываются ), и Wi-Fi в новом Pi 3B + должен быть быстрым, почему бы не посмотреть, сработает ли это?

Через несколько дней после релиза Raspberry Pi 4, энтузиаст из Польши сумел подрубиться к PCI Express 1x на устройстве. Отдельный разъём не предусмотрен, но он сделал.

Значит, можно подключить NVIDIA RTX 2080 Ti, а затем установить линуксовый драйвер для ARMv7? NVIDIA уже давно делает драйверы для ARM. Или помешает отсутствие писишного Биоса?


Ну и что ты с таким днищепроцем не такой карте запускать собрался?


Может помешать то, что прошивка там под x86, хотя может вопрос инициализации и запуска решится драйвером


Значит, можно подключить NVIDIA RTX 2080 Ti, а затем установить линуксовый драйвер для ARMv7?

Не всё так просто. Да и конкретно эта железка и на 10% себя не раскроет на тапочке типа рпишки.

anonymous (конкретный анонимус, а не любой) что-то мыслил на эту тему, но результатов я не помню. Кастану его сюда как только увижу в сети.

Помешает то, что это придумали вы, поэтому никто за вас эту гениальную идею проверять не будет, а у вас нету Geforce 2080 Ti. Но работать не будет - мощности питания не хватит.


Естественно не хватит. Но никто не запретит топикстартеру запитать железку со стороны.

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

Внезапно не угадал. Знаю одного анона (не зенитура), который уже предлагал эту идею.


Можно было и раньше через «райзеры для видеокарт» usb 3.0. Если драйвер реально есть. Но зачем тебе это, майнить на малинке? Есть варианты от альтернативных производителей с нормальным pci-e.

В теории, если там полноценный pci-e, то можно пробнуть подключить райзер и уже в него воткнуть любую железку. Даже можно будет подключить разветвитель на 4 pci-e порта и т.д.

Но это всё в теории. Я 4-ую малину в руках не держал и не собираюсь - я наигрался с этими армами.

и для чего енто ?? запустить майнер о 4ех карточках pci-e на арме ?? или старая тема про троллейбус из буханки ??

Чтоб все офигели от того, как я могу!
Ты этот вопрос не мне, а ТСу задай.


Нет, никогда нельзя было. Те решения для майнинга использовали порты и кабели USB 3.0, но сигнал по ним гонялся PCIE. Бывают даже варианты с разъёмами HDMI — аналогично никаким HDMI там не пахнет.


Нет, никогда нельзя было. Те решения для майнинга использовали порты и кабели USB 3.0, но сигнал по ним гонялся PCIE. Бывают даже варианты с разъёмами HDMI — аналогично никаким HDMI там не пахнет.

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

Учитывая, что сейчас делают PCI Express 4.0 и USB 4.0, в которых скорость передачи данных снова увеличена во много раз - ждём видеокарт, подключаемых по USB. Только дерьмовые китайские кабели сведут всё на нет, оставляя большинство людей в эпохе USB 2.0.

На 99% процентов уверен, что нельзя. Надо смотреть в документации, какое окно адресов выделено для PCIe контроллера. И на 99% уверен, что там ну максимум может быть 32М. А видеокарт, которые требуют хотя бы не больше 256М, сейчас уже не найдешь. Какие-нибудь сетевухи, модемы, или SATA-контроллеры могут заработать - им много не надо. А видео нет.


Вспомнил, нвидиа ещё выпустила микрокомпьютер-видеокарту с арм процессором в комплекте. NVIDIA Jetson AGX Xavier до 32 Террафлопсов в секунду даёт при общем потреблении в 10 Ватт. Стоит очень дорого, компактен, предполагается решать и обрабатывать задачи ИИ, компьютерного зрения, самоуправляемых машин. Есть SDK, уже в продаже.

fehhner ★★★★★ ( 19.03.20 09:15:14 )
Последнее исправление: fehhner 19.03.20 09:15:28 (всего исправлений: 1)



По информации Hackaday, компьютерный энтузиаст и разработчик Джефф Герлинг подключил Radeon RX 6700 XT к Compute Module 4 от Raspberry Pi через Compute Module 4 IO Board. Ему было интересно, запустится ли такая сборка и что можно будет сделать через видеокарту.


Схема подключения Radeon RX 6700 XT к Raspberry Pi CM4 с использованием внешнего блока питания ATX, к которому были подключены все элементы, включая CM4.

После сборки стенда и подключения электропитания, Raspberry Pi увидел через переходник PCIe x16 -> PCIe x1 в слоте PCIe Gen2 x1 платы расширения подключенную внешнюю игровую видеокарту. Система не показала ошибок с выделением памяти при проверке списка выделенных регистров базовых адресов после подключения видеокарты.

Но вот дальше Герлинг особо не продвинулся. Он не смог скомпилировать драйвера под Linux для Raspberry Pi с Radeon RX 6700 XT. У него начали возникать ошибки в процессе пересборки ядра Linux с драйверами AMD даже с нужными патчами и новыми версиями. Оказалось, что эта проблема возникает из-за некорректной работы с системой памяти Raspberry Pi и требует проработки.

Герлинг на GitHub выложил наработки по своему проекту подключения Radeon RX 6700 XT к Raspberry Pi CM4 и начал совместно с сообществом искать решение проблемы с видеодрайвером. Пока что его нет.

В июле 2020 года эксперты опубликовали инструкцию по установке Windows 10 на Raspberry Pi 4. Вдобавок они проверили, как работают некоторые сторонние программы (GIMP Photo Editor, Arduino IDE и Python 3.8) в этой связке микрокомпьютера на ARM и последней версии Windows.

Недавно энтузиасты смогли установить Steam на Raspberry Pi 4 и запустить там некоторые игры. Один программист вообще использует процессор микрокомпьютера Raspberry Pi в качестве физической кнопки.





Дальше все просто. Разархивируем скачанное, подключаем SD карту к компьютеру, далее нам понадобится программа Win32DiskImager. Устанавливаем, запускаем. Указываем путь к .img файлу с ОС на борту, далее в поле «Device» выбираем из списка носителей нашу SD карту и нажимаем «Write». После в появившемся диалоговом окне выбираем «Yes» и готовимся к первому запуску RPI.

Для работы RPI нам нужен телевизор с HDMI выходом, но на крайний случай можно обойтись и обычным. Для этого нам понадобится вместо HDMI кабеля SCART-RCA кабель и обычные USB колонки со своим питанием! Думаю понятно что и куда нужно втыкать. Если все прошло как-по-маслу, мы увидим окно с настройками нашей ОС.


  • Change Locale — Выбор языка, выбираем «ru_RU.UTF-8 UTF-8».
  • Change Timezone — Выбор часового пояса, выбираем свой.
  • Change Keyboard Layout — Настройки клавиатуры. Оставляем все как есть.
  • Overscan — Если у вас по краю изображения имеется широкая чёрная полоса, то необходимо выключить этот режим.
  • Hostname — Сетевое имя RPI. Оставляем по-умолчанию.
  • Memoy Split — Выделение видеопамяти для работы графического процессора. Ставим 128.
  • SSH — Доступ по SSH. Включаем, т.к. далее все будем настраивать по SSH. У меня появились некоторые ошибки.
    Initial ssh key generation still running. Please wait and try again.
    Лечится простыми действиями после перезагрузки:
    sudo rm /var/log/regen_ssh_keys.log
    sudo rm /etc/ssh/ssh_host*
    sudo ssh-keygen -A
  • Update — Обновление ОС. Для этого необходим доступ в интернет.
  • About raspi-config — Пропускаем, не интересно.

После перезагрузки вводим логин pi и пароль который вы сделали (по умолчанию raspberry). Рекомендую сразу поменять рутовый пароль:

Настройка доступа по SSH к файловой системе RPI (из Windows)

Первым делом скачиваем WinSCP. Устанавливаем, настраиваем.
В поле host name вводим ip адрес RPI, у меня 192.168.1.100 (узнать можно с помощью Advanced IP Scaner, либо через роутер, думаю не стоит подробно объяснять как это сделать). В поле user name и password указываем данные для авторизации. Лучше всего пользоваться root'ом, далее Save. Далее все просто, указываем название, жмем чекбокс и OK. Все, теперь мы готовы приступить к следующему шагу.

Xming: X-Server для Windows

Собственно след. шагом будет установка X-Ming. Он нам нужен скорее для мониторинга, ну и это облегчит нам жизнь в будущем, так как мы поставим Conky для мониторинга и MySqlWorkbench для администрирования БД(но это скорее просто прихоть) на RPI. Тем кому это не нужно, могут смело идти к следующему шагу.
Скачиваем, устанавливаем. Параметры установки:

галка Non US keyboard Support
галка XLaunnch wizard
галка Run Unility
Normal PuTTY Link SSH client

В свойствах ярлыка XMing прописываем путь_до_программы\Xming.exe :10 -clipboard -multiwindow
После этого врубаем и можно смело подключаться к RPI посредством SSH, главное напомнить вашему SSH клиенту использовать X-11 Forwarding.

В PuTTY заходим в Connections -> SSH -> X11 -> Включаем X11 Forwarding
X display location — localhost:10.0
Remote X11 authentification protocol — XDM-Authorization-1
Затем сами настройки сессии (Sessions)
HostName (or IP address) — 192.168.1.100 (ваш ip RPI) port 22
Connection type — SSH -> Жмем Save и подключаемся. Запускаем терминал и…


Установка XBMC на Raspberry Pi под Raspbian

Все приготовления закончены и я думаю мы подошли к главному. Лирическое отступление. До того как я решил сделать так как мы сделаем, я ставил себе и OpenELEC и RaspBMC. Мне это не подошло, потому что приходилось перезагружать RPI что бы запустить или Raspbian или XBMC (В случае с OpenELEC), а с RaspBMC я не смог даже близко сделать что то подобное. Хотя может и найдутся умельцы которые скажут что я дурак, и все такое. Идем дальше. Описание сего процесса не моё, нашлись умельцы которые изобрели колесо за нас, я просто применил на практике. По порядку:


Добавляем пользователя из под которого планируется запускать XBMC в следующие группы (audio video input dialout plugdev tty) командой:


Затем, меняем настройки группы input командой:


В файле должно быть:


Запускать XBMC командой:


Дождаться загрузки и profit!


Это уже настроенный XBMC с уже установленными плагинами, список я приведу ниже.

Если необходимо сделать Автостарт XBMC то нужно редактировать /etc/default/xbmc и изменить ENABLED to 1:


Все эти плагины можно спокойно найти в интернете, вдаваться в подробности настройки и установки я не буду.
Что бы заработали скреперы — необходимо в настройках TheMovieDB использовать не TMDB а IMDB. Не понял почему так, но после смены у меня заработали скреперы на поиске некоторых русских фильмов, однако некоторые все еще найти не может.






Установка Conky

Он нам нужен для мониторинга за температурой, загрузкой CPU и тд. По порядку:


Затем создаем файл .conkyrc командой:


и вставляем туда:


Все настройки можно найти в интернете и настроить «на свой вкус».


Установка и настройка WebServer-а Apache2.2, php5, mysql, phpmyadmin, mysql-workbench

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

Перед установкой рекомендую в настройках роутера(на пример, мой ADSL модем 192.168.1.1 — пробросить порты Virtual Rout(Port Forwarding), пробрасываем 80 порт на 80 порт 192.168.1.100(.100 это у меня Raspberry PI))

Итак, поехали. GIT:


Теперь php5 с плюшками:


Проверяем. Заходим в браузере на IP_малинки (в моем примере 192.168.1.100). Если появилась надпись «It works!», то я вас поздравляю, если нет — просьба попробовать включить-выключить сначала. Для тех кто не пробрасывал порты, можно проверить прямо с RPI. Для этого цепляется через SSH и запускаем браузер:


Затем вводим localhost/ или localhost/apache2-default . Если появилась надпись «It works!», то я вас поздравляю, если нет — просьба попробовать включить-выключить сначала.

/var/www/ — папочка с вашими сайтами и скриптами.
/etc/php5/ и /etc/apache2/ — тут лежат конфиги php5 и апача.

Далее проверим работоспособность php5, создадим файл test.php:


В него внесем изменения:


CTRL + X -> Y -> Enter, заходим по ссылке IP_адрес_малины/test.php (если через RPI то localhost/test.php ). Если появилось информация о PHP5 то все хорошо. Далее ставим PHPMyAdmin:


Что бы получить доступ к phphmyadmin, необходимо в файл /etc/apache2/apache2.conf


вписать следующее (необходимо только до версии Squeeze, начиная с версии 6,0 это будет включено в сценарий установки пакета /etc/apache2/conf.d/phpmyadmin.conf -> ../../phpmyadmin/apache.conf автоматически):


Проверяем, заходим в браузере 192.168.1.100/phpmyadmin (c RPI localhost/phpmyadmin ).
Думаю с установкой веб-сервера закончено. Про настройку DNS в bind9 и VIrtual Hosts в апаче будет в другой статье. Скажу еще то, что для себя я поставил так же RhodeCode на RPI и хотел поставить какой нибудь Issue трекер. Выбор пал на YouTrack от JetBrain, но JavaМашина сильно грузит Raspberry, поэтому не стал заморачиваться. Так как я пользуюсь phpstorm — вот небольшое отступление о том Как подружить phpstorm с нашей БД на RPI:
Врубаем PHPStorm заходим в DataBase (кнопка слева) -> new -> DataBase Source


Database URL — адрес и порт удаленной машины, а так же имя БД
User — имя пользователя БД
Password — пароль пользователя БД


SSH tunnel will be opened on localhost and port — порт обязательно должен быть свободным на машине, с которой нужно подключить phpstorm к mysql на удаленной машине.

Монтируем нашу USB флешку

Втыкаем флешку в RPI, вводим команду:


Смотрим, запоминаем, TR16GB, тип «ntfs», устанавливаем поддержку ntfs:


Создаем каталог, куда будем монтировать нашу флешку:


Где UUID, это уникальный id нашей флешки, который мы посмотрели командой sudo blkid в самом начале. Перезагружаем RPI:

Установка Samba

Приступаем к установке, Обновим на всякий случай все что мы тут натворили:


Установим сервер Samba:


Теперь откроем /etc/samba/smb.conf и вписываем туда:


Где workgroup, это рабочая группа, скорее всего у вас WORKGROUP. Доступ к серверу будет осуществляться без авторизации. Если необходимо что бы при подключении надо было запрашивать пароль, то вместо security = share и guest ok = yes напишите security = user . Нужно так же создать нового пользователя, вводим команду sudo smbpasswd -a [имя] , где [имя] — это имя пользователя. Сохраняем конфиг, перезагружаем:


Я «замапил» себе сетевой диск, для удобства. Можно прямо с компа закидывать фильмы на RPI и смотреть уже на огромном телевизоре, который допустим стоит у вас где-нибудь в гостиной.


Установка rTorrent, Screen, RuTorrent

Сначала поставим rTorrent


Затем создадим папку на нашей флешке, сюда будем качать наши фильмы:


А так же папку, где у нас будет храниться информация о закачках:


Затем переходим в домашнюю папку юзера, под которым будет работать rtorrent, у меня это /home/pi :


Тут создаем файл ".rtorrent.rc", это настройки нашего rtorrent:


Описание настроек можно посмотреть здесь. Настроим автозагрузку и установим screen для работы rtorrent в фоне:

Отредактируем скрип для корректной работы:


в строке user="user" пишем user="pi" . Сохраняем. Теперь все это дело добавим в автозагрузку и запустим:


Настроим апач, включим модули:


Отредактируем файл /etc/apache2/apache2.conf — в самом конце файла нужно добавить строку — " SCGIMount /RPC2 127.0.0.1:5000 ". Перезапускаем апач:


Пришло время ставить web-морду для нашего rtorrent. Я выбрал ruTorrent, т.к. она простенькая и на русском языке. Сначала поставим Subversion:


Теперь загрузим ruTorrent:

Выставим права на папку:


Осталось проверить работу нашей web-морды, заходим в браузере ip_адрес_RPI/rutorrent (если с RPI то localhost/rutorrent ):



Ну вот вроде и все. Теперь мы имеем готовый к работе RPI, для web-разработчиков, которые в ночь с пятницы на субботу могут поставить качать свой любимый сериал и на следующее утро, лежа на диване смотреть все это дело на огромном телике. Спасибо за внимание.
P.S. Хочу принести извинения за отсутствие некоторых ссылок на сторонние ресурсы, материалом которых я руководствовался т.к. делал я это давно, а опубликовал только сейчас.


Всем привет. Сегодня расскажу вам о том, как я собирал ретроконсоль на Raspberry Pi 3 Model B.
Дам полную инструкцию того где взять прошивку и игры. Покажу как настроить. (хотя там настроек то по сути почти нет, всё очень просто)
Нам понадобятся Raspberry Pi 3 Model B, блок питания для нее, карта памяти MicroSD (чем объёмнее, тем лучше), джойстик и монитор\телевизор для вывода изображения.
Предвидя комменты, о том, что сейчас можно поставить эмулятор хоть на пк, хоть на андроид приставку, хоть на телефон\планшет, скажу сразу, что я всё это знаю. Но захотелось именно отдельное устройство. Именно консоль. Такую чтобы стояла под телевизором, и позволяла запускать игры. Тем более что у меня давно лежала Raspberry Pi 3 Model B, которую я брал на распродаже еще в начале 2019 года.
Кстати сейчас дал ссылку на Aliexpress, где цена вроде как более-менее доступная. Я лично брал свою Raspberry по распродаже не на Aliexpress. Честно, не помню уже где. Толи на банггуде, толи на гербесте, толи на розегале. Ну это не важно, так как там уже нету низких цен, на али ценник ниже.
Сперва как положено кратко расскажу о Raspberry Pi 3 Model B.
Основные характеристики Raspberry Pi 3 Model B:

Broadcom BCM2837 SoC;
64-битный четырехъядерный ARMv8 Cortex-A53 процессор с тактовой частотой 1.2 ГГц;
Графический 2-ядерный сопроцессор Video Core IV® Multimedia;
Память на 1ГБ LPDDR2 SDRAM (900 MHz);
Ethernet;
WIFI 802.11n + Bluetooth 4.1 Low Energy (BLE);.

Обычно к покупателю она попадает вот в такой коробке:

(зачастую коробка такая же мятая, как и у меня)
Комплектация состоит из самого мк и инструкции:

Инструкция многоязычная. Русский язык имеется. Но особо полезной информации в инструкции нету:

Сама Raspberry выглядит вот так:





Как можем увидеть, это готовая плата, к которой нужно добавить только питание, память в виде флэшки MicroSD, устройства ввода\вывода и подключить монитор.
Ну и корпус не помешает.
Корпуса в огромном количестве имеются на Aliexpress, любого вида и под любой кошелек. Но так как у меня есть 3D принтер, я корпус просто напечатал:


Ссылка на скачивание этой модели для печати.
Помещаю мк в корпус. Скрепляю его винтами.




В качестве памяти я использую флэшку MicroSD на 64гб от производителя Borofone (ссылки нет, покупал ее в оффлайне)


Думаю, что 64гб вполне достаточно для того чтобы хранить на приставке как саму ОС, так и некоторый запас игр. Но если хотите, можно использовать флэшку объёмом и поменьше. Тогда игр влезет меньше.
Для питания МК я использую качественный шнур MicroUSB и блок питания от телефона Xiaomi, который может давать более 2А (МК в пике нагрузки может потреблять до 3А)
Для управления консолью я планировал использовать джойстик Steam Controller. Тут на него есть мой обзор.
Но к сожалению, уже после установки ОС к моему большому сожалению было обнаружено что в ней нет нативной поддержки Steam Controller. Поэтому пришлось временно использовать проводной джойстик.
В целом для того чтобы сделать ретроконсоль, нам нужен вот такой набор:

Ну и еще нужны программы для установки. В первую очередь нам нужно скачать саму ОС. В моем случае более предпочтительным вариантом оказалась ОС Recalbox
Последнюю версию всегда можнобесплатно скачать на оффсайте.

Для установки ОС Recalbox на флэшку, нам понадобится программа balenaEtcher. Её можно скачать тут.

Теперь просто вставляем флэшку через любой картридер в компьютер, выбираем образ, запускаем Etcher, жмём Flash и спустя несколько минут имеем надпись Flash Complete



После этого просто втыкаем флэшку в Raspberry, подаем питание и ждём пока ОС распакуется и установится. Первый запуск бывает долгим.

Для того чтобы сразу же начать пользоваться ОС, нужно чтобы в консоль были подключены либо клавиатура, либо джойстик:

Основное меню ОС Recalbox выглядит вот так:

Листая джойстиком вверх/вниз, выбираем нужную платформу, которую мы хотим играть. Затем заходим внутрь и выбираем игры:

Кстати об играх.
Пара игр есть сразу с момента установки. Но нам ведь хочется играть в много разных игр, тех, в которые мы играли во времена сеги и денди. Поэтому игры нужно скачать.
Один из самых больших и удобных каталогов, с играми и оверлеями сразу под Recalbox можно найти в профильной теме на 4PDA
Там же есть ссылка на гугл облако, где лежит огромное количество игр под разные платформы.

Я лично больше всего фанатею по старым сеговским играм. Поэтому скачал сборник ромов на почти 3гб с играми.
Но после того как мы скачали игры, их надо как-то установить на консоль. С этим тоже нет особых проблем.
Первый способ, это подключить консоль к домашней сети.

На ПК ставим программу WinSCP и по сети закидываем ромы в нужные папки.
Но я закидываю игры более простым лично для меня способом. Через файловый менеджер встроенный в KODI
Для этого я нужные ромы закидываю на флэшку USB. Вставляю ее в консоль. Затем запускаю медиацентр KODI

В KODI выбираю настройки-File Manager
И видим двухоконный менеджер файлов. Для того чтобы перекидывать игры, нужно в список отображаемых папок добавить три нужные папки. Для этого выбираем add sourse, затем Поиск, затем выбираем папку SHARE и в ней по очереди добавляем 3 папки (bios — чтобы загружать биосы в систему, saves — чтобы загружать сохранения и сейвстейты, которые у вас уже есть; и roms — собственно для игр)
А затем просто закидываем в добавленные папки нужные ромы и файлы игры.
Итого вроде долго описывать. Но по факту всё делается очень быстро. И у нас в итоге имеется ретроконсоль с блэкджеком и куртизанками. То есть ретроконсоль с кучей игр, и возможность эти самые игры добавлять и удалять. Как я говорил выше, мне в первую очередь интересны игры от SegaMega Drive. Поэтому я скачал именно под эту консоль кучу игр.
И играю. Все игры идут без каких-либо тормозов или зависаний. Мощности Raspberry хватает более чем.
Из интересных игр, которые я помню, и то что с удовольствием сейчас переигрываю, это конечно же ComixZone


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

Да, конечно же Дюна.
Ну и сколько лет прошло. А читы не забыты:

Ну контру конечно же любят все:

Ну и конечно же червяк Джим

Огромный плюс такой консоли именно в том, что я могу сам добавить или удалить нужную мне игру. Ну и нету необходимости в покупках, ни физического носителя, ни цифровой версии.
Кстати так как у меня не захотел работать Steam Controller, я сперва игра проводным геймпадом, а потом достал из запасов беспроводной Xiaomi Gamepad который без проблем заработал на консоли. Пришлось только в настройках провести калибровку кнопок.

Консоль также может работать с джойстиками от PS3/PS4/XBOX и т.д. Тажке можно использовать китайские беспроводные и проводные джойстики. Подойдет почти всё что у вас есть, если это конечно не совсем эксклюзив или редкость.
Заключение:
По итогам всего вышеописанного, в парке моих консолей появилось прибавление. Теперь я могу играть все старые игры из-под сеги и денди. На большом телевизоре. Да, игры выглядят уже квадратными по графике и видны огрехи. Мы привыкли к 4к качеству на современных играх. Но иногда хочется вернуться именно к тем, к старым играм. И у меня это получилось. Конечно джойстик тут тоже уже не такой как был на старой Sega. Но игры те самые. И несмотря на то что прошло столько лет, они всё так же интересны.
На Raspberry также можно закинуть игры под PSP и PS One, но я честно сказать уже не имею к ним такого теплого отношения как именно к сеге. Но в будущем я наверно закину пару игр, которые когда-то игра на первой Play Station. Это в первую очередь игра KKND (ну вы наверно поняли, что мне нравятся игры жанра стратегии)
Вы же, пользуясь данным гайдом, можете повторить всё описанное, и также получить небольшую ретроконсоль, которая подарит не один час тех самых старых теплых ламповых игр. И честно скажу, именно в таком исполнении консоль лично мне интереснее, чем обычные эмуляторы на пк или телефоне. Но это конечно всё зависит от предпочтений.
На этом весь мой обзор (или инструкция). Желаю всем хорошего настроения и приятных игр.

Читайте также: