Собственно есть уныленький такой ноут с двумя видюхами на борту:
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09) (prog-if 00 [VGA controller])
01:00.0 3D controller: NVIDIA Corporation GF108 [GeForce GT 540M] (rev ff) (prog-if ff)
Для запуска всей этой прелести пытаюсь использовать связку Nvidia + Bumblebee. Всё бы ничего, optirun glxgears стартует, выбивает 500 FPS и крутится дальше. Проблемы возникают как только я пытаюсь запустить под вайном что-нибудь тридцатидвухбитное. Например, варик. Голый wine запускается, wine + -opengl запускается, optirun wine не запускается, optirun wine + -opengl не запускается.
Ещё тонна проблем лезет со стороны проклятого VirtualGL, из которого bumblebee пытается завоевать эту галактику. Если иметь только virtualgl-bin 2.3.1-1, вайн начинает вбрасывать в терминал такие вот нехорошие вещи:
ERROR: ld.so: object 'libdlfaker.so' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object 'librrfaker.so' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object 'libdlfaker.so' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object 'librrfaker.so' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object 'libdlfaker.so' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object 'librrfaker.so' from LD_PRELOAD cannot be preloaded: ignored.
Но в итоге игрушка запускается, хоть и, скорее всего, на интеловской видеокарточке. Ок, нету либ в /usr/lib32/, поставим. Ставим мы virtualgl32-bin 2.3.1-1, пытаемся запуститься:
err:wgl:X11DRV_WineGL_InitOpenglInfo couldn't initialize OpenGL, expect problems
fixme:advapi:SetSecurityInfo stub
err:d3d:WineD3D_CreateFakeGLContext Failed to find a suitable pixel format.
err:d3d:InitAdapters Failed to get a gl context for default adapter
Direct3D8 is not available without OpenGL.
fixme:win:EnumDisplayDevicesW ((null),0,0x33f5bc,0x00000000), stub!
fixme:win:EnumDisplayDevicesW ((null),0,0x33f5f4,0x00000000), stub!
err:xvidmode:ComputeGammaFromRamp inverted or flat gamma ramp (0->0), rejected
Ок, в репах где-то был lib32-nvidia-utils-bumblebee, ставим, запускаем:
[look@me Warcraft III]$ cd ~/.wine2/drive_c/Warcraft\ III/ && optirun wine Frozen\ Throne.exe -opengl
err:ole:CoCreateInstance apartment not initialised
fixme:advapi:SetSecurityInfo stub
fixme:win:EnumDisplayDevicesW ((null),0,0x33f378,0x00000000), stub!
fixme:win:EnumDisplayDevicesW ((null),0,0x33f5bc,0x00000000), stub!
fixme:win:EnumDisplayDevicesW ((null),0,0x33f5f4,0x00000000), stub!
[look@me Warcraft III]$ XIO: fatal IO error 11 (Ресурс временно недоступен) on X server ":8"
after 105 requests (105 known processed) with 0 events remaining.
^C
... Щто?!
Лезу в cat /var/log/Xorg.8.log, смотрю на http://pastebin.com/sBSk8tW6 (EE) не вижу, ковыряю дальше.
Лезу в dmesg:
[ 5269.983303] bbswitch: enabling discrete graphics
[ 5270.515188] pci 0000:01:00.0: power state changed by ACPI to D0
[ 5270.515195] pci 0000:01:00.0: power state changed by ACPI to D0
[ 5270.515236] pci 0000:01:00.0: power state changed by ACPI to D0
[ 5270.515239] pci 0000:01:00.0: power state changed by ACPI to D0
[ 5270.610315] nvidia 0000:01:00.0: power state changed by ACPI to D0
[ 5270.610320] nvidia 0000:01:00.0: power state changed by ACPI to D0
[ 5270.610461] NVRM: loading NVIDIA UNIX x86_64 Kernel Module 302.17 Tue Jun 12 16:03:22 PDT 2012
[ 5270.625299] vgaarb: this pci device is not a vga device
[ 5272.533150] vgaarb: this pci device is not a vga device
[ 5273.729327] CPU5: Package power limit notification (total events = 398)
[ 5273.729332] CPU3: Package power limit notification (total events = 399)
[ 5273.729336] CPU0: Package power limit notification (total events = 399)
[ 5273.729341] CPU2: Package power limit notification (total events = 399)
[ 5273.729345] CPU4: Package power limit notification (total events = 399)
[ 5273.729349] CPU6: Package power limit notification (total events = 399)
[ 5273.729353] CPU1: Package power limit notification (total events = 398)
[ 5273.729356] CPU7: Package power limit notification (total events = 400)
[ 5273.739911] CPU4: Package power limit normal
[ 5273.739914] CPU5: Package power limit normal
[ 5273.739918] CPU1: Package power limit normal
[ 5273.739921] CPU6: Package power limit normal
[ 5273.739924] CPU3: Package power limit normal
[ 5273.739927] CPU2: Package power limit normal
[ 5273.739930] CPU0: Package power limit normal
[ 5273.739933] CPU7: Package power limit normal
[ 5277.300213] bbswitch: disabling discrete graphics
[ 5277.300383] bbswitch: Result of Optimus _DSM call: 11000059
[ 5277.312706] pci 0000:01:00.0: Refused to change power state, currently in D0
[ 5277.318289] pci 0000:01:00.0: power state changed by ACPI to D3
vgaarb: this pci device is not a vga device ... ЩТО?! Ок, вспоминаю, что lspci -v радостно называет Intel Card VGA, а Nvidia всего лишь 3D. Не, ну не можешь определиться, ну и хрен с тобой: sudo rm /dev/vga_arbiter
Снова запускаю игрушку, снова XIO: fatal IO error 11, dmesg стал почище:
[ 5788.832968] bbswitch: enabling discrete graphics
[ 5789.355970] pci 0000:01:00.0: power state changed by ACPI to D0
[ 5789.355977] pci 0000:01:00.0: power state changed by ACPI to D0
[ 5789.356019] pci 0000:01:00.0: power state changed by ACPI to D0
[ 5789.356021] pci 0000:01:00.0: power state changed by ACPI to D0
[ 5789.451529] nvidia 0000:01:00.0: power state changed by ACPI to D0
[ 5789.451534] nvidia 0000:01:00.0: power state changed by ACPI to D0
[ 5789.451707] NVRM: loading NVIDIA UNIX x86_64 Kernel Module 302.17 Tue Jun 12 16:03:22 PDT 2012
[ 5798.593510] bbswitch: disabling discrete graphics
[ 5798.593812] bbswitch: Result of Optimus _DSM call: 11000059
[ 5798.606943] pci 0000:01:00.0: Refused to change power state, currently in D0
[ 5798.614706] pci 0000:01:00.0: power state changed by ACPI to D3
[ 5816.987066] CPU7: Package power limit notification (total events = 574)
[ 5816.987071] CPU4: Package power limit notification (total events = 573)
[ 5816.987075] CPU2: Package power limit notification (total events = 573)
[ 5816.987080] CPU5: Package power limit notification (total events = 572)
[ 5816.987084] CPU6: Package power limit notification (total events = 573)
[ 5816.987088] CPU0: Package power limit notification (total events = 573)
[ 5816.987092] CPU1: Package power limit notification (total events = 571)
[ 5816.987095] CPU3: Package power limit notification (total events = 573)
[ 5816.987286] CPU7: Package power limit normal
[ 5816.987289] CPU4: Package power limit normal
[ 5816.987292] CPU6: Package power limit normal
[ 5816.987294] CPU2: Package power limit normal
[ 5816.987297] CPU1: Package power limit normal
[ 5816.987300] CPU5: Package power limit normal
[ 5816.987303] CPU3: Package power limit normal
[ 5816.987305] CPU0: Package power limit normal
Новый выхлоп cat /var/log/Xorg.8.log http://pastebin.com/z3qhNv54
Что я делаю не так? :с