преобразовать некоторый код из Windows API к аппаратному виртуализированным (VirtualBox) Lubuntu Linux (Ubuntu) 14,04 и хотел добавить кросс-платформенного полноэкранного функциональности. Для этого я использую расширение X12b для XF86
. Мой код для изменения режима отображения заключается в следующем (только соответствующая часть)Можно установить полноэкранный режим через приложение на виртуальной машине?
int width = 800;
int height = 600;
..some code to make sure the above dimensions are supported by current screen
int modesnum;
XF86VidModeModeInfo** modes;
if (XF86VidModeGetAllModeLines(display,0,&modesnum,&modes)) {
for(int x=0;x<modesnum;x++) {
if (modes[x]->hdisplay==width && modes[x]->vdisplay==height) {
XF86VidModeSwitchToMode(display,0,modes[x]);
XF86VidModeSetViewPort(display,0,0,0);
break;
}
}
}
Когда я скомпилировать + запустить выше на моем VM результат не является ожидаемым. Мое разрешение VM: 1366x768 (ноутбук) и запуск его на полноэкранном ВМ, он действительно не меняется на полноэкранный режим, а делает меньший видовой экран 800x600 в центре моего предыдущего разрешения рабочего стола с черным фоном. Я знаю, конечно, что я запускаю ОС на виртуальной машине, и некоторые причуды ожидаются, я просто хотел убедиться, что это просто невозможно, чтобы выпустить чистый полноэкранный режим, а не некоторые поддельные, масштабированные вещи, созданные VM.
Я запускаю одно и то же приложение на другой виртуализированной машине (WinXP), и я получил тот же масштабный полноэкранный режим, так что, полагаю, это невозможно? Я просто хочу проверить, правильно ли установлен мой Linux-код в полноэкранном режиме, и это просто виртуальная машина, которая управляет полноэкранным режимом, предоставляя мне масштабированную версию.
Нет, ваше приложение, работающее внутри виртуальной машины, не может установить полноэкранный режим * физического * хоста. И да, ваше приложение может пойти «в полноэкранном режиме» ... как определено тем, что Virtualbox говорит, что это «полный экран». Ваше виртуальное приложение может использовать полный виртуальный экран. Вот и все :) – FoggyDay
Спасибо :) У меня было подозрение на это, я просто хотел проверить –