Собственно сабж: поставил игру (в drive_c/program files..), запускаю - курсор переключается на игровой, но вылетает окно с надписью "Failed to initialize DirectX". На форумах в интернетах и на hqwine вычитал убер решение: в папке drive_c/Program Files/Ubisoft/Related Designs/ANNO 1404/ (иногда предлагают drive_c/Program Files/Ubisoft/Related Designs/ANNO 1404/config) найти файл Engine.ini и вместо 0 написать 9, чтобы запускался не директХ10, а 9. Грубо говоря должно выглядеть так:
подобного файла ни по одному из путей нет, есть только путь drive_c/Program Files/Ubisoft/Related Designs/ANNO 1404data/game/config/, куда я и кинул файл с названием Engine.ini и этими 4мя строками (плюс, на всякий случай и в корень игры), но проблемы это не решило (вообще ничего не изменилось). Больше толковых решений я не нашёл :\
Пробовал поставить с диска с игрой DirectX - тоже бестолку.
fixme:font:WineEngAddFontResourceEx Ignoring flags 10
fixme:system:SystemParametersInfoW Unimplemented action: 59 (SPI_SETSTICKYKEYS)
fixme:system:SystemParametersInfoW Unimplemented action: 51 (SPI_SETFILTERKEYS)
fixme:win:EnumDisplayDevicesW ((null),0,0x32ef6c,0x00000000), stub!
fixme:dxgi:dxgi_device_init Ignoring adapter type.
fixme:system:SetProcessDPIAware stub!
fixme:win:EnumDisplayDevicesW ((null),0,0x32f08c,0x00000000), stub!
fixme:dxgi:dxgi_output_GetDisplayModeList iface 0x1a01a8, format DXGI_FORMAT_R8G8B8A8_UNORM, flags 0x1, mode_count 0x32f54c, desc (nil) partial stub!
fixme:dxgi:dxgi_output_GetDisplayModeList iface 0x1a01a8, format DXGI_FORMAT_R8G8B8A8_UNORM, flags 0x1, mode_count 0x32f54c, desc 0x49626a0 partial stub!
fixme:dxgi:dxgi_device_init Ignoring adapter type.
fixme:d3d10core:d3d10_device_CheckMultisampleQualityLevels iface 0x1cae3c, format DXGI_FORMAT_R8G8B8A8_UNORM, sample_count 0, quality_level_count 0x32f5a0 stub!
fixme:d3d10core:d3d10_device_CheckMultisampleQualityLevels iface 0x1cae3c, format DXGI_FORMAT_R8G8B8A8_UNORM, sample_count 1, quality_level_count 0x32f5a0 stub!
fixme:d3d10core:d3d10_device_CheckMultisampleQualityLevels iface 0x1cae3c, format DXGI_FORMAT_R8G8B8A8_UNORM, sample_count 2, quality_level_count 0x32f5a0 stub!
fixme:d3d10core:d3d10_device_CheckMultisampleQualityLevels iface 0x1cae3c, format DXGI_FORMAT_R8G8B8A8_UNORM, sample_count 3, quality_level_count 0x32f5a0 stub!
fixme:d3d10core:d3d10_device_CheckMultisampleQualityLevels iface 0x1cae3c, format DXGI_FORMAT_R8G8B8A8_UNORM, sample_count 4, quality_level_count 0x32f5a0 stub!
fixme:d3d10core:d3d10_device_CheckMultisampleQualityLevels iface 0x1cae3c, format DXGI_FORMAT_R8G8B8A8_UNORM, sample_count 5, quality_level_count 0x32f5a0 stub!
fixme:d3d10core:d3d10_device_CheckMultisampleQualityLevels iface 0x1cae3c, format DXGI_FORMAT_R8G8B8A8_UNORM, sample_count 6, quality_level_count 0x32f5a0 stub!
fixme:d3d10core:d3d10_device_CheckMultisampleQualityLevels iface 0x1cae3c, format DXGI_FORMAT_R8G8B8A8_UNORM, sample_count 7, quality_level_count 0x32f5a0 stub!
fixme:d3d10core:d3d10_device_CheckMultisampleQualityLevels iface 0x1cae3c, format DXGI_FORMAT_R8G8B8A8_UNORM, sample_count 8, quality_level_count 0x32f5a0 stub!
fixme:d3d10core:d3d10_device_CheckMultisampleQualityLevels iface 0x1cae3c, format DXGI_FORMAT_R8G8B8A8_UNORM, sample_count 9, quality_level_count 0x32f5a0 stub!
fixme:d3d10core:d3d10_device_CheckMultisampleQualityLevels iface 0x1cae3c, format DXGI_FORMAT_R8G8B8A8_UNORM, sample_count 10, quality_level_count 0x32f5a0 stub!
fixme:d3d10core:d3d10_device_CheckMultisampleQualityLevels iface 0x1cae3c, format DXGI_FORMAT_R8G8B8A8_UNORM, sample_count 11, quality_level_count 0x32f5a0 stub!
fixme:d3d10core:d3d10_device_CheckMultisampleQualityLevels iface 0x1cae3c, format DXGI_FORMAT_R8G8B8A8_UNORM, sample_count 12, quality_level_count 0x32f5a0 stub!
fixme:d3d10core:d3d10_device_CheckMultisampleQualityLevels iface 0x1cae3c, format DXGI_FORMAT_R8G8B8A8_UNORM, sample_count 13, quality_level_count 0x32f5a0 stub!
fixme:d3d10core:d3d10_device_CheckMultisampleQualityLevels iface 0x1cae3c, format DXGI_FORMAT_R8G8B8A8_UNORM, sample_count 14, quality_level_count 0x32f5a0 stub!
fixme:d3d10core:d3d10_device_CheckMultisampleQualityLevels iface 0x1cae3c, format DXGI_FORMAT_R8G8B8A8_UNORM, sample_count 15, quality_level_count 0x32f5a0 stub!
fixme:d3d10core:d3d10_device_CheckMultisampleQualityLevels iface 0x1cae3c, format DXGI_FORMAT_R8G8B8A8_UNORM, sample_count 16, quality_level_count 0x32f5a0 stub!
fixme:d3d10core:d3d10_device_CheckMultisampleQualityLevels iface 0x1cae3c, format DXGI_FORMAT_R8G8B8A8_UNORM, sample_count 17, quality_level_count 0x32f5a0 stub!
fixme:d3d10core:d3d10_device_CheckMultisampleQualityLevels iface 0x1cae3c, format DXGI_FORMAT_R8G8B8A8_UNORM, sample_count 18, quality_level_count 0x32f5a0 stub!
fixme:d3d10core:d3d10_device_CheckMultisampleQualityLevels iface 0x1cae3c, format DXGI_FORMAT_R8G8B8A8_UNORM, sample_count 19, quality_level_count 0x32f5a0 stub!
fixme:d3d10core:d3d10_device_CheckMultisampleQualityLevels iface 0x1cae3c, format DXGI_FORMAT_R8G8B8A8_UNORM, sample_count 20, quality_level_count 0x32f5a0 stub!
fixme:d3d10core:d3d10_device_CheckMultisampleQualityLevels iface 0x1cae3c, format DXGI_FORMAT_R8G8B8A8_UNORM, sample_count 21, quality_level_count 0x32f5a0 stub!
fixme:d3d10core:d3d10_device_CheckMultisampleQualityLevels iface 0x1cae3c, format DXGI_FORMAT_R8G8B8A8_UNORM, sample_count 22, quality_level_count 0x32f5a0 stub!
fixme:d3d10core:d3d10_device_CheckMultisampleQualityLevels iface 0x1cae3c, format DXGI_FORMAT_R8G8B8A8_UNORM, sample_count 23, quality_level_count 0x32f5a0 stub!
fixme:d3d10core:d3d10_device_CheckMultisampleQualityLevels iface 0x1cae3c, format DXGI_FORMAT_R8G8B8A8_UNORM, sample_count 24, quality_level_count 0x32f5a0 stub!
fixme:d3d10core:d3d10_device_CheckMultisampleQualityLevels iface 0x1cae3c, format DXGI_FORMAT_R8G8B8A8_UNORM, sample_count 25, quality_level_count 0x32f5a0 stub!
fixme:d3d10core:d3d10_device_CheckMultisampleQualityLevels iface 0x1cae3c, format DXGI_FORMAT_R8G8B8A8_UNORM, sample_count 26, quality_level_count 0x32f5a0 stub!
fixme:d3d10core:d3d10_device_CheckMultisampleQualityLevels iface 0x1cae3c, format DXGI_FORMAT_R8G8B8A8_UNORM, sample_count 27, quality_level_count 0x32f5a0 stub!
fixme:d3d10core:d3d10_device_CheckMultisampleQualityLevels iface 0x1cae3c, format DXGI_FORMAT_R8G8B8A8_UNORM, sample_count 28, quality_level_count 0x32f5a0 stub!
fixme:d3d10core:d3d10_device_CheckMultisampleQualityLevels iface 0x1cae3c, format DXGI_FORMAT_R8G8B8A8_UNORM, sample_count 29, quality_level_count 0x32f5a0 stub!
fixme:d3d10core:d3d10_device_CheckMultisampleQualityLevels iface 0x1cae3c, format DXGI_FORMAT_R8G8B8A8_UNORM, sample_count 30, quality_level_count 0x32f5a0 stub!
fixme:d3d10core:d3d10_device_CheckMultisampleQualityLevels iface 0x1cae3c, format DXGI_FORMAT_R8G8B8A8_UNORM, sample_count 31, quality_level_count 0x32f5a0 stub!
fixme:d3d10core:d3d10_device_CheckMultisampleQualityLevels iface 0x1cae3c, format DXGI_FORMAT_R8G8B8A8_UNORM, sample_count 32, quality_level_count 0x32f5a0 stub!
fixme:dxgi:dxgi_factory_CreateSwapChain iface 0x1a91b0, device 0x1cae3c, desc 0x3eece58, swapchain 0x3eece94 partial stub!
fixme:dxgi:dxgi_factory_CreateSwapChain Ignoring SwapEffect and Flags
fixme:d3d:swapchain_init The application requested more than one back buffer, this is not properly supported.
Please configure the application to use double buffering (1 back buffer) if possible.
fixme:d3d10core:device_parent_create_rendertarget device_parent 0x1cae50, container_parent 0x149120, width 1280, height 1024, format 0x37, multisample_type 0,
multisample_quality 0, lockable 1, surface 0x7ddf9e0 partial stub!
fixme:d3d10core:device_parent_create_rendertarget Implement DXGI<->wined3d usage conversion
fixme:d3d10core:d3d10_device_CreateTexture2D iface 0x1cae3c, desc 0x32f148, data (nil), texture 0x32f174 partial stub!
fixme:dxgi:dxgi_device_create_surface iface 0x1cae28, desc (nil), usage 0, shared_resource (nil), outer 0x1b41b0, surface 0x1b41b8 partial stub!
fixme:d3d10core:d3d10_texture2d_init Implement DXGI<->wined3d usage conversion
fixme:d3d10core:device_parent_create_rendertarget device_parent 0x1cae50, container_parent 0x149120, width 1280, height 1024, format 0x37, multisample_type 0,
multisample_quality 0, lockable 1, surface 0x1cba90 partial stub!
fixme:d3d10core:device_parent_create_rendertarget Implement DXGI<->wined3d usage conversion
fixme:d3d10core:d3d10_device_CreateTexture2D iface 0x1cae3c, desc 0x32f148, data (nil), texture 0x32f174 partial stub!
fixme:dxgi:dxgi_device_create_surface iface 0x1cae28, desc (nil), usage 0, shared_resource (nil), outer 0x1b2a88, surface 0x1b2a90 partial stub!
fixme:d3d10core:d3d10_texture2d_init Implement DXGI<->wined3d usage conversion
fixme:d3d10core:device_parent_create_rendertarget device_parent 0x1cae50, container_parent 0x149120, width 1280, height 1024, format 0x37, multisample_type 0,
multisample_quality 0, lockable 1, surface 0x1cba94 partial stub!
fixme:d3d10core:device_parent_create_rendertarget Implement DXGI<->wined3d usage conversion
fixme:d3d10core:d3d10_device_CreateTexture2D iface 0x1cae3c, desc 0x32f148, data (nil), texture 0x32f174 partial stub!
fixme:dxgi:dxgi_device_create_surface iface 0x1cae28, desc (nil), usage 0, shared_resource (nil), outer 0x1b3410, surface 0x1b3418 partial stub!
fixme:d3d10core:d3d10_texture2d_init Implement DXGI<->wined3d usage conversion
fixme:dxgi:dxgi_factory_MakeWindowAssociation iface 0x1a91b0, window 0x2002a, flags 0x6 stub!
dxdiag.exe запускается, d3d и ddraw тесты ок.
решил проблему сам, ни в одном руководстве не говорилось, где лежит Engine.ini, а он был важен. В итоге я нашёл его в ~/.wine/drive_c/users/имяпользователя/Application Data/Ubisoft/Anno1404/Config/ - изменил <DirectXVersion>0</DirectXVersion> на <DirectXVersion>9</DirectXVersion> и всё запустилось.
Кто только пишет эти руководства?..