LINUX.ORG.RU

Godot 3.5 виснет при запуске

 ,


0

1

Здравствуйте.

Я, теперь счастливый пользователь Arch, установил Godot 3.5, который виснет при попытке запустить его:

Godot Engine v3.5.stable.arch_linux - https://godotengine.org
OpenGL ES 3.0 Renderer: NVAC
Async. shader compilation: OFF

… и показывает splash screen. Где логи лежат не знаю.

Что тут-то не так?

★★★

Последнее исправление: GREAT-DNG (всего исправлений: 1)

Ответ на: комментарий от PhysShell

С –verbose:

Godot Engine v3.4.5.stable.official.f9ac000d5 - https://godotengine.org
XInput: Refreshing devices.
XInput: No touch devices found.
Detecting GPUs, set DRI_PRIME in the environment to override GPU detection logic.
Only one GPU found, using default.
Using GLES3 video driver
OpenGL ES 3.0 Renderer: NVAC
OpenGL ES Batching: ON
        OPTIONS
        max_join_item_commands 16
        colored_vertex_format_threshold 0.25
        batch_buffer_size 16384
        light_scissor_area_threshold 1
        item_reordering_lookahead 4
        light_max_join_items 32
        single_rect_fallback False
        debug_flash False
        diagnose_frame False

Может это из-за проблем с локалью? Т.е. Godot не может ее определить?

GREAT-DNG ★★★
() автор топика
Ответ на: комментарий от GREAT-DNG

И ничего интересного, кроме:

  • В ОП: Godot Engine v3.5.stable.arch_linux.

  • Здесь: Godot Engine v3.4.5.stable.official.f9ac000d5.

А, дошло:

Взял с сайта - тоже самое.

Так что вряд ли обновление кривое, ещё в Issues на GH ничего подобного не встретилось из последнего.

Может это из-за проблем с локалью

Странная реакция у Godot для такого, но как бы то ни было, настройка локали мне видится поприоритетнее.

А что в процессах кстати, может он не завис, а занят чем-то?

Ещё оказывается dmesg имеет смысл погрепать на наличие godot.

PhysShell ★★
()
Ответ на: комментарий от GREAT-DNG

Винт - полумертвый HDD’шник.

Резюмируя возможные причины: ошибки в драйвере диска(?), проблемы с ФС, наличие битых страниц в диске, но самое первое, что в таких случаях пишут это как раз «полумертвый HDD’шник» и «иди купи новый хардак». Из всего этого я увы разбираюсь хорошо ни в чём.

Можно посмотреть в iotop, вдруг там активность какая-то идёт и «надо только подождать» (с), пусть и неприлично долго. А вот если он колом встаёт, то вообще без дальнейших идей, сложнее чем «иди купи новый хардак».

Он из uninteruptable state должен либо выйти сам и продолжить выполнение, либо выкинуть SIGBUS например и пойти дальше и например завершиться. Ты его убиваешь как-то или что происходит?

PhysShell ★★
()

Может во время открытия GL контекста. Кинь вывод: glxinfo | grep OpenGL.

Если драйвер mesa то попробуй запустить с переменной LIBGL_ALWAYS_SOFTWARE=true, в отрытом драйвере она форсирует рисование OGL на CPU, посредством llvmpipe.

Aber ★★★★★
()
Ответ на: комментарий от GREAT-DNG

Видимо обновление виновато. 3.4 работало на бомжаре.

Хорошим способом, было бы откатиться в качестве теста на godot 3.4. Покажет, виновата новая версия или все же дело в арче, который не manjaro ) и его надо дополнительно ‘допиливать’.

krasnh ★★★
()
Ответ на: комментарий от PhysShell

uninteruptable state

Непонел :/

Ты его убиваешь как-то или что происходит?

Он намертво виснет, иногда колом стопоря всю систему. Ctrl+C или SIGKILL ничего не дает - все так же висит D, но теперь без дочерних процессов.

GREAT-DNG ★★★
() автор топика
Ответ на: комментарий от Aber

glxinfo | grep OpenGL:

OpenGL vendor string: nouveau
OpenGL renderer string: NVAC
OpenGL core profile version string: 3.3 (Core Profile) Mesa 22.1.6
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.3 (Compatibility Profile) Mesa 22.1.6
OpenGL shading language version string: 3.30
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 22.1.6
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
OpenGL ES profile extensions:
GREAT-DNG ★★★
() автор топика
Ответ на: комментарий от GREAT-DNG

Непонел :/

Состояние Disk Sleep (D в htop) – это непрерываемое (uninteruptable) состояние процесса.

То есть

намертво виснет

это он в теории делать может, хотя именно что повисать надолго не должен. Он в этом состояние ждёт некий syscall.

А вот то, что вследствие этого система иногда падает это значит только одно: меня обманули в гугле.

Машина та же, где стояла Manjara? Памяти должно хватать значит, но что если…?

Что если dmesg -w > mydmesg.log перед запуском Godot ну и потом посмотреть, на чём он затыкается. Раз уж проблема масштаба повисания всей системы, то писать туда он должен. На pastebin какой-нибудь загрузи файла.

PhysShell ★★
()
Ответ на: комментарий от GREAT-DNG

OpenGL vendor string: nouveau

Ой! Это древняя nvidia, чтож….. думаю в этом причина падения. Чтоб подтвердить попробуй запустить gdot выполнив в терминале:

LIBGL_ALWAYS_SOFTWARE=true gdot

Где gdot это исполняемый файл gdot, я не знаю как он точно должен называться. Если запустится (будет тормозить) то дело в дайвере видеокарты.

Aber ★★★★★
()
Последнее исправление: Aber (всего исправлений: 1)
Ответ на: комментарий от PhysShell

dmesg -w не завершается, убит Ctrl+C, но все же вот, пароль: lor.

А вот то, что вследствие этого система иногда падает это значит только одно: меня обманули в гугле.

Комп иногда даже при попытке переключения окон. Похоже kwin и/или plasmashell лежат на убитой части диска. А вот KRunner работает существенно быстрее.

GREAT-DNG ★★★
() автор топика
Ответ на: комментарий от Aber

Работает, но тормозит.

На манжаре работало, не тормозило.

Это древняя nvidia

nVidia ION в Aspire Revo R3610, привет из ~2010го.

Если запуститься (будет тормозит) то дело в дайвере видеокарты.

Какой тогда ставить?

GREAT-DNG ★★★
() автор топика
Последнее исправление: GREAT-DNG (всего исправлений: 1)
Ответ на: комментарий от GREAT-DNG

Проприетарный драйвер от nvidia, только наверное подходящий драйвер это legacy версии 340 которое не работает с новыми ядрами. Посмотри какое самое старое LTS ядро можно накатить на arch linux, Если можно поставить ядро 5.4 то отлично, с ним должно работать.

А тормозит потому что с таким ключом OGL исполняется на CPU (программная эмуляция).

Aber ★★★★★
()
Последнее исправление: Aber (всего исправлений: 1)
Ответ на: комментарий от GREAT-DNG

Тебе нужно было запомнить какой драйвер видеокарты использовался там. Был ли это проприетраный nvidia 340 который был пропатчен под 5.15, или это была какая-то определенная версия mesa.
Если последнее то нужно тогда откатить mesa на ту версию. На всякий случай поясню что mesa содержит user-space часть открытых драйверов видокарт, включая nouveau используемого для видеокарт на чипах nvidia.

Aber ★★★★★
()
Последнее исправление: Aber (всего исправлений: 1)
Ответ на: комментарий от Aber

запомнить

В том то и дело что я забыл…

Имеет смысл загрузить Live и посмотреть дровину? Или там какой-нибудь универсальный?

GREAT-DNG ★★★
() автор топика
Последнее исправление: GREAT-DNG (всего исправлений: 1)
Ответ на: комментарий от GREAT-DNG

Нет такого драйвера. Загрузись в live образ и выполни в терминале glxinfo | grep OpenGL, там будет написан драйвер.
Если glxinfo не найден, то нужно найти пакет где он находится и установить.

Aber ★★★★★
()
Ответ на: комментарий от Aber

Примечание:
Профиль mhwd «video-linux» соответствует последнему драйверу с открытым исходным кодом, доступному для вашего оборудования.
https://wiki.manjaro.org/index.php/Configure_Graphics_Cards

Получается там стоял свободный nouveau?

krasnh ★★★
()
Последнее исправление: krasnh (всего исправлений: 1)
Ответ на: комментарий от krasnh

Да, но нужно узнать конкретную версию и на arch откатиться до этой версии.

Хотя можно ничего не узнавать, ядро 5.15 вышло в конце прошлого года, значит mesa тогда была 21.2.x а чуть позже 22.0, вот попробуй их поставить на arch.
В настоящий момент у тебя Mesa 22.1.6, возможно в новой версии случится регресс, т.е. что-то сломалось.

Ну и ты пользовался раньше Godot 3.4, а теперь 3.5, возможно они что-то обновили в движке и новая их программы теперь не работает на текущем драйвере.

Aber ★★★★★
()
Последнее исправление: Aber (всего исправлений: 3)
Ответ на: комментарий от krasnh

Итак, причины:

  • Академический интерес
  • AUR
  • ЯЖСИСАДМИНЛИНУПСА, а не юзер там какой-то.
  • Хочу себе LFS, но лень, а Arch самый подобный ему.
  • Народ, пишуший на мои вопросы о Majaro что-то типа а вот в arch…
  • Поучительная история о том как я «rm -r «/home/» + $USER + «путьдосохранениявмоейигре»» снес себе половину home’а, а потом ловил баги. Мораль: загугли хотя бы основы bash’а сначала и делай бэкапы…

To be continued…

GREAT-DNG ★★★
() автор топика
Последнее исправление: GREAT-DNG (всего исправлений: 1)
Ответ на: комментарий от Aber

Ну и ты пользовался раньше Godot 3.4, а теперь 3.5

Не в версии беда. 3.4. я взял с сайта (но забыл написать) - не работает. Это похоже драйвер. Буду mes’у пробовать.

GREAT-DNG ★★★
() автор топика
Последнее исправление: GREAT-DNG (всего исправлений: 1)
Ответ на: комментарий от Aber

mesa тогда была 21.2.x а чуть позже 22.0

Вспомнил, там же убрали поддержку некоторых драйверов. Если карта не такая и новая, то возможно это тот случай. Пакет mesa-amber, для таких ситуаций.

Сам недавно обжегся на встроенной intel (i915), когда mpv брало больше ресурсов процессора, чем обычно. А glxinfo -B показал выключенное Accelerated: и кучу ошибок.

p.s. Но это, если на бывшей Manjaro, где все работало, все таки не стояли проприетарные nvidia.

krasnh ★★★
()
Последнее исправление: krasnh (всего исправлений: 1)
Ответ на: комментарий от krasnh

если на бывшей Manjaro, где все работало, все таки не стояли проприетарные nvidia.

Я драйвера не трогал, их система ставила, т.е. вероятнее mesa. Уточню потом через glxinfo.

GREAT-DNG ★★★
() автор топика
Ответ на: комментарий от GREAT-DNG

Судя по логам, @Aber прав и проблема наверняка связана с видеодрайвером:

[  268.033207] perf: interrupt took too long (2554 > 2500), lowering kernel.perf_event_max_sample_rate to 78300
[  278.694433] perf: interrupt took too long (3268 > 3192), lowering kernel.perf_event_max_sample_rate to 60900
[  297.858602] nouveau 0000:03:00.0: Direct firmware load for nouveau/nvac_fuc084 failed with error -2
[  297.860946] nouveau 0000:03:00.0: Direct firmware load for nouveau/nvac_fuc084d failed with error -2
[  297.860974] nouveau 0000:03:00.0: msvld: unable to load firmware data
[  297.860986] nouveau 0000:03:00.0: msvld: init failed, -19

Из потенциально полезного: поиск привёл сюда. Попробуй поставить упомянутый там пакет.

PhysShell ★★
()
Ответ на: комментарий от GREAT-DNG

ну попробуй поставь самые свежие драйвера которые есть в репах. бывает так, что на них работают даже «официально» не поддерживаемые карты. не думаю, что бомжара чем то отличилась и там были волшебные драйвера.

usi_svobodi
()
Ответ на: комментарий от krasnh

Установил mesa-amber (не удаляя nouveau-fw).

Результат:

Godot Engine v3.5.stable.arch_linux - https://godotengine.org
ERROR: Condition "!fbc" is true. Returned: ERR_UNCONFIGURED
   at: initialize (platform/x11/context_gl_x11.cpp:167)
ERROR: Condition "!fbc" is true. Returned: ERR_UNCONFIGURED
   at: initialize (platform/x11/context_gl_x11.cpp:167)
ERROR: Error initializing GLAD
   at: is_viable (drivers/gles2/rasterizer_gles2.cpp:166)
/usr/bin/zenity: error while loading shared libraries: /usr/lib/libgbm.so.1: file too short

Кстати mesa-amber делает кеды какими-то упрощенными, в манжере не было.

GREAT-DNG ★★★
() автор топика
Ответ на: комментарий от GREAT-DNG

После установки nouveau-fw нужно еще что-то делать?

Ошибки должны были пропасть в dmesg. Надо еще учитывать, что пакет nouveau-fw от 2015 года.

Установил mesa-amber

Надо было сначала проверить glxinfo -B, возможно для этой видеокарты крайняя mesa (22.+) не создает проблем.

А какая модель карты и что показывает inxi -Gxxx?

krasnh ★★★
()
Ответ на: комментарий от krasnh

Блин, я снес mesa-amber.

Так, glxinfo -B:

name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: nouveau (0x10de)
    Device: NVAC (0x87d)
    Version: 22.1.6
    Accelerated: yes
    Video memory: 245MB
    Unified memory: no
    Preferred profile: core (0x1)
    Max core profile version: 3.3
    Max compat profile version: 3.3
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.0
OpenGL vendor string: nouveau
OpenGL renderer string: NVAC
OpenGL core profile version string: 3.3 (Core Profile) Mesa 22.1.6
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 3.3 (Compatibility Profile) Mesa 22.1.6
OpenGL shading language version string: 3.30
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile

OpenGL ES profile version string: OpenGL ES 3.0 Mesa 22.1.6
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00

Манжара сказала на lspci -v что там nouveau.

inxi не смог установить - инет провис. Инет говорит nVidia GeForce 9400. Например тут

GREAT-DNG ★★★
() автор топика
Ответ на: комментарий от PhysShell

Может попробовать утилиту, которая определяет видеокарту и ставит драйвера в Manjaro - mhwd? Это кончено извращение, но что делать?

Попытаюсь поставить проприетарные дрова…

GREAT-DNG ★★★
() автор топика
Последнее исправление: GREAT-DNG (всего исправлений: 1)
Ответ на: комментарий от GREAT-DNG

Попытаюсь поставить проприетарные дрова…

Передумал

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

UPD: Написал на форум арча

GREAT-DNG ★★★
() автор топика
Последнее исправление: GREAT-DNG (всего исправлений: 1)
Ответ на: комментарий от GREAT-DNG

Написал на форум арча

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

PhysShell ★★
()
Ответ на: комментарий от GREAT-DNG

Что с файлом по пути /usr/lib/libgbm.so.1? Это из пакета mesa (проверить: pacman -F /usr/lib/libgbm.so.1) должно быть. И file too short означает, что он был каким-то образом криво установлен и в результате это пустой файл.

Ещё он OpenGL 2.0 пытается использовать почему-то: at: is_viable (drivers/gles2/rasterizer_gles2.cpp:166), хотя должна быть доступна 3.0 судя по.

Condition "!fbc" is true. Returned: ERR_UNCONFIGURED относится к попытке вызвать glXChooseFBConfig. Это даже раньше создание контекста происходит, кстати.

Из документации:

NULL is returned if an undefined GLX attribute is encountered in attrib_list, if screen is invalid, or if dpy does not support the GLX extension.

Отсутствующее расширение, неверный дисплей… ископроблемы?! Да не, бред какой-то, особенно в свете того, что на Manjaro проблем не было, а всякие расширения к версии видеодрайвера имеют прямое отношение. Ничто впрочем не мешает посмотреть Xorg.0.log, на всякий случай.

mesa-amber делает кеды какими-то упрощенными

Речь идёт об этом?

PhysShell ★★
()
Ответ на: комментарий от PhysShell

Так, кароче, поставил Manjaro, чтобы оно определило дрова. Все равно nouveau. Установил Arch с проприетарными через archinstall - иксы не запускаются. Сейчас Arch как сначала - nouveau. Целый день уже прошел, задолбался. В общем, ЧТО ДЕЛАТЬ?!

GREAT-DNG ★★★
() автор топика
Ответ на: комментарий от GREAT-DNG

:)

Если нужна стабильность и ‘обкатанность’ системы а-ля Manjaro (Debian не предлагаю :)). то попробовать минималистичные WM, типа openbox. Там мало гуи, и часто придется вводить команды в терминале, в отличие от KDE.
Это как раз позволит почувствовать себя ‘программистом’. ) Шутка.

Например эта неофициальная сборка, Mabox - хороший коктейль Manjaro & OpenBox

krasnh ★★★
()
Последнее исправление: krasnh (всего исправлений: 2)