Bug 27340 - Поддержка 3D ускорения
Summary: Поддержка 3D ускорения
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: virtualbox-guest-additions (show other bugs)
Version: unstable
Hardware: all Linux
: P3 major
Assignee: Evgeny Sinelnikov
QA Contact: qa-sisyphus
URL:
Keywords:
: 26153 (view as bug list)
Depends on:
Blocks:
 
Reported: 2012-05-15 20:10 MSK by Aleksey Borisenkov
Modified: 2014-02-16 15:56 MSK (History)
11 users (show)

See Also:


Attachments
rpath в VBoxOGL.so (1.07 KB, patch)
2012-11-25 20:16 MSK, Aleksey Borisenkov
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Aleksey Borisenkov 2012-05-15 20:10:05 MSK
В гостевой системе не работает 3d ускорение.
При этом

$ glxinfo | head                                 
name of display: :0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
    GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating, 
    GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_OML_swap_method, 
    GLX_SGI_make_current_read, GLX_SGIS_multisample, GLX_SGIX_fbconfig, 
    GLX_SGIX_pbuffer, GLX_MESA_copy_sub_buffer, GLX_INTEL_swap_event

$ glxgears 
1799 frames in 5.0 seconds = 359.780 FPS
При распахивании на полный экран FPS падает до 50, заметны рывки.

Ниже привожу команды, которые позволяют использовать 3d ускорение с тем, что есть.

ln -s %_libdir/virtualbox/additions/VBoxOGL.so %_x11modulesdir/dri/vboxvideo_dri.so
Этот файл, видимо, так и надо сделать ссылкой на VBoxOGL.so

cd %_libdir
for f in virtualbox/additions/VBoxOGL*.so ; do ln -s $f; done
Эти файлы не находятся из-за rpath. Ссылок, наверное, делать не надо, а надо починить rpath или перенести всё в virtualbox, если первое сложно.

ln -s %_x11modulesdir/dri/swrast_dri.so %_libdir/dri/swrast_dri.so
Здесь, наверное, лучше запатчить кого-то, чтобы искалось в нужном месте, а не делать ссылку. Кого патчить не искал.

После этого результаты такие:
$ glxinfo | head
name of display: :0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: Chromium
server glx version string: 1.3 Chromium
server glx extensions:
    GLX_ARB_multisample, GLX_EXT_texture_from_pixmap, GLX_SGIX_fbconfig, 
    GLX_ARB_get_proc_address

$ glxgears
3741 frames in 5.0 seconds = 748.142 FPS

Разница, вроде невелика, но FPS сохраняется даже при распахивании на полный экран.
Comment 1 Evgeny Sinelnikov 2012-05-16 00:41:23 MSK
Я учту при обновлении и постараюсь исправить. Никогда сам ранее не использовал 3d - в этом основная причина проблемы. Правда, потребуется время, чтобы уточнить как точно стоит делать...
Comment 2 Repository Robot 2012-07-29 12:17:54 MSK
virtualbox-4.1.18-alt1 -> sisyphus:

* Sat Jul 28 2012 Evgeny Sinelnikov <sin@altlinux> 4.1.18-alt1
- Update to new release for Sisyphus
- Enable Virtual Distributed Ethernet (VDE) support
- Create /dev/vboxusb at startup (Closes: 26953)
- Fix virtualbox control facility restore during upgrade (Closes: 25150)
- Fix OpenGL installation for guest additions (Closes: 27340)
Comment 3 Aleksey Borisenkov 2012-07-30 22:55:23 MSK
$ rpm -qa | grep virtualbox                                               
virtualbox-guest-additions-4.1.18-alt1
kernel-modules-virtualbox-addition-std-def-4.1.18-alt1.197639.1
virtualbox-guest-utils-4.1.18-alt1

Я так понимаю, в этом коммите, видимо, вкралась ошибка?
http://git.altlinux.org/people/sin/packages/?p=virtualbox.git;a=commitdiff;h=e89f6bd1e57adbfc9387167180de9601f08e2c0e;hp=f16408d12640d7532e303515b8ccbdcd094d0b58#patch1

+VBoxManage_LDFLAGS.linux = \
+       -Wl,-rpath,$(VBOXDIR)/additions

Хм. VBoxManage?

$ readelf -a /usr/lib/virtualbox/additions/VBoxOGL.so| grep -i RPATH   
$

При этом на хосте
$ readelf -a /usr/lib64/virtualbox/VBoxManage| grep -i rpath
 0x000000000000000f (RPATH)              Библиотека rpath: [/usr/lib64/virtualbox:/usr/lib64/virtualbox/additions]

Ну и как следствие в гостевой:
$ LIBGL_DEBUG=verbose CR_DEBUG=1 glxinfo | head                     
libGL: screen 0 does not appear to be DRI2 capable
libGL: XF86DRIGetClientDriverName: 1.0.0 vboxvideo (screen 0)
libGL: OpenDriver: trying /usr/lib/X11/modules/dri/tls/vboxvideo_dri.so
libGL: OpenDriver: trying /usr/lib/X11/modules/dri/vboxvideo_dri.so
libGL error: dlopen /usr/lib/X11/modules/dri/vboxvideo_dri.so failed (VBoxOGLcrutil.so: cannot open shared object file: No such file or directory)
libGL error: unable to load driver: vboxvideo_dri.so
Comment 4 Repository Robot 2012-11-06 17:59:53 MSK
virtualbox-4.1.20-alt1.0.M60P.1 -> p6:

* Tue Nov 06 2012 Andrey Cherepanov <cas@altlinux> 4.1.20-alt1.0.M60P.1
- Update to 4.1.20
- Fix driver hang up on system shutdown (ALT #27922)

* Thu Oct 11 2012 Eugeny A. Rostovtsev (REAL) <real at altlinux> 4.1.20-alt1.1
- Rebuilt with libpng15

* Wed Aug 22 2012 Evgeny Sinelnikov <sin@altlinux> 4.1.20-alt1
- Update to new stable release
- Revert exclude for vboxadddir to main virtualbox package
- Fix VBoxCreateUSBNode.sh empty class with --create option

* Sat Jul 28 2012 Evgeny Sinelnikov <sin@altlinux> 4.1.18-alt1
- Update to new release for Sisyphus
- Enable Virtual Distributed Ethernet (VDE) support
- Create /dev/vboxusb at startup (Closes: 26953)
- Fix virtualbox control facility restore during upgrade (Closes: 25150)
- Fix OpenGL installation for guest additions (Closes: 27340)

* Wed Apr 04 2012 Evgeny Sinelnikov <sin@altlinux> 4.1.12-alt2
- Enable the built in VNC server
- Avoid conflict with renamed xorg-drv modules

* Wed Apr 04 2012 Evgeny Sinelnikov <sin@altlinux> 4.1.12-alt1
- Update to new release for Sisyphus
- Fix build vboxvideo with new xorg-server-1.12

* Sun Apr 01 2012 Evgeny Sinelnikov <sin@altlinux> 4.1.10-alt1
- Update to new release
- Add subpackage virtualbox-guest-utils with basic guest addition tools
  without dependency to xorg server

* Fri Dec 02 2011 Evgeny Sinelnikov <sin@altlinux> 4.1.6-alt1
- Update to new release with minor bugfixes:
 + VRDP: fixed screen corruption
 + NAT: the interface stopped working after a lot of failed ICMP requests
 + ATA: fixed a possible crash during ATAPI passthrough with certain guests
 + ATA: improved compatibility with ancient Linux kernels 
 + Main: fixed incorrect framebuffer information after leaving the
   fullscreen mode with X11 guests
Comment 5 Aleksey Borisenkov 2012-11-06 18:04:03 MSK
Какой настырный робот :) Вроде собирались (или просили) где-то пофиксить автозакрывание...

Ну, и пользуясь случаем, Евгений, ау!
Comment 6 Andrey Cherepanov 2012-11-06 18:17:17 MSK
(В ответ на комментарий №5)
> Какой настырный робот :) Вроде собирались (или просили) где-то пофиксить
> автозакрывание...
Наверное, Антон Фарыгин знает, где найти ресурсы на инфраструктуру.

А зачем переоткрыли? Ядра на подходе (#83753 и #83757).
Comment 7 Aleksey Borisenkov 2012-11-06 18:20:30 MSK
(В ответ на комментарий №6)
> А зачем переоткрыли? Ядра на подходе (#83753 и #83757).

Э... Разве это не бага про 3d ускорение? :) Я переоткрыл только 27340, так как ускорение по-прежнему не работает из коробки (видимо из-за ошибки в патче, см. https://bugzilla.altlinux.org/show_bug.cgi?id=27340#c3).
Comment 8 Andrey Cherepanov 2012-11-06 18:25:17 MSK
(В ответ на комментарий №7)
> (В ответ на комментарий №6)
> > А зачем переоткрыли? Ядра на подходе (#83753 и #83757).
> 
> Э... Разве это не бага про 3d ускорение? :) Я переоткрыл только 27340, так как
> ускорение по-прежнему не работает из коробки (видимо из-за ошибки в патче, см.
> https://bugzilla.altlinux.org/show_bug.cgi?id=27340#c3).
По идее, должно было закрыть по --lastchange ошибку 27922. Прошу прощения за наведённую фигню.
Comment 9 Repository Robot 2012-11-07 16:27:35 MSK
virtualbox-4.1.20-alt1.0.M60P.1 -> t6:

* Tue Nov 06 2012 Andrey Cherepanov <cas@altlinux> 4.1.20-alt1.0.M60P.1
- Update to 4.1.20
- Fix driver hang up on system shutdown (ALT #27922)

* Thu Oct 11 2012 Eugeny A. Rostovtsev (REAL) <real at altlinux> 4.1.20-alt1.1
- Rebuilt with libpng15

* Wed Aug 22 2012 Evgeny Sinelnikov <sin@altlinux> 4.1.20-alt1
- Update to new stable release
- Revert exclude for vboxadddir to main virtualbox package
- Fix VBoxCreateUSBNode.sh empty class with --create option

* Sat Jul 28 2012 Evgeny Sinelnikov <sin@altlinux> 4.1.18-alt1
- Update to new release for Sisyphus
- Enable Virtual Distributed Ethernet (VDE) support
- Create /dev/vboxusb at startup (Closes: 26953)
- Fix virtualbox control facility restore during upgrade (Closes: 25150)
- Fix OpenGL installation for guest additions (Closes: 27340)

* Wed Apr 04 2012 Evgeny Sinelnikov <sin@altlinux> 4.1.12-alt2
- Enable the built in VNC server
- Avoid conflict with renamed xorg-drv modules

* Wed Apr 04 2012 Evgeny Sinelnikov <sin@altlinux> 4.1.12-alt1
- Update to new release for Sisyphus
- Fix build vboxvideo with new xorg-server-1.12

* Sun Apr 01 2012 Evgeny Sinelnikov <sin@altlinux> 4.1.10-alt1
- Update to new release
- Add subpackage virtualbox-guest-utils with basic guest addition tools
  without dependency to xorg server

* Fri Dec 02 2011 Evgeny Sinelnikov <sin@altlinux> 4.1.6-alt1
- Update to new release with minor bugfixes:
 + VRDP: fixed screen corruption
 + NAT: the interface stopped working after a lot of failed ICMP requests
 + ATA: fixed a possible crash during ATAPI passthrough with certain guests
 + ATA: improved compatibility with ancient Linux kernels 
 + Main: fixed incorrect framebuffer information after leaving the
   fullscreen mode with X11 guests

* Thu Dec 01 2011 Andrey Cherepanov <cas@altlinux> 4.1.4-alt0.M60P.1
- Backport to p6 branch new VirtualBox 4.1.4
- Fix udev rules
Comment 10 Aleksey Borisenkov 2012-11-07 18:17:18 MSK
Still not fixed
Comment 11 Aleksey Borisenkov 2012-11-25 20:16:43 MSK
Created attachment 5651 [details]
rpath в VBoxOGL.so

Возможно для VBoxOGL*spu.so тоже надо, так как все они ссылаются на VBoxOGLcrutil.so, но, вроде, хватает для одного VBoxOGL.so
Comment 12 Michael Shigorin 2013-04-03 00:09:02 MSK
*** Bug 26153 has been marked as a duplicate of this bug. ***
Comment 13 Igor Zubkov 2013-04-11 19:25:44 MSK
Если включить 2D и 3D ускорение в virtualbox-4.2.10-alt1 и поставить там Windows XP SP3 то картинке нет. Какой-то мусор на экране.
Comment 14 Aleksey Borisenkov 2013-04-11 20:31:17 MSK
(В ответ на комментарий №13)
> Если включить 2D и 3D ускорение в virtualbox-4.2.10-alt1 и поставить там
> Windows XP SP3 то картинке нет. Какой-то мусор на экране.

Это странно. У меня есть гостевая XP SP3 и она показывает нормальную картинку (4.2.10-alt1, 2D и 3D включены).
Но вообще-то этот баг про поддержку ускорения в дополнениях для гостей из семейства ALT Linux.
Comment 15 Michael Shigorin 2013-04-24 13:15:38 MSK
*** Bug 28782 has been marked as a duplicate of this bug. ***
Comment 16 Evgeny Sinelnikov 2013-04-30 15:44:14 MSK
Отправил на сборку 4.2.12-alt2 с исправлениями из комментария 11:
https://bugzilla.altlinux.org/show_bug.cgi?id=27340#c11

* Tue Apr 30 2013 Evgeny Sinelnikov <sin@altlinux.ru> 4.2.12-alt2
- Fix rpath for VBoxOGL.so and VBoxOGL*spu.so (Closes: 27340)

Ждём завершения тестовой пересборки:
$ ssh git.alt task ls
#96760 BUILDING #1 [locked] [test-only] sisyphus virtualbox.git=4.2.12-alt2
Comment 17 Michael Shigorin 2013-04-30 19:13:59 MSK
(В ответ на комментарий №16)
> Отправил на сборку 4.2.12-alt2 с исправлениями из комментария 11:
Забыл впопыхах написать -- я делал 2.04.2013 сборку 4.2.10-alt2 с прикладыванием того патчика, у меня ситуация осталась точно той же (потому в сизиф и не отправлял).
Comment 18 Aleksey Borisenkov 2013-05-02 04:54:13 MSK
С моим исправлением xorg-server из #28782 версия 4.2.12-alt2 работает, так что можно её и в сизиф.
Comment 19 Repository Robot 2013-05-06 02:34:05 MSK
virtualbox-4.2.12-alt2 -> sisyphus:

* Tue Apr 30 2013 Evgeny Sinelnikov <sin@altlinux> 4.2.12-alt2
- Fix rpath for VBoxOGL.so and VBoxOGL*spu.so (Closes: 27340)
Comment 20 Michael Shigorin 2013-05-08 04:12:23 MSK
Спасибо!!

(осталось проверить на железе и CLOSED FIXED, надеюсь)
Comment 21 Michael Shigorin 2013-05-08 14:48:41 MSK
Ур-ра, заработало! (ц)

Проверял ppracer.

Ну что ж, можно и regular-games теперь готовить. :)
Comment 22 AEN 2013-05-08 14:50:50 MSK
(В ответ на комментарий №18)
> С моим исправлением xorg-server из #28782 версия 4.2.12-alt2 работает, так что
> можно её и в сизиф.

Большое Вам спасибо!