dadv: (chuck)
Choose your future ([personal profile] dadv) wrote2013-06-23 03:20 pm
Entry tags:

VirtualBox, Windows & Java

Периодически при разных комбинациях версий VirtualBox и Java в Windows guest проявляется проблема: Java-приложения, использующие GUI (AWT), при старте начинают жрать около 100% CPU и ничего не рисуют. Проблема как-то связана с поддержкой Direct3D в VirtualBox. Кроме полного отказа от Direct3D в Windows guest (установка guest additions без поддержки Direct3D) есть ещё workaround: отключить использование функций Direct3D в Java AWT. Для этого достаточно создать переменную окружения (environment) J2D_D3D=false. Можно глобально в свойствах системного или пользовательского профиля, можно выставлять непосредственно перед запуском Java или браузера, если Java-апплет стартует из браузера.

У меня сейчас есть две инсталляции VirtualBox 4.2.12 (OSE), в каждой Windows XP с DirectX 9.0c и Guest Additions и Java 7 Update 25, на одной Java работает нормально, на второй "виснет" при старте, но при использовании J2D_D3D=false виснуть перестаёт.

Источник: https://www.virtualbox.org/ticket/6873

[identity profile] denis-sotchenko.livejournal.com 2013-06-23 08:59 am (UTC)(link)
а не проще приложение запустить нативно?

[identity profile] http://users.livejournal.com/_slw/ 2013-06-23 11:27 am (UTC)(link)
JNI, наверняка

[identity profile] dadv.livejournal.com 2013-06-23 07:34 pm (UTC)(link)
Некоторые Java-приложения используют модули, которые есть только в Java-реализации от Sun (теперь Oracle). Например, KVM от Hetzner. Их только под виндой можно пускать.

[identity profile] denis-sotchenko.livejournal.com 2013-06-26 08:41 am (UTC)(link)
Разве проблема не решается установкой Oracle JVM в линуксоляторе?

[identity profile] dadv.livejournal.com 2013-06-26 10:04 am (UTC)(link)
Возможно, я пользуюсь нативной Java и ещё у меня есть XP в vbox :-)

[identity profile] dadv.livejournal.com 2013-06-26 10:12 am (UTC)(link)
Поправка: KVM от Hetzner работает с нативным openjdk6/FreeBSD, просто нужна свежая версия openjdk6