Вопрос или проблема
Я запускаю Blender в виртуальной машине Linux (Ubuntu Noble) на Android телефоне, используя портированный учебник, который позволяет мне использовать аппаратное ускорение для GPU. Все учебники, которые я использовал для настройки своей виртуальной машины, перечислены ниже, в порядке, в котором я их использовал:
https://ivonblog.com/en-us/posts/how-to-use-termux/
https://ivonblog.com/en-us/posts/termux-x11/
https://ivonblog.com/en-us/posts/termux-proot-distro-debian/
https://ivonblog.com/en-us/posts/termux-virglrenderer/
В учебнике по Debian я использовал “ubuntu” вместо “debian” в качестве названия дистрибутива.
У меня есть устройство Samsung Galaxy S20 5G (SM-G981B/DS) с Android 13, Termux из F-Droid и последние версии proot-distro, обе, виртуальная машина Ubuntu Noble, Blender 4.0.2 с Ubuntu.
Когда я пытаюсь запустить Blender с использованием аппаратного ускорения, я получаю следующий вывод:
Read prefs: "/home/myUserName/.config/blender/4.0/config/userpref.blend"
Writing: /tmp/blender.crash.txt
Segmentation fault
А в файле blender.crash.txt содержится такой текст:
# Blender 4.0.2, Неизвестная ревизия
# backtrace
blender(+0xa21c20) [0x3000a21c20]
blender(+0x7084f4) [0x30007084f4]
[0x707f305678]
blender(+0xaa5634) [0x3000aa5634]
blender(+0xa76760) [0x3000a76760]
blender(+0xa783dc) [0x3000a783dc]
blender(+0xa8dd28) [0x3000a8dd28]
blender(+0x6ad998) [0x30006ad998]
/lib/aarch64-linux-gnu/libc.so.6(+0x284c4) [0x70797184c4]
/lib/aarch64-linux-gnu/libc.so.6(__libc_start_main+0x98) [0x7079718598]
blender(+0x6f86b0) [0x30006f86b0]
# Python backtrace
Я пробовал различные методы ускорения, LLVM, VirGL и Zink, но безуспешно. И если я пытаюсь без ускорения, то это работает, но очень медленно.
Я также пробовал с Debian, кстати, и результаты разные, на самом деле, я могу использовать Blender (3.4.1) с аппаратным ускорением, и я могу заметить это, потому что интерфейс более отзывчивый. Я пробовал скомпилировать Blender 3.4.1 в Ubuntu и запустить его с аппаратным ускорением, и он работает так же, как и в Debian. Так что, я думаю, это проблема с новой версией Blender, и это проблема самого Blender.
Заранее спасибо за любую помощь, с уважением, хорошего дня.
Ответ или решение
Проблема с аппаратным ускорением Blender в Ubuntu под Termux на Android
Ваше описание проблемы с запуском Blender в виртуальной машине Ubuntu на смартфоне Samsung Galaxy S20 5G через Termux включает множество нюансов. Давайте обсудим возможные причины сбоев и предложим решения для улучшения работы Blender с аппаратным ускорением.
Основные аспекты проблемы
-
Исходная настройка: Вы используете Termux, чтобы создать виртуальную среду (proot-дистрибутив) на базе Ubuntu. Это может вызывать некоторые ограничения, связанные с доступом к аппаратным ресурсам вашего устройства.
-
Версия Blender: Вы используете Blender 4.0.2, который, согласно вашему описанию, вызывает сбои при попытке работы с аппаратным ускорением. При этом вы отметили, что более старая версия (3.4.1) работает лучше в аналогичных условиях.
-
Методы аппаратного ускорения: Вы пробовали несколько технологий, но столкнулись с тем, что ни одна из них не дала желаемого результата. VirGL и Zink, как эмуляторы OpenGL, могут быть несовместимы с вашей текущей конфигурацией.
-
Вывод ошибок: Сообщение о «Segmentation fault» указывает на наличие серьезной проблемы в коде Blender при попытке взаимодействия с графическим процессором, что означает, что Blender не может корректно использовать аппаратные ресурсы.
Рекомендации по устранению проблемы
-
Проверка совместимости: Убедитесь, что ваше устройство поддерживает необходимые технологии аппаратного ускорения. Возможно, стоит проверить наличие обновлений для Android и Termux, поскольку некоторые обновления могут улучшить совместимость.
-
Попробуйте более старую версию Blender: Вы уже отметили, что 3.4.1 работает лучше. Если вам не критично наличие новых функций, стоит рассмотреть возможность использования более стабильной версии.
-
Тестирование разных подходов:
- Попробуйте запустить Blender с различными настройками. Убедитесь, что вы правильно настроили VirGL и другие используемые технологии для вашего устройства.
- Некоторые пользователи сообщали о большем успехе с запуском Blender под более легковесными окружениями (например, XFCE или LXDE), поэтому есть смысл изменить графическую среду.
-
Параметры запуска: Проверьте параметры командной строки, которые вы используете для запуска Blender. Можно попробовать добавить параметры, которые отключают определенные функции или подстраивают систему под ваш девайс.
-
Отладка: Для более глубокого изучения проблемы стоит рассмотреть сборку Blender из исходного кода с включенными флагами отладки. Это может помочь выявить точную причину сбоя.
-
Обращение к сообществу: Учитывая специфику вашей настройки, возможно, стоит обратиться за помощью на форумы пользователей Blender или Android/Termux, где вы можете получить больше рекомендаций от тех, кто сталкивался с подобными проблемами.
Заключение
Работа с Blender в таких специфических условиях, как виртуальная машина в среде Android, может быть очень сложной. Однако правильный подход к диагностике и устранению проблем, а также использование совместимых версий ПО могут значительно улучшить вашу ситуацию. Продолжайте исследовать и тестировать различные методы и не стесняйтесь обращаться за помощью, если потребуется. Удачи в ваших начинаниях с Blender!