Summary: | После обновления на дату 03/02/2019 не стартует xorg в VirtualBox/Windows | ||
---|---|---|---|
Product: | Branch p8 | Reporter: | Sergey Y. Afonin <asy> |
Component: | virtualbox-guest-additions | Assignee: | Evgeny Sinelnikov <sin> |
Status: | CLOSED FIXED | QA Contact: | qa-p8 <qa-p8> |
Severity: | normal | ||
Priority: | P3 | CC: | aen, cas, lakostis, m, sin |
Version: | не указана | ||
Hardware: | all | ||
OS: | Linux | ||
Attachments: |
Description
Sergey Y. Afonin
2019-02-04 09:34:50 MSK
Created attachment 7987 [details]
Лог загрузки и завершения xorg
(In reply to comment #0) > mount: /root/run: filesystem mounted, but mount(8) failed: No such file or > directory Эта вот надпись, кстати, людей пугает: думают, что вообще всё сломалось. Надо бы найти, на кого про неё баг повесить дополнительно. Это по мотивам двух случаев с каналов "Альт Линукс smoke-room" и "Альт Линукс": https://t.me/alt_linux/38209 https://t.me/alt_linux/38234 Сам не проверял. Вроде как выяснили, что виноват virtualbox-guest-additions: https://t.me/alt_linux/38303 Удаление пакета помогает. Образы 8.2 от декабря 2017 года, а в вируталбоксе: * Mon Oct 15 2018 Evgeny Sinelnikov <sin at altlinux.org> 5.2.18-alt1 - Build latest release of 5.2 release - Add vboxfs patch from Debian fixed failure with new kernel 4.18 - Disable ubt macros due binary package identity changes - Obsoletes virtualbox-guest-additions-gl subpackage (closes #35059) - Add x11presetdrv script for dynamic create ld.so.conf settings for GL libraries Переопределение libGL.so.1 и libEGL.so.1 ввели в октябре 2018 года. https://salsa.debian.org/pkg-virtualbox-team/virtualbox/commit/17ee2def5d1b193f63fc378eda32d1bc9ead73cb https://salsa.debian.org/pkg-virtualbox-team/virtualbox/commit/8b17e8472ee4c6e4d25b4aecef533499c0da1c88 "Do not add GL bindings anymore, breaking userspace applications." Еще zerg@ говорил, что PCI ID из скрипта /etc/X11/xinit.d/98vboxadd-xclient одинаковый, если в настройках VM включено или отключено "3D-скорение". Нужно разбираться в деталях. В моих изменениях были взяты наработки для ветки 5.2: commit bc70373abe68b678c240c2ddfd918eb9ead10795 Author: Konstantin A. Lepikhov <lakostis@altlinux.ru> Date: Sat May 19 20:20:17 2018 +0200 5.2.12-alt0.3 - fix OGL/EGL guest libs. - respect RPM optflags. commit 8ec4f52fe91dfcb5885a783d494c35ca7910a90f Author: Konstantin A. Lepikhov <lakostis@altlinux.ru> Date: Fri May 18 15:51:23 2018 +0200 5.2.12-alt0.2 - .spec: sync with debian: + VBOX_WITH_REGISTRATION_REQUEST= + VBOX_WITH_UPDATE_REQUEST= + KBUILD_VERBOSE=2 + VBOX_WITH_EXTPACK_VBOXDTRACE= + use system xorg libs again. + remove obsoleted xorg vbox drv. + rework OGL/EGL support. Далее была проблема из-за того, что на хостовой системе перестали работать иксы: https://bugzilla.altlinux.org/show_bug.cgi?id=35170 И, в итоге, было принято решение сделать автоматическое определение через x11presetdrv: Add x11presetdrv script for dynamic create ld.so.conf settings for GL libraries И теперь у меня возникают следующие вопросы: 1. Сейчас, "если установить в VB (VirtualBox-6.0.4-128413-Win.exe) alt-simply-8.2.0 и обновить на дату 03/02/2019, то xorg перестаёт стартовать". А если и установить в VirtualBox-5.2.24 всё работает? 2. А если обновить гостевые драйверы до 6.0.4? (как? это отдельный вопрос) От ответов на эти вопросы зависит то, как эту проблему стоит решать. А также понимание о том, в чём собственно проблема. Воспроизведение такое получилось: 1. хост - сизиф с virtualbox 2. в ВМ поставил образ http://nightly.altlinux.org/p8/release/alt-p8-lxqt-20181212-x86_64.iso, в нем из коробки virtualbox-guest-additions 5.1.x без скрипта /usr/libexec/X11/drvpre.d/virtualbox 3. в госте apt-get dist-upgrade, ставится virtualbox-guest-additions 5.2.x, появляется скрипт /usr/libexec/X11/drvpre.d/virtualbox 4. перезагружаемся, иксы запускаются, файл /etc/ld.so.conf.d/virtualbox*.conf , созданный скриптом /usr/libexec/X11/drvpre.d/virtualbox, существует 5. выключаем ВМ, идем в Настройки-Дисплей, включаем 3D-ускорение, которое по умолчанию выключено. 6. включаем ВМ, иксы не запускаются 7. выключаем 3D-ускорение, выскакивает сообщение об ошибке, как при не запускающихся иксах (скриншот), но иксы НЕ запускаются, больше они и не запустились, не понятно, почему Если в настройках ВМ снять галку "3D-ускорение", в текстовом конфиге ВМ остается accelerate3D=true На счет не запускающихся иксов наврал - иксы запускаются, не запускается DE, требующее OpenGL, т.к. /etc/ld.so.conf.d/virtualbox*.conf продолжает существовать и подменять libGL.so.1 (скриншот). А он продолжает существовать вот почему: # cat /usr/libexec/X11/drvpre.d/virtualbox #!/bin/bash if test -f /proc/bus/pci/devices && grep -q 80eebeef /proc/bus/pci/devices; then mkdir -p /etc/ld.so.conf.d echo /usr/lib64/virtualbox/additions > /etc/ld.so.conf.d/virtualbox-x86_64.conf else rm -f /etc/ld.so.conf.d/virtualbox-x86_64.conf fi Условие grep -q 80eebeef /proc/bus/pci/devices верное не зависимо от настроек 3D-ускорения, конфиг подмены libGL не удаляется. Created attachment 7992 [details]
иксы без GL
Created attachment 7993 [details]
0001-Fix-preloading-custom-libGL.so.1-and-libEGL.so.1-ALT.patch
Этот патч исправляет проблему. Разбираюсь, как побороть git, чтобы собрать задание.
Created attachment 7994 [details]
0001-Fix-preloading-custom-libGL.so.1-and-libEGL.so.1-ALT.patch
Created attachment 7995 [details]
0001-Fix-preloading-custom-libGL.so.1-and-libEGL.so.1-ALT.patch
Простите, в третий раз, опечатки были.
(In reply to comment #13) > Created an attachment (id=7995) [details] > 0001-Fix-preloading-custom-libGL.so.1-and-libEGL.so.1-ALT.patch > > Простите, в третий раз, опечатки были. Я думаю текст в changelog/патче Propperly check if 3D acceleration is supported Нужно поменять на Check first if 3D acceleration is enabled Чтобы не ускользал смысл этого изменения. Created attachment 7997 [details] 0001-Fix-preloading-custom-libGL.so.1-and-libEGL.so.1-ALT.patch В конструкции [ -x "$(which VBoxClient)" ] символ $ не был экранирован, поэтому при сборке получилось [ -x "" ]. Заменил на %_bindir/VBoxClient. (В ответ на комментарий №14) > (In reply to comment #13) > > Created an attachment (id=7995) [details] [details] > > 0001-Fix-preloading-custom-libGL.so.1-and-libEGL.so.1-ALT.patch > > > > Простите, в третий раз, опечатки были. > > Я думаю текст в changelog/патче > > Propperly check if 3D acceleration is supported > > Нужно поменять на > > Check first if 3D acceleration is enabled > > Чтобы не ускользал смысл этого изменения. Проверкой было grep -q 80eebeef /proc/bus/pci/devices, стало [ -x %_bindir/VBoxClient ] && VBoxClient --check3d && grep -q 80eebeef /proc/bus/pci/devices, оно и раньше проверяло, включено ли 3D-ускорение, но делало это криво. (In reply to comment #15) ... > > Проверкой было grep -q 80eebeef /proc/bus/pci/devices, стало [ -x > %_bindir/VBoxClient ] && VBoxClient --check3d && grep -q 80eebeef > /proc/bus/pci/devices, > оно и раньше проверяло, включено ли 3D-ускорение, но делало это криво. Раньше просто проверялось, есть ли у нас видеоадаптер от VirtualBox, т.к. наличие pci устройста 80eebeef никак не гарантировало присутствие или отсутствие 3D. Задание 220931 http://git.altlinux.org/tasks/220931 собрано в сизиф. Скопировал из него скрипт в p8, проверил, "упавшие" системы автоматически чинятся обновлением, новые не падают. Если считаете нужным, можете опубликовать задание (у меня в любом случае нет прав на публикацию), можете и сами собрать по-своему. Задание 220932 для p8 не собирается, кажется, bash3 и bash4 по-разному обрабатывают скрипт внутри спека для записи в файл. (In reply to comment #17) > Задание 220931 http://git.altlinux.org/tasks/220931 собрано в сизиф. Скопировал > из него скрипт в p8, проверил, "упавшие" системы автоматически чинятся > обновлением, новые не падают. > > Если считаете нужным, можете опубликовать задание (у меня в любом случае нет > прав на публикацию), можете и сами собрать по-своему. > > Задание 220932 для p8 не собирается, кажется, bash3 и bash4 по-разному > обрабатывают скрипт внутри спека для записи в файл. Хорошо, я пересоберу только так, чтобы не разводить скрипты по веткам без необходимости. Сначала проверю на p8. Или так: пропускаем в сизиф, как есть, потом правим скрипт так, чтобы он работал и в p8, отправляем исправление в сизиф, а следом в p8. (In reply to comment #2) > > mount: /root/run: filesystem mounted, but mount(8) failed: No such file or > > directory > > Эта вот надпись, кстати, людей пугает: думают, что вообще всё сломалось. Надо > бы найти, на кого про неё баг повесить дополнительно. Оказывается, уже нашли: https://bugzilla.altlinux.org/31465#c48 virtualbox-5.2.26-alt1 -> sisyphus: Fri Feb 08 2019 Evgeny Sinelnikov <sin@altlinux> 5.2.26-alt1 - Update to latest of 5.2 release Fri Feb 08 2019 Evgeny Sinelnikov <sin@altlinux> 5.2.24-alt5 - Replace drvpre script from spec to separate file Thu Feb 07 2019 Mikhail Novosyolov <mikhailnov@altlinux> 5.2.24-alt4 - Propperly check if 3D acceleration is supported before preloading VirtualBox's libGL.so.1 and libEGL.so.1 and update ldconfig cache after changes to /etc/ld.so.conf.d/*.conf (Closes: 36035) |