Optimus (x86_64) wine howto
Решил поделиться инфой о том как настроить optimus + wine на Gentoo(x86_64), может кому пригодится.
Изначально я попробовал Bumblebee, но ничего путного из этого не вышло, так, что обратился сразу к статье http://en.gentoo-wiki.com/wiki/X.Org/nVidia_Optimus. Сделал все как написано (В частности VGL ставил из rpm), но убрал из скрипта /etc/init.d/optimus зависимость от xdm (так как люблю консольную авторизацию), а запуск Optimus X server добавил в .xinitrc. Так же заменил VGL_COMPRESS=xv на VGL_COMPRESS=proxy т.к. у меня оно выдает больше fps.
Сразу же проверил все это дело : optirun /opt/VirtualGL/bin/glxspheres64. Радости моей не было предела, все заработало. Но когда дошло дело до wine, он мне выдал:
ERROR: ld.so: object 'libdlfaker.so' from LD_PRELOAD cannot be preloaded: ignored.
....
Погуглив, рабочего решения я не нашел. Но позже меня посетила мысль, а что если 32битные либы попросту не поставились (а так как wine 32bit оно ищет именно их) делаю:
ls /usr/lib32 | grep lib..faker
и точно пусто. Следовательно скачал с VirtualGL
rmp для i386 распаковал и перекинул lib??faker.so в /usr/lib32.
Так же, как было написано на офф.сайте vgl, установил для всех lib??faker.so
chmod u+s ...
Запускаю wine и вуаля сообщения исчезли, но радовался я недолго :) Появилось вот, что:
err:wgl:X11DRV_WineGL_InitOpenglInfo couldn't initialize OpenGL, expect problems
err:d3d_caps:WineD3D_CreateFakeGLContext Can't find a suitable iPixelFormat.
err:d3d:InitAdapters Failed to get a gl context for default adapter
Direct3D8 is not available without OpenGL.
Очевидно беда с опенгл. Соответственно подумал, что нужны 32битные либы. Собрал nvidia-drivers с USE=multilib, проверил все либы, все на месте, но :
optirun wine ... все равно выдавал туже ошибку. Посмотрел скрипт optirun и точно -
-ld /usr/lib/opengl/nvidia/lib сделал новый скрипт optirun32 с -ld /usr/lib32/opengl/nvidia/lib и Ура! все запустилось.
Вот и все. Надеюсь кому-нибудь поможет. Если вы знаете лучший способ или может я чтото криво сделал, то прошу скажите.
Инфа о версиях :
uname -r 3.0.3-gentoo
VirtualGL-2.2.90
x11-drivers/nvidia-drivers 275.09.07
app-emulation/wine 1.2.3
/Faithfully yours Ryner07/
- Для комментирования войдите или зарегистрируйтесь
Таки да, все работает,
Таки да, все работает, единственный вопрос - glxspheres64 показывает реальный прирост, но optirun glxgears показывает даже меньше fps чем просто glxgears. В чем может быть подвох?
PS: Только для VirtualGL я таки решил найти ebuild и ставить из него ( https://github.com/speckins/usr-local-portage/tree/master/x11-misc/virtualgl )
- - -
Кто бы подсказал как запустить компиз через Nvidia на этом самом оптимусе. А луче всего вообще отключить этот УРОДСКИЙ Intel!
На всех машинах с Intel'ом - X'ы либо - зависают раза два в неделю, либо - перезагружаются. Задолбало уже! )-:
У меня интел работает
У меня интел работает замечательно. Нвидию отключил совсем, производительности интела хватает с головой (Core i3 2330M). Отключить intel у меня тоже нельзя в биосе: либо обе, либо интел работает. Хотя для меня тоже была сюрпризом работа с оптимусом в линуксе. Надо пологать, особой надежды на исправление ситуации нет?
- - -
Без композита у меня тоже интел стабильно работает, даже через xrender стабильно. А как только Compiz включаешь - сразу начинается!.. Тогда как с Nvidia - uptime на моем рабочем десктопе по полгода, а то и больше(если бы не нужно было обновляться), без перезагрузки X'ов (учесть, что работаю очень активно и два монитора и композит и всякие блендеры и прочие OpenGL), да и с десятком-другим машин с nvidia где подвластные мне *nix'ы - вообще без каких либо сложностей. Но на всех машинах, без исключения, где Intel+Composite - хоть раз в две недели - но обязательно зависнут X'ы. Меня это дико выводит из себя!
Ну для начала - у оптимуса
Ну для начала - у оптимуса безголовая nvidia. Она фрэймбуфер отдает интелу, который и выведет картинку на экран. вывод - ИНТЕЛ НЕ ОТКЛЮЧИТЬ. Это невозможно схемотехнически.
Пользуясь моментом, хочу передать привет друзьям, которые также пользуются "Моментом"