понедельник, 24 мая 2021 г.

Recalbox и не запускающийся Kodi

Развернул Recalbox чтобы поиграться на этом эмуляторе в что-нибудь старое и ламповое - и обнаружил, что в нем не запускается Kodi. Погуглив, выяснилось, что подобное поведение происходит при определенных моделях геймпада, в частности, на моем китайском "SHANWAN PS3/PC Gamepad", и кроме замены геймпада решения нет.

Авторы Recalbox пишут, что это баг Kodi - но на самом деле это их баг.

Kodi запускается строкой:

/usr/bin/configgen -system kodi -rom '' -p1index 0 -p1guid 03000000632500007505000010010000 -p1name "SHANWAN PS3/PC Gamepad" -p1nbaxes 4 -p1nbhats 1 -p1nbbuttons 13 -p1devicepath /dev/input/event6

При этом Recalbox "делает доброе дело", скрипт configgen заранее генерирует для Kodi файл XML с настройками кнопок текущего джойстика. Вот в этом "добром деле" и закралась проблема - скрипт пытается создать файл:

/recalbox/share/system/.kodi/userdata/addon_data/peripheral.joystick/resources/buttonmaps/xml/linux//SHANWAN_PS3/PC_Gamepad_13b_6a.xml

Как видно из названия - в имени джойстика присутствует символ "/", то есть файл создается не в папке: 

/recalbox/share/system/.kodi/userdata/addon_data/peripheral.joystick/resources/buttonmaps/xml/linux/

А в несуществующей в ней подпапке "SHANWAN_PS3" - соответственно, скрипт падает по исключению и Kodi не запускается.

Подобная проблема с незапускающимся Kodi на Recalbox будет на любых джойстиках, которые в своем названии содержат косую черту

Как решение - создать папку SHANWAN_PS3 по указанному пути - и Kodi запустится (правда, джойстик надо будет настроить вручную, либо скопировать преднастроенный XML самостоятельно). Как более правильное решение - изменить код configgen, чтобы он не только пробелы заменял на символ подчеркивания, но еще и косую черту.

Увы, написать авторам Recalbox в форуме об этом баге я не могу - проблемы с активацией аккаунта. Так что пусть решение будет здесь. Проблема озвучена у них по ссылке: https://forum.recalbox.com/topic/17866/kodi-does-not-start 

Комментариев нет: