Wine больше не может инициализировать OpenGL
С тех пор Wine больше не может инициализировать OpenGL на моем 64-битном Linux. Это ни в коем случае не является единственной проблемой для меня - у многих людей с видеокартами nvidia, работающими под 64-битным Linux, эта проблема возникает с Wine на oneiric:
- http://forum.winehq.org/viewtopic.php?p=66856&sid=9d6e5ad628ee6fb6e5ef04577275daed
- http://forum.pinguyos.com/Thread-Wine-OpenGl-Problem
- https://bbs.archlinux.org/viewtopic.php?id=137696
И хотя в некоторых отчетах об ошибках панели запуска говорится, что нужно использовать этот обходной путь:
LD_PRELOAD=/usr/lib32/nvidia-current/libGL.so.1 wine <app>
Это, к сожалению, не решает проблему вообще для меня; То есть, если бы я запускал CS:S, игра некоторое время будет работать нормально, но через некоторое время прекратит работу, включая ряд ошибок, связанных с GLSL.
Вот ошибки запуска от просто запуска steam:
+ wine steam.exe
fixme:process:GetLogicalProcessorInformation ((nil),0x33e488): stub
[.. snip ...]
fixme:dwmapi:DwmSetWindowAttribute (0x1009a, 3, 0x33d384, 4) stub
fixme:dwmapi:DwmSetWindowAttribute (0x1009a, 4, 0x33d374, 4) stub
err:wgl:is_extension_supported No OpenGL extensions found, check if your OpenGL setup is correct!
err:wgl:is_extension_supported No OpenGL extensions found, check if your OpenGL setup is correct!
err:wgl:is_extension_supported No OpenGL extensions found, check if your OpenGL setup is correct!
[... this error is being reported a few dozen times, so snip again ...]
err:wgl:is_extension_supported No OpenGL extensions found, check if your OpenGL setup is correct!
err:wgl:is_extension_supported No OpenGL extensions found, check if your OpenGL setup is correct!
err:wgl:is_extension_supported No OpenGL extensions found, check if your OpenGL setup is correct!
err:wgl:is_extension_supported No OpenGL extensions found, check if your OpenGL setup is correct!
fixme:iphlpapi:NotifyAddrChange (Handle 0x47cdba8, overlapped 0x45dba80): stub
fixme:winsock:WSALookupServiceBeginW (0x47cdbc8 0x00000ff0 0x47cdbc4) Stub!
[... snip ...]
Вот ошибки, сообщаемые во время работы и после запуска (поскольку журнал огромен, он вставляется в другое место): http://paste.ubuntu.com/901925/
Теперь 32-битный OpenGL работает просто отлично; Например, 32-битные исполняемые файлы Nexuiz работают просто отлично. При этом я подозреваю, что это проблема самого вина.
Я уже вручную создал версию git wine, но безрезультатно.
Так, что происходит? Что-то сломано? Как проверить (правильно) что-то сломано? Как мне это решить?
Дополнительная информация:
Мой GPU:
$ lspci | grep VGA 01:00.0 VGA compatible controller: nVidia Corporation G92 [GeForce 9800 GT] (rev a2)
Устанавливается через DPKG (с использованием PPA "Ubuntu X-Swat": https://launchpad.net/~ubuntu-x-swat/+archive/x-updates).
- Версия драйвера: 295.33
- Ошибка также возникает при ручной установке последней версии драйвера.
- glxinfo: http://paste.ubuntu.com/906976/
- glxinfo из 32-битных исполняемых файлов mesa-utils (
apt-get download
распакованный и т. д.): http://paste.ubuntu.com/906980/
Версия wine: wine-1.5.0 (собрана вручную из GIT-репозитория, однако предварительно собранная версия вызывает ту же ошибку, как описано выше)
Desktop Env: KDE4.2, но такая же ошибка возникает и в GNOME и XFCE.
Ядро
uname -a
):Linux leuchtturm 3.0.0-17-generic #30-Ubuntu SMP Thu Mar 8 20:45:39 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
Пробовал чистый винный префикс (
WINEPREFIX=$HOME/tmp/wine wine ...
) тоже не помогло.
Еще немного, возможно, связанной информации:
При запуске приложения Direct3D из старой ошибки, открытой мной, wine вообще не сообщает об ошибках OpenGL: http://bugs.winehq.org/attachment.cgi?id=25707 (источник включен, это просто тривиальное тестовое приложение).
Я не уверен, что, черт возьми, происходит.
1 ответ
Хорошо, это в значительной степени заставляет меня отвечать на мой собственный вопрос, но оказалось, что ошибки OpenGL относительно безвредны; Обновление ia32-libs[1] сделало работу steam практически безупречной (то есть теперь она работает так же, как и до появления этих ошибок).
Поэтому, если кто-то еще сталкивается с этими ошибками, обновите драйверы графического процессора и обновите ia32-libs.
[1]: Я наткнулся на PPA ia32-libs, который имеет более свежий пакет ia32-libs, который может также решить некоторые проблемы с другим программным обеспечением в зависимости от 32-битной совместимости: http://radicalbreeze.com/forum/ viewtopic.php? F = 11 & T = 525
Чтобы добавить этот PPA, просто выполните это в своем терминале:
sudo add-apt-repository ppa:micove/experimental
(experimental
потому что другой не включает пакеты для oneiric и новее, особенно pangolin).