Скрыть объявление
Уважаемые пользователи форума, убедительно просим вас переходить в телеграмм продавца, исключительно по предоставленной ссылке. Проверяйте продавца, отправив сообщение на электронную почту, чтобы убедиться в том, что вы общаетесь действительно с ним.

Запускаем Genymotion на Azure (2015)

Тема в разделе "Хакинг. Программирование", создана пользователем WWW, 12 июл 2016.

  1. WWW

    WWW Moderator Модератор форума

    Как известно, Genymotion требует OpenGL 2.0, но на серверах Azure нет видеокарты(если я не ошибаюсь) и следовательно запуск его становится не возможным.
    Решить это проблему можно установив такую штуку как mesa(оно делает програмный рендеринг), вернее даже не установив, а подменив оригинальную DLLку opengl32.dll на ту, которая идёт вместе с mesa.
    Но тут возникает одна маленькая проблема, а именно та, что mesa необходимо собирать из исходного кода. В той статье я расскажу как собрать opengl32.dll из исходного кода.

    Компилировать всё это дело мы будет под Linuxом, для этого скачаем живой образ Fedora - , после этого запустим его в виртуалке(думаю с тим проблем быть не должно, единственно что посоветую это выделить побольше оперативки).
    После того как мы завели живой образ Linuxа в виртуалке, там же открываем мулятор терминала и выполняем несколько команд которые поставят все необходимые для сборки mesa пакеты:


    Code:
    sudo su
    dnf install -y flex bison yacc migw32-gcc-c++ mingw32-winpthreads* mingw64-gcc-c++ mingw64-winpthreads* python-mako scons
    exit​

    После того как все необходимые пакеты поставились, скачаем исходники mesa, разархивируем их и приступим к сборке нашей opengl32.dll
    Для этого вводим следующие команды в эмуляторе терминала:


    Code:
    mkdir mesa_build
    cd mesa_build
    wget ftp://ftp.freedesktop.org/pub/mesa/c...-10.5.4.tar.gz
    tar xfvz mesa-10.5.4.tar.gz
    cd mesa-10.5.4
    LDFLAGS=-static -s scons platform=windows build=release machine=x86 libgl-gdi
    scons platform=windows build=release machine=x86_64 libgl-gdi
    sconf -c​


    И после этого у нас в папке build/windows-x86/gallium/targets/libgl-gdi/ появится заветная opengl32.dll для x32 и в папке build/windows-x86_64/gallium/targets/libgl-gdi/
    Скопируем её в домашнюю папку командой


    Code:
    cp build/windows-x86/gallium/targets/libgl-gdi/opengl32.dll ~​

    и для 64ёх разрядной версии:

    Code:
    cp build/windows-x86_64/gallium/targets/libgl-gdi/opengl32.dll ~/opengl32.dll.64​

    Далее всё просто: любым удобным способом забираем эту dllку к нам на машину, на целевой тачке(там где нужно запустить Genymotion) просто копируем нашу dll в папку куда установлен Genymotion и радуемся
    Если вдруг не проканало - то можно попробовать скопировать opengl32.dll в папку Windows.

    Вот таким вот не хитрым способом можно запустить Genymotion на любой машине с хреновой видеокартой или вообще без неё(виртуалка)

    P.S. справедливо будет заменить что компилировать лучше с использованием llvm, но как то сделать не будет освященно в рамках данной статьи

    2015 CRDCLUB (c) 0xB16B00B5
  2. kripke

    kripke Member

    Если бы еще кто нибудь выложил готовую dll, то было бы вообще супер.
  3. Deamon007

    Deamon007 Member

    Не работает эта херня. dll выкладывались на старом борде. Я пробовал. До пизды всё.
  4. Technologic

    Technologic Member

    Так точно, не пашет.

Поделиться этой страницей