MOTR + Linux (мини-гайд по приручению)



  • Для начала ставим драйвер для видеокарты. В случае с Nvidia лезем на nvidia.com – Download drivers – Linux IA32 – Lastest (1.0-8774). Весит порядка 11 Мб. Загружаем, в консоли под рутом меняем права доступа на 777, переходим в режим без Х (telinit 3) и запускаем. Предварительно в системе должен быть установлен пакет kernel-source для вашего ядра. Скриптик драйвера сам соберет нужный модуль и пропишет запуск драйвера при загрузке системы.

    Теперь перегрузимся, драйвера с поддержкой OpenGL уже стоят.

    Берем последний Wine (0.9.21) c <!-- m --><a class="postlink" href="http://sourceforge.net/project/showfiles.php?group_id=6241">http://sourceforge.net/project/showfile ... up_id=6241</a><!-- m -->
    (весит около 12Мб). Качаем исходники и собираем. С готовой сборкой у меня не пошло. Для успешной сборки в системе должны стоять пакеты bison и flex.
    Сборка стандартная - ./configure, ./make dep && make (компилируется минут 40), ./make install
    После успешной установки запускаем winecfg и настраиваем виртуальные диски (годится автоопределение). Режим эмуляции - Windows XP (работает и на Windows 2000). Во вкладке Графика выбираем “Разрешить приложению ДиректХ удерживать курсор мыши в окне”, выставляем Эмуляцию рабочего стола, разрешение 800х600 (ну или другое).

    Для удобства настройки Вайна можно закачать Вайн Тулз с <!-- m --><a class="postlink" href="http://sourceforge.net/project/showfiles.php?group_id=61341">http://sourceforge.net/project/showfile ... p_id=61341</a><!-- m -->
    С его помощью ставим стандартные шрифты Винды (Ариал и Таймс НьюРоман).

    Запускаем setup из папки с РО (wine setup), драйвер графики выбираем WineD3D7, звук можно отключить, ставим Полноэкранный режим с разрешением таким же, как у виртуального рабочего стола.
    Запускаем wine ruro. Патчер работает шустренько, дальше ждем минут 5, пока загрузится РО. В это время на виртуальном рабочем столе ничего не происходит, надо просто потерпеть. Оно не зависло, оно типа думает.

    Ну а дальше все работает как обычно.

    Тестировалось на Athlon XP 2600+, 1024RAM, GeForce4MX440, Mandriva 2006. На других системах по идее должно работать не хуже.

    Вопросы, пожелания и предложения приветствуются.



  • Испытание ГВ система выдержала :lol:

    Идея появилась - немного пропатчить Вайн в плане улучшения поддержки ДиректХ. На днях сделаю, поделюсь результатом.

    Завтра повешу скрины.



  • ](link)

    ](link)

    ](link)

    Вчерашние скрины. Для улучшения картинки в настройках Wine можно убрать двойную буферизацию окна, а в файлике user.reg прописать параметр "FontSmoothing"="1"



  • Удалось подружить РО со звуковой системой Линуксов.

    По непонятным причинам через ARTs и OSS звук не идет. Перековырял все, что мог.
    Выход - поднять ALSA, в настройках Вайна прописать вывод нерез нее - и можно врубать звук.



  • Вопрос: удавалось ли кому-нить осуществить подобное на AMD64?



  • C AMD64 должно работать также. Но у меня проблема: появляется updater, пишет: Attempt to connect patch server. Please wait. Ждать уже надоело(прошло минут 10).



  • Попробуй с настройками iptables поиграться. Не хочет он коннектиться, похоже. Может, 21 порт не открыт? или что-то еще намудрено. Апдейтер как раз нормально отрабатывает по скорости.

    Подобная бяка у меня была с клиентом для украинского сервера - он пытался лезть черти-куда и подвисал на пару минут. После прописывания форвардинга на правильный адрес, все заработало.

    Попробуй для интереса ruro /run запустить. Апдейтер не запустится.



  • Я не использую никаких файрволов. И iptables еще даже не установлен



  • Судя по tcpdump и netstat. updater.exe пытается подключиться к patch.motronline.com и ему это удается. Бета версия нового апдейтера даже качает первый патч но валится при попытке имопртирова его.



  • А права доступа на папку с игрой и все файлы 777 ?
    Может, она на виндовом разделе лежит? Линукс с NTFS работает чаще всего в режиме Read-only.



  • Игру ставил с сетапа изначально под вайн.



  • Всем привет.
    Имеем ubuntu dapper 6.0.6 ядро 2.6.15-27-386 + wine 0.9.9 из пакетов
    при запуске wine updater.exe, апдейт проходит нормально, дальше запускается ruro и по прошествии двух минут вываливается следующее:

    err:virtual:NtProtectVirtualMemory Unsupported on other process

    err:virtual:NtProtectVirtualMemory Unsupported on other process
    err:virtual:NtProtectVirtualMemory Unsupported on other process
    err:virtual:NtProtectVirtualMemory Unsupported on other process
    err:virtual:NtProtectVirtualMemory Unsupported on other process
    err:virtual:NtProtectVirtualMemory Unsupported on other process
    err:virtual:NtProtectVirtualMemory Unsupported on other process
    err:virtual:NtProtectVirtualMemory Unsupported on other process
    wine: Unhandled page fault on read access to 0x7fba0000 at address 0x7fe73f8d (thread 0009), starting debugger...
    WineDbg starting on pid 0x8
    Unhandled exception: page fault on read access to 0x7fba0000 in 32-bit code (0x7fe73f8d).
    Register dump:
    CS:0073 SS:007b DS:007b ES:007b FS:1007 GS:0033
    EIP:7fe73f8d ESP:7fb9f5e4 EBP:7fb9f6ec EFLAGS:00010206( - 00 - RIP1)
    EAX:7fb9fff0 EBX:7ff65978 ECX:7ff22f00 EDX:00000000
    ESI:7ff23100 EDI:7d009748
    Stack dump:
    0x7fb9f5e4: 00000040 7fb9f68c 7ffdee08 7ffdea00
    0x7fb9f5f4: 0000001d 7ffd51fc 00000023 7ffd1d3b
    0x7fb9f604: 7fb9f634 7ff8ee87 7ffd1d3b 7fb9f68c
    0x7fb9f614: 7ffdd1a1 7ffd25c4 00000000 00000000
    0x7fb9f624: 00000000 7ffd51fc 00000400 7fb9f688
    0x7fb9f634: 7fb9f6c4 7ffbfe02 7fb9f648 7ffdd1a0
    0200: sel=1007 base=7fe4a000 limit=00001fff 32-bit rw-
    Backtrace:
    =>1 0x7fe73f8d wine_cp_wcstombs+0x6cb in libwine_unicode.so.1 (0x7fe73f8d)
    2 0x7fc47799 WideCharToMultiByte+0x109 in kernel32 (0x7fc47799)
    3 0x0040c6a1 in ruro (+0xc6a1) (0x0040c6a1)
    4 0x7f9b12ef EnumWindows in user32 (0x7f9b12ef)
    5 0x0040def6 in ruro (+0xdef6) (0x0040def6)
    6 0x0040fa2d in ruro (+0xfa2d) (0x0040fa2d)
    7 0x7fc5b311 in kernel32 (+0x4b311) (0x7fc5b311)
    8 0x00000001 (0x00000001)
    0x7fe73f8d wine_cp_wcstombs+0x6cb in libwine_unicode.so.1: movzwl 0x10(%eax),%edx
    Modules:
    Module Address Debug info Name (71 modules)
    PE 0x00400000-0047a000 Export ruro
    ELF 0x7bf00000-7bf03000 Deferred <wine-loader>
    ELF 0x7d23f000-7d254000 Deferred psapi<elf>
    -PE 0x7d250000-7d254000 \ psapi
    ELF 0x7d254000-7d295000 Deferred dbghelp<elf>
    -PE 0x7d260000-7d295000 \ dbghelp
    ELF 0x7d295000-7d2ac000 Deferred imagehlp<elf>
    -PE 0x7d2a0000-7d2ac000 \ imagehlp
    ELF 0x7d2ac000-7d2c0000 Deferred snmpapi<elf>
    -PE 0x7d2b0000-7d2c0000 \ snmpapi
    ELF 0x7e1f8000-7e229000 Deferred uxtheme<elf>
    -PE 0x7e200000-7e229000 \ uxtheme
    ELF 0x7e993000-7e998000 Deferred libxfixes.so.3
    ELF 0x7e998000-7e9a0000 Deferred libxrender.so.1
    ELF 0x7e9a0000-7e9a9000 Deferred libxcursor.so.1
    ELF 0x7e9a9000-7e9c5000 Deferred imm32<elf>
    -PE 0x7e9b0000-7e9c5000 \ imm32
    ELF 0x7e9c5000-7f188000 Deferred libglcore.so.1
    ELF 0x7f188000-7f20d000 Deferred libgl.so.1
    ELF 0x7f20d000-7f2f3000 Deferred libx11.so.6
    ELF 0x7f2f3000-7f30b000 Deferred libice.so.6
    ELF 0x7f30b000-7f38e000 Deferred winex11<elf>
    -PE 0x7f320000-7f38e000 \ winex11
    ELF 0x7f38e000-7f3ad000 Deferred libexpat.so.1
    ELF 0x7f3ad000-7f3db000 Deferred libfontconfig.so.1
    ELF 0x7f3db000-7f3ef000 Deferred libz.so.1
    ELF 0x7f3ef000-7f458000 Deferred libfreetype.so.6
    ELF 0x7f458000-7f518000 Deferred comctl32<elf>
    -PE 0x7f460000-7f518000 \ comctl32
    ELF 0x7f518000-7f5e4000 Deferred shell32<elf>
    -PE 0x7f530000-7f5e4000 \ shell32
    ELF 0x7f5e4000-7f603000 Deferred iphlpapi<elf>
    -PE 0x7f5f0000-7f603000 \ iphlpapi
    ELF 0x7f603000-7f64c000 Deferred rpcrt4<elf>
    -PE 0x7f610000-7f64c000 \ rpcrt4
    ELF 0x7f64c000-7f6dd000 Deferred ole32<elf>
    -PE 0x7f660000-7f6dd000 \ ole32
    ELF 0x7f6dd000-7f738000 Deferred shlwapi<elf>
    -PE 0x7f6f0000-7f738000 \ shlwapi
    ELF 0x7f738000-7f778000 Deferred advapi32<elf>
    -PE 0x7f740000-7f778000 \ advapi32
    ELF 0x7f84d000-7f8fe000 Deferred gdi32<elf>
    -PE 0x7f860000-7f8fe000 \ gdi32
    ELF 0x7f8fe000-7fa2a000 Export user32<elf>
    -PE 0x7f920000-7fa2a000 \ user32
    ELF 0x7fa2a000-7fa49000 Deferred mpr<elf>
    -PE 0x7fa30000-7fa49000 \ mpr
    ELF 0x7fa49000-7fa90000 Deferred wininet<elf>
    -PE 0x7fa50000-7fa90000 \ wininet
    ELF 0x7fba3000-7fbb0000 Deferred libxext.so.6
    ELF 0x7fbb3000-7fbb6000 Deferred libxau.so.6
    ELF 0x7fbb6000-7fbbb000 Deferred libxxf86vm.so.1
    ELF 0x7fbee000-7fcf0000 Export kernel32<elf>
    -PE 0x7fc10000-7fcf0000 \ kernel32
    ELF 0x7fe01000-7fe0b000 Deferred libgcc_s.so.1
    ELF 0x7fe0b000-7fe15000 Deferred libnss_files.so.2
    ELF 0x7fe15000-7fe1e000 Deferred libnss_nis.so.2
    ELF 0x7fe1e000-7fe33000 Deferred libnsl.so.1
    ELF 0x7fe33000-7fe3c000 Deferred libnss_compat.so.2
    ELF 0x7fe3d000-7fe42000 Deferred libxxf86dga.so.1
    ELF 0x7fe42000-7fe4a000 Deferred libsm.so.6
    ELF 0x7fe4e000-7fe70000 Deferred libm.so.6
    ELF 0x7fe70000-7ff66000 Export libwine_unicode.so.1
    ELF 0x7ff66000-7ffe0000 Deferred ntdll<elf>
    -PE 0x7ff80000-7ffe0000 \ ntdll
    ELF 0xb7dfb000-b7dfe000 Deferred libdl.so.2
    ELF 0xb7dfe000-b7f2d000 Deferred libc.so.6
    ELF 0xb7f2d000-b7f3f000 Deferred libpthread.so.0
    ELF 0xb7f40000-b7f42000 Deferred libnvidia-tls.so.1
    ELF 0xb7f4e000-b7f68000 Deferred libwine.so.1
    ELF 0xb7f6b000-b7f81000 Deferred ld-linux.so.2
    Threads:
    process tid prio (all id:s are in hex)
    0000000d
    0000000e 0
    00000008 (D) Z:\home\odis\RO_MOTR\ruro.exe
    0000000c 0
    0000000b 1
    0000000a 0
    00000009 0 <==

    Буду благодарен за идею :roll:



  • Отбой, проблема решилась установкой wine 0.9.24 😐



  • Клиент стабильно падает в гефе, в консоли ошибки
    fixme:ntdll:FILE_GetNtStatus Converting errno 12 to STATUS_UNSUCCESSFUL

    wine 0.9.24, ядро 2.6.18 slackware.
    правильно ли я понимаю что это симтом несовпадения/отсутствия некоторых файлов? на других локациях вылетов не зафиксировано



  • 36, похоже, не хватает чего-то в клиенте. А где именно в Гефе вылетает?



  • -=Заметки нуба=-
    Решил попробоавть всю эту систему.
    Sertse, Спасибо за бесценную статью. Думаю, можно кое что добавить:

    1. Для карточек на nvidia можно поставить nvidia-glx, для дистрибутивов аля Debian это намного проще, чем пытаться остановить X. Я так и не сумел остановить в Ubuntu 6.10 :lol:
    2. winetools.tgz это архив 🙂 просто архив, а не пакет! :lol:
      Раньше работал на Slackware, а там tgz файлы устанавливаются как пакеты. Пытался понять что делать с файлом под ubuntu 6.10 наверное полчаса... потом посмотрел на распакованный файл и понял, что его можно просто запустить :lol:

    Протестировано на Athlon 1533 MHz/512RAM/Nvidia mmx 440/Ubuntu 6.10/wine 0.92



  • Есть вопросик. Может кто подскажет из спецов по сабжу.

    Система SuSe 10.1 wine 0.9.28 двухпроцессорный - атлончики по 3.5гц, 3гб рам

    Работал клиент хорошо. Установлен был по этому ФАКу. Иногда выдавал ошибки виртуальной памяти - но при этом продолжал работать.

    После вчерашнего апдейта 27.12 - отказывается работать наотрез.
    после запуска апдейтера - происходит скачка файла, и... тут должна быть 10ти минутная пауза пока руро.ехе ковыряет что-то в рагнарёк.ехе - и всё это потом начанало работать в нормальном режиме. Сейчас же просто после апдейтера - умираеют сначала руро и рагнарёк, а за ними следом и вайнсервер.

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

    Спасибо.



  • Чуть не забыл. Была скачена так же версия уже пропатченная с другой Вин-машины. Запуск в Линуксе новой версии привёл к таким же плачевным результатам.

    Папытка установки вайном рогнарька по-новому - не удалась. Скаченный файл орал про недоступность ФТП сервера, хотя порты все были открыты, файрволы убранны. Да ко всему - ручками ФТП заходился.

    Вопрос остался прежним - кто сталкнулся с этой же проблемой и нашёл ли способ перепрыгнуть через неё.



  • я тоже столкнулся. буквально 2 мин назад. разбираюсь... как пойму в чем соль отпишу. 😉
    У меня была такая проблема и раньше. Если вызывать в одной терминалке, то именно такие симптомы были, а если из другой, то все работало.



  • Если вызывать в одной терминалке, то именно такие симптомы были, а если из другой, то все работало.

    Т.е. если просто открыть новый терминал - всё заработает? 😢

    Ну.... Я грешным делом, даже комп перегрузил после этой проблемы - позор на мои седины - знаю что это не винда, а привычки старые.

    Запускал в разных терминалах. И даже хотел попробовать более старую версию Вайна - может тут какие грабли, но руки не дошли.

    Сейчас вот пробывал запустить на своём лептопе - на нём убунту линукс стоит. Вайн последний - 0.9.28. Результат плачевный. Всё то же самое. Т.е. запускаем Сетап.ехе - настраиваимся. Далее апдейтер.ехе. Качается патч, жмётся кнопачка ОК. И дохниться как будто так и должно быть.

    Кроме как попробовать старые версии вайна - в голову ничего не приходит. Хотя кажется, что это не его проблема, а проблема патчера. Что-то он лезет ковырять в самой винде, что не умеет эмулировать вайн, хотя это ИМХО.

    У кого получиться запуститься... отпишитесь... играццца хоццца аж зубы сводит... 😢