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

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

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

  1. WWW

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

    Сообщения:
    723
    Симпатии:
    1
    Как известно, 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

    Сообщения:
    65
    Симпатии:
    0
    Если бы еще кто нибудь выложил готовую dll, то было бы вообще супер.
  3. Deamon007

    Deamon007 Member

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

    Technologic Member

    Сообщения:
    59
    Симпатии:
    0
    Так точно, не пашет.

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