Xephyr - Wine в 8bpp (256-colors) режиме
Как запустить программу в Wine с разрядностью цветовой палитры 8-bit (256-colors)?
Запущенный X-сервер не может перейти от 24bpp в 8bpp режим, но Wine (в целом) может запустить программное обеспечение, которое использует 256-цветовую схему. Хотя, при запуске в терминале и будут сыпаться сообщения типа: FIXME: fixme:x11drv:X11DRV_desktop_SetCurrentMode Cannot change screen BPP from 32 to 8, но для практических целей этим можно пренебречь. Совсем другой случай, когда приложение конкретно требует при установке свой родной режим
В данной ситуации можно пойти обходным путем (помните как в песне: нормальные герои всегда идут в обход), а именно запустить под нашим работающим X-сервером, "вложенный" X-сервер в отдельном окне. Воспользуемся пакетом xserver-xephyr, установить можно из "Центра приложений Ubuntu"
 После установки пакета Вы можете запустить его командами:
Xephyr :1 -ac -screen 800x600x8 & DISPLAY=:1 xterm
| где 800x600x8 - дисплей, в окне, с 8-битным цветом, :1 - номер вашего "дисплея" (можете поставить 2,3...и т.д.), Ваш родной графический режим обычно (по умолчанию) идентифицируется как :0. Лучше записать запуск в скрипт, например так:
#!/bin/bash Xephyr :1 -ac -screen 800x600x8 & sleep 1 DISPLAY=:1 xterm read
| где 'sleep 1' - небольшая задержка перед запуском xterm (дает время на запуск вложенного X-servera на тормозных системах).
 Надеюсь, что из командной строки запустить установку "капризной" программы Вы сможете :)
Раз уж речь зашла о Xephyr то стоит отметить, что естественно можно запускать и 16/24 битные цветовые режимы:
#!/bin/bash Xephyr :1 -ac -screen 800x600x16 & sleep 1 DISPLAY=:1 metacity & sleep 1 DISPLAY=:1 gnome-terminal read
| Здесь я добавил запуск своего менеджера окон (metacyty) и вместо xterm запустил эмулятор терминала (gnome-terminal), 'sleep 1' - небольшая задержка перед запуском приложений (для более корректного запуска).
 С цветовыми схемами 16 и 24 bpp Xephyr может поддерживать программный рендеринг OpenGL (необходима установка Mesa), к сожалению аппаратное ускорение не поддерживается. В моем случае, на Ubuntu 12.04 (64-bit), программный рендеринг изначально не захотел работать,
 в этом случае есть несколько способов исправить эту проблему: 1 Из папки /usr/lib/x86_64-linux-gnu/mesa скопировать файлы libGL.so.1.2 libGL.so.1 libGL.so в папку /usr/lib/; 2 Как вариант, сделать символические ссылки
sudo ln -s /usr/lib/libGL.so.1 /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 sudo ln -s /usr/lib/libGL.so.1.2 /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2 sudo ln -s /usr/lib/libGL.so.1.2 /usr/lib/x86_64-linux-gnu/mesa/libGL.so
| 3 Или, на мой взгляд, лучше задать enviroment для LD_LIBRARY_PATH в скрипте запуска, включив туда папку /usr/lib/x86_64-linux-gnu/mesa (/usr/lib/i386-linux-gnu/mesa/)
#!/bin/bash export LD_LIBRARY_PATH=/usr/lib/i386-linux-gnu/mesa/:/usr/lib/x86_64-linux-gnu/mesa:$LD_LIBRARY_PATH Xephyr :1 -ac -screen 800x600x16 & sleep 1 DISPLAY=:1 metacity & sleep 1 DISPLAY=:1 gnome-terminal read
|

Источник: http://ubuntu-wine.ru |