LINUX.ORG.RU
ФорумGames

Чёрный экран Medieval 2 total war (Proton, Ubuntu 22.04)

 , ,


0

1

Добрый день, дорогие друзья !

Medievel II Total War запускается - чёрный экран без звука. Использую PortProton. Прикладываю лог-файл - https://drive.google.com/file/d/16c9_S1uDycwlAdpYFyIphQjLwDPgCkLV/view?usp=sharing. Под windows запускается. Всё перепробовал, гугление не даёт результатов. Что пробовал:

  1. Старые версии протон.
  2. Сессия X11.
  3. Запуск c префиксом с dll directmusic.
  4. Виртуальный рабочий стол.


Последнее исправление: TheDeckardCain (всего исправлений: 5)

Попробуй ее обычным Wine-Staging запустить в чистом префиксе. У меня она из коробки запустилась с Wine-Staging 7.10, вообще ничего устанавливать не пришлось.

Kron4ek ★★★★★
()
Ответ на: комментарий от Kron4ek

Wine-Staging 7.10

Чтото много багов стало в wine.

В wine 7.9 регресс - STALKER перестал запускаться, невидимое окно и грузит 1 ядро. В wine 7.8 - работает.

И в 7.8 ещё баг заметил, которого раньше не было - при выходе из Haydee2 остаётся последний кадр из игры, и так и висит, хотя в процессах wine уже нет, приходится делать kill -9 $(pidof xfce4-session) ( из tty1 :)

superuser ★★★★☆
()
Последнее исправление: superuser (всего исправлений: 2)
Ответ на: комментарий от superuser

Ну не знаю много или нет, но да, регрессии случаются. Я сам с ними сталкивался, сталкиваюсь и видимо еще буду сталкиваться. Я вот заметил, что Deathloop перестал совсем запускаться, хотя еще недавно он вполне себе запускался. Правда, я так и не выяснил это регрессия в новом Proton Experimental или в Mesa или еще где.

Kron4ek ★★★★★
()
Ответ на: комментарий от Kron4ek

wine ‘/…/medieval2.exe’

0009:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0x32fb38 1 C) semi-stub 0009:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0x32f928 1 C) semi-stub 0009:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0x32fd38 1 C) semi-stub 0009:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0x32ee08 1 C) semi-stub

TheDeckardCain
() автор топика
Ответ на: комментарий от TheDeckardCain

Тут критических ошибок нет, в твоем первоначальном логе их тоже нет. Так что сложно точно сказать в чем проблема.

Kron4ek ★★★★★
()
Ответ на: комментарий от Kron4ek

В WineHQ есть разные рекомендации ставить .NET. Я перепробовал разные комбинации. Последняя чистый префикс с mfc110 vcrun2012 dotnet35. Тот же самый результат.

TheDeckardCain
() автор топика
Ответ на: комментарий от TheDeckardCain

А ты в момент запуска в каталоге с игрой находишься? Некоторым играм важно, чтобы рабочий каталог был в каталоге с игрой, этой игре тоже это важно.

Kron4ek ★★★★★
()
Ответ на: комментарий от TheDeckardCain

Это все не нужно, эта игра работает из коробки в чистом префиксе. Во всяком случае у меня так.

Kron4ek ★★★★★
()
Ответ на: комментарий от Kron4ek

Вот из каталога

wine '/media/nikolay/ElementsLinux/Games/Medieval II Total War/Medieval 2 Total War/medieval2.exe'

0009:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0x33fb38 1 C) semi-stub 0009:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0x33f928 1 C) semi-stub 0009:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0x33fd38 1 C) semi-stub 0009:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0x33eef8 1 C) semi-stub 0009:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0x33ef78 1 C) semi-stub 0009:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0x33ef38 1 C) semi-stub 0009:fixme:win:EnumDisplayDevicesW ((null),0,0x33acf4,0x00000000), stub! 0009:fixme:wbemprox:wbem_services_CreateInstanceEnum unsupported flags 0x00000030 0009:fixme:wbemprox:enum_class_object_Next timeout not supported 0009:fixme:win:EnumDisplayDevicesW ((null),0,0x3399c4,0x00000000), stub! 0009:fixme:win:EnumDisplayDevicesW ((null),0,0x3397f4,0x00000000), stub! 0009:fixme:ddraw:ddraw7_Initialize Ignoring guid {aeb2cdd4-6e41-43ea-941c-8361cc760781}. 0009:err:winediag:MIDIMAP_drvOpen No software synthesizer midi port found, Midi sound output probably won't work. 0009:fixme:d3d:wined3d_swapchain_resize_buffers Cannot change the back buffer count yet.

TheDeckardCain
() автор топика
Ответ на: комментарий от Kron4ek

У МЕНЯ ПОЛУЧИЛОСЬ. Внимание, я скачал ТВОЮ сборку wine - https://github.com/Kron4ek/Wine-Builds/releases. wine-7.10-staging-amd64. И просто всё заработало winefile medieval2.exe.

Ты единственный кто собирает wine ? Просто собираешь из исходников ? Я раньше скачивал, но не совсем понимал как этим пользоваться.

Кажется, есть гипотеза почему не работало…

TheDeckardCain
() автор топика
Ответ на: комментарий от TheDeckardCain

Интересно. Странно, что через твой системный Wine не работало.

Ты единственный кто собирает wine ? Просто собираешь из исходников ?

Да, собираю из исходников в окружении Ubuntu 18.04. Я не единственный, сборки есть еще в Lutris и PlayOnLinux, Tk-Glitch собирает wine-tkg, а GloriousEggroll собирает Proton-GE и Wine-GE. Может и еще кто-то регулярно собирает, но мне только об этих известно.

Kron4ek ★★★★★
()
Ответ на: комментарий от TheDeckardCain

Там другой кэш и среди прочего еще кэш шейдеров. Ты можешь конкретно кэш Mesa удалить:

rm -r ~/.cache/mesa_shader_cache
Kron4ek ★★★★★
()
Ответ на: комментарий от TheDeckardCain

Прям мистика какая-то :) Попробуй перезагрузиться. И еще, судя по логу, у тебя ноутбук с дискретной видеокартой, верно? Ты пробовал на дискретной видеокарте игру запускать?

Kron4ek ★★★★★
()
Ответ на: комментарий от Kron4ek

Да, ноутбук две карты intel - radeon. Перед тем как опять вернулся дьявольский чёрный экран я как раз попробовал DRI_PRIME=2 winefile, чтобы запустить на дискретной только… И потом чёрный экран. Но как это сломать могло… У меня вообще отсутствуют представления. Я естественно сразу же вновь распаковал wine-7.10-staging-amd64 и в той же последовательности всё сделал, результат тот же. Сейчас перезагрузимся.

TheDeckardCain
() автор топика
Ответ на: комментарий от Kron4ek

Перезагрузка не помогла.

001e:err:winedevice:async_create_driver failed to create driver L"nsiproxy": c0000142 000f:fixme:service:scmdatabase_autostart_services Auto-start service L"nsiproxy" failed to start: 31 0034:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0x33fb38 1 C) semi-stub 0034:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0x33f928 1 C) semi-stub 0034:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0x33fd38 1 C) semi-stub 0034:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0x33eef8 1 C) semi-stub 0034:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0x33ef78 1 C) semi-stub 0034:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0x33ef38 1 C) semi-stub 0034:fixme:win:EnumDisplayDevicesW ((null),0,0x33acf4,0x00000000), stub! 0034:fixme:wbemprox:wbem_services_CreateInstanceEnum unsupported flags 0x00000030 0034:fixme:wbemprox:enum_class_object_Next timeout not supported 0034:fixme:win:EnumDisplayDevicesW ((null),0,0x3399c4,0x00000000), stub! 0034:fixme:win:EnumDisplayDevicesW ((null),0,0x3397f4,0x00000000), stub! 0034:fixme:ddraw:ddraw7_Initialize Ignoring guid {aeb2cdd4-6e41-43ea-941c-8361cc760781}. 0034:err:winediag:MIDIMAP_drvOpen No software synthesizer midi port found, Midi sound output probably won’t work. 0034:fixme:d3d:wined3d_swapchain_resize_buffers Cannot change the back buffer count yet. wine: Call from 0x7bc513e9 to unimplemented function wined3d.dll.vkd3d_shader_preprocess, aborting

TheDeckardCain
() автор топика
Ответ на: комментарий от TheDeckardCain

wine: Call from 0x7bc513e9 to unimplemented function wined3d.dll.vkd3d_shader_preprocess, aborting

У тебя видимо префикс навернулся, потому что вот этой ошибки быть не должно.

Попробуй снова с читым префиксом:

$ cd "/media/nikolay/ElementsLinux/Games/Medieval II Total War/Medieval 2 Total War"
$ export WINEPREFIX=~/newprefix
$ ~/wine-7.10-staging-amd64/bin/wine medieval2.exe

Пути на свои подправь, если я тут что-то неверно указал.

Kron4ek ★★★★★
()
Ответ на: комментарий от Kron4ek

При запуске ~/wine-7.10-staging-amd64/bin/wine он создал префикс ? А где он ? Я не совсем понимаю, как это работает.

Есть префикс штатного wine.

TheDeckardCain
() автор топика
Ответ на: комментарий от TheDeckardCain

При запуске ~/wine-7.10-staging-amd64/bin/wine он создал префикс ?

Он создал его в ~/newprefix, потому что так указано в переменной WINEPREFIX:

$ export WINEPREFIX=~/newprefix

Если ее не указывать, то будет использоваться стандартный префикс (~/.wine). Но для чистоты эксперимента лучше было новый префикс создать.

Kron4ek ★★★★★
()
Ответ на: комментарий от TheDeckardCain

А ты эту переменную не указывал? Тогда у тебя просто стандартный префикс обновился под эту версию Wine. При смене версий Wine префикс всегда автоматически обновляется.

Kron4ek ★★★★★
()
Ответ на: комментарий от Kron4ek

Нет, я не указывал. Просто запустил winefile.

Не совсем понимаю как работают префиксы в стандартном wine.

Выполнил

cd "/media/nikolay/ElementsLinux/Games/Medieval II Total War/Medieval 2 Total War"
export WINEPREFIX=~/newprefix
~/wine-7.10-staging-amd64/bin/wine medieval2.exe

Он создал новый префикс. Чёрный экран.

TheDeckardCain
() автор топика
Ответ на: комментарий от TheDeckardCain

Не совсем понимаю как работают префиксы в стандартном wine.

Да все довольно просто. Через переменную WINEPREFIX можно указывать, в каком месте создавать префикс. Через переменную WINEARCH можно указывать разрядность префикса (win32 или win64), но в данном случае это не нужно. И это ко всем Wine относится (и к Proton тоже), не только к стандартному.

Kron4ek ★★★★★
()
Ответ на: комментарий от Kron4ek

Я ещё раз повторил, опять чёрный экран. В точности всё повторил создал уже пяток префиксов. С удалением кеша и т.д.

TheDeckardCain
() автор топика
Ответ на: комментарий от TheDeckardCain

Я еще могу посоветовать через мой контейнер попробовать запустить, если у тебя есть желание. Собственно, допустим ты скачал мой conty_lite.sh и он у тебя лежит прямо в корне домашнего каталога, тогда игру вот так запускать:

$ chmod +x ~/conty_lite.sh
$ cd "/media/nikolay/ElementsLinux/Games/Medieval II Total War/Medieval 2 Total War"
$ export WINEPREFIX=~/newprefix
$ ~/conty_lite.sh wine medieval2.exe
Kron4ek ★★★★★
()
Ответ на: комментарий от Kron4ek

Это больше похоже на какую-то сатанистику, а не на точную вычислительную технику.

ВНИМАНИЕ, ничего не работает если запустить из каталога с вайном (то есть если зайти /home/nikolay/Загрузки/wine-7.10-staging-amd64/bin/wine)

/home/nikolay/Загрузки/wine-7.10-staging-amd64/bin/wine '/media/nikolay/ElementsLinux/Games/Medieval II Total War/Medieval 2 Total War/medieval2.exe'

Всё работает, если зайти в каталог игры и ввести ТАКУЮ ЖЕ КОМАНДУ

/home/nikolay/Загрузки/wine-7.10-staging-amd64/bin/wine '/media/nikolay/ElementsLinux/Games/Medieval II Total War/Medieval 2 Total War/medieval2.exe'

А ТЕПЕРЬ ВНИМАНИЕ ШОК. Первый раз у меня всё запустилось с использованием первого варианта, то есть я запускал winefile из каталога wine.

TheDeckardCain
() автор топика
Ответ на: комментарий от TheDeckardCain

Winefile, скорее всего, рабочий каталог меняет на тот, в который ты в нем заходишь, это все-таки файловый менеджер. А просто бинарник wine использует текущий рабочий каталог. Но все равно ты же через cd менял рабочий каталог на каталог с игрой, так что все равно странно получается.

Kron4ek ★★★★★
()
Последнее исправление: Kron4ek (всего исправлений: 1)
Ответ на: комментарий от Kron4ek

И я вижу что основной префикс обновился ? Во всяком случае интерфейс программ запускаемых ранее обновился. wine-7.10-staging-amd64 обновил стандартный префикс ? И теперь его использует системный wine ?

TheDeckardCain
() автор топика
Ответ на: комментарий от TheDeckardCain

Winefile - это файловый менеджер Wine. Собственно, при его запуске появляется окно файлового менеджера, и в нем ты уже выбираешь какой exe запускать. Вот в таком виде оно не должно работать:

winefile someexefile.exe

По крайней мере, я пробовал, оно у меня никакие exe так не запускает.

Kron4ek ★★★★★
()
Ответ на: комментарий от TheDeckardCain

Остаётся понять ЧТО ЗДЕСЬ НАХРЕН ПРОИСХОДИТ.

Действительно, при живой нативной версии - зачем этот пердолинг с вайном?

Turbid ★★★★★
()
Ответ на: комментарий от TheDeckardCain

wine-7.10-staging-amd64 обновил стандартный префикс ? И теперь его использует системный wine ?

Обновил, но твой системный Wine опять его под себя обновит, если ты его будешь использовать.

Kron4ek ★★★★★
()
Ответ на: комментарий от Kron4ek

Спасибо большое ! Огромное ! Я так понял export WINEPREFIX меняет дефолтный префикс ? Или создаёт дополнительный ? А просто указание WINEPREFIX=ПУТЬ_ДО_wineprefix wine .exe указывает какой префикс использовать ?

TheDeckardCain
() автор топика
Ответ на: комментарий от TheDeckardCain

Я так понял export WINEPREFIX меняет дефолтный префикс ? Или создаёт дополнительный ?

Оно указывает Wine путь до префикса. Если по указанному пути префикса нет, то Wine его там создаст. Если по этому пути уже есть префикс, то будет использоваться этот уже созданный префикс.

Естественно, эта переменная, как и любая другая, имеет силу только окружении, где ты ее выполняешь, ну то есть в текущем окне терминала или в шелл скрипте.

А просто указание WINEPREFIX=ПУТЬ_ДО_wineprefix wine .exe указывает какой префикс использовать ?

Да, можно и так.

Kron4ek ★★★★★
()
Ответ на: комментарий от Kron4ek

Решил опробовать новые знания. Запустил на чистом wine другую игру.

WINEPREFIX=~/RiseOfNations /media/nikolay/ElementsLinux/Soft/Linux/Wine/wine-7.10-staging-amd64/bin/wine ‘/media/nikolay/ElementsLinux/Games/Rise of nations/Rise of Nations Extended Edition/patriots.exe’

И опять такая же проблема. Запускается нормально только, если выполнить команду из каталога с игрой. В чём разница с запуском из каталога с вайном или любым другим ?!

TheDeckardCain
() автор топика
Ответ на: комментарий от TheDeckardCain

В чём разница с запуском из каталога с вайном или любым другим ?!

Разница буквально в рабочем каталоге. Если ты в каталоге Wine находишься, то он и является рабочим каталогом. Если в каталоге с игрой, то рабочий каталог - собственно, каталог с игрой. Некоторые игры ожидают, что рабочим каталогом является каталог с игрой и иначе просто не запускаются.

Ну то есть проще говоря, некоторые игры ищут свои файлы не там, где лежит их exe файл, а там где ты в данный момент находишься. Естественно, в каталоге Wine файлов игры нет, отсюда и проблемы с запуском.

Kron4ek ★★★★★
()
Последнее исправление: Kron4ek (всего исправлений: 1)
Ответ на: комментарий от TheDeckardCain

Иногда знает, иногда нет :) От игры зависит. Некоторые разрабочтики прописали в код смену рабочего каталога, а некоторые - нет. В итоге имеем то, что имеем.

Kron4ek ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.