O Blender trava frequentemente e precisa ser encerrado durante o uso normal do modo de edição e modo de objeto com gráficos integrados da Intel. Estou usando a versão 3.6.0 no Ubuntu 22.04, embora o problema esteja presente em outras versões. Eu tive esse problema desde que instalei o Ubuntu e ele persistiu durante a reinstalação do Ubuntu. Consegui encontrar o seguinte nos Logs após um congelamento:
Em "sistema"
20:02:34 kernel: i915 0000:00:02.0: [drm] GPU HANG: ecode 9:1:85df9e9f, in blender [35275]
20:02:34 kernel: i915 0000:00:02.0: [drm] blender[35275] context reset due to GPU hang
Em "aplicativos"
20:02:26 blender: WAYLAND found but libdecor was not, install libdecor for Wayland support, falling back to X11
20:02:26 blender: Unable to find 'libdecor-0.so'
Os congelamentos parecem desaparecer se eu usar uma placa gráfica externa bastante antiquada (o que é pior em todos os outros casos de uso), então o problema parece específico dos gráficos Intel. Nenhum outro programa parece ter problemas com isso. Pesquisei bastante, mas há mais de 50% de chance de estar perdendo algo dolorosamente óbvio. Obrigado!
EDIT: A instalação da libdecor não tem influência nos travamentos, portanto as primeiras mensagens de log são as únicas relevantes.
Responder1
Também fui atingido por esse problema no Debian 11 ("Bullseye") com o Blender 3.6.1 (binário oficial do Linux). O Blender não responde simplesmente redimensionando o cubo de inicialização! dmesg
mostra mensagens semelhantes sobre travamento da GPU. Minha placa gráfica é Skylake GT2 [HD Graphics 520] integrada em um Intel Core i5-6300U.
Encontrei este problema relatado como problema2935(e duplicado3125) no repositório Freedesktop para driver de kernel Intel drm/i915.
Eu tentei a solução alternativa de Petr Nosek mencionada nessas discussões:
Primeiro, aumente o parâmetro do driver preempt_timeout_ms
para 10000. Essa alteração pode ser feita com qualquer editor de texto (com permissão de root), mas aqui está um comando de uma linha que faz o trabalho (usando tee
conforme explicado porhttps://stackoverflow.com/a/36853636):
$ echo 10000 | sudo tee /sys/class/drm/card0/engine/rcs0/preempt_timeout_ms
A alteração pode ser verificada por $ cat /sys/class/drm/card0/engine/rcs0/preempt_timeout_ms
.
Observação: esta alteração na configuração do driver énão persistente nas reinicializações!
Então, o Blender deve ser iniciado com uma variável de ambiente (não tenho ideia do que ela faz, mas está documentada emhttps://docs.mesa3d.org/envvars.html#intel-driver-environment-variables).
$ INTEL_DEBUG=reemit blender
No entanto, achei esta segunda etapa mais fácil de automatizar, modificando o blender.desktop
arquivo do inicializador que coloquei no formato ~/.local/share/applications
. Seguindohttps://unix.stackexchange.com/q/469466/194642, modifiquei a linha Exec para ser:
Exec=env INTEL_DEBUG=reemit /my/path/to/blender/bin/blender-3.6.1/blender %f
Até agora funciona (não há mais congelamento do Blender)...