Автор Тема: Wine каким то образом сломал мне графику(решено)  (Прочитано 3653 раз)

Оффлайн valobasoff

  • Давно тут
  • **
  • Сообщений: 399
Может быть раздел не верный, но так как словил проблему именно при запуске wine пишу сюда.
В общем захотелось мне поиграть в одну старую игру Caesar3, она 20 лет лежит у меня на харде, и помню играл неё на более старом Альте 5,6,7 не помню точно на каком. Там она просто запустилась без всяких танцев. Помню что пробовал запускать на более позднем дистрибутиве, и там уже "из коробки" не заработало. Более того по моему даже закончилось таким-же черным экраном. Вчера же, двойной клик на exe-шнике, привел к диалоговому окну, в котором предлагалось выбрать чем "открыть" файл. Ничего подходящего в списке  не найдя,  открыл терминал, сделал cd в папку с игрой и оттуда выполнил wine c3.exe. В выхлопе увидел ошибки, гугление подтолкнуло на установку драйвера i586-xorg-dri-radeon.
В итоге установились эти пакеты.
i586-llvm7.0-libs-7.0.1-alt4.rel
i586-libvdpau-1:1.3-alt1
i586-libelf-0.177-alt1
i586-libXvMC-1.0.11-alt1
i586-libXv-1.0.11-alt1
i586-xorg-dri-swrast-4:19.1.8-alt1.p9
i586-xorg-dri-radeon-4:19.1.8-alt1.p9
повторный запуск из терминала wine c3.exe привел к тому, что появился черный экран, на котором написано что "out of range". И всё бы ничего, но после выключения и включения компьютера кнопкой питания, появилось приветствие, а после авторизации снова "out of range" . Подоткнул другой моник, чуть поменьше, и и после перезагрузки всё зашло корректно. Удалил все пакеты что поставились, но на первом мониторе после загрузки по прежнему "out of range".
Первый моник 22" FHD, второй чуть поменьше 19" и разреешение 1440х90. В обоих случаях d-sub. ALT Education 9.0 (FalcoRusticolus) KDE5.
« Последнее редактирование: 05.05.2020 01:35:41 от valobasoff »

Оффлайн yaleks

  • Мастер
  • ***
  • Сообщений: 5 858
штатно надо ставить i586-libwine-gl.

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

Оффлайн valobasoff

  • Давно тут
  • **
  • Сообщений: 399
К сожалению так не работает, выбирал 1024х786 и  800х600 60 Гц. Режим включается, но при переподключении 1го монитора всё тот же "out of range", причем если переподключаю 2 монитор, он тоже ничего не показывает. Не знаю, может у него просто нет отображения "out of range". После перезагрузки и авторизации показывает выбранный в настройках ранее режим, но только на втором мониторе, на первом "out of range".

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 9 836
Вероятно где-то осталась запись.
Например Xfce после xfce4-display-settings оставляет их тут:
$ grep -r 1366 .config/xfce4/
.config/xfce4/xfconf/xfce-perchannel-xml/displays.xml:      <property name="Resolution" type="string" value="1366x768"/>
$ grep 'EDID\|Resolut\|Refresh' .config/xfce4/xfconf/xfce-perchannel-xml/displays.xml
      <property name="EDID" type="string" value="какойтоогромный"/>
      <property name="Resolution" type="string" value="1366x768"/>
      <property name="RefreshRate" type="double" value="60.004717"/>

Каким бы ни было разрешение в игре, KMS подхватит это разрешение на выходе из игры, если это разрешение/частота входят в список допустимых modes.

Если файл отсутствует в домашнем каталоге, он создаётся на входе в сессию xfce:
$ grep 'EDID\|Resolut\|Refresh' .config/xfce4/xfconf/xfce-perchannel-xml/displays.xml
$
$ grep . .config/xfce4/xfconf/xfce-perchannel-xml/displays.xml
<?xml version="1.0" encoding="UTF-8"?>
<channel name="displays" version="1.0">
  <property name="ActiveProfile" type="string" value="Default"/>
</channel>


Если частота для разрешения вне диапазона, то выдаст out of range
$ xrandr --verbose | sed -n '1,2p; 15p; 36,50p'
Screen 0: minimum 8 x 8, current 1366 x 768, maximum 32767 x 32767
eDP1 connected primary 1366x768+0+0 (0x49) normal (normal left inverted right x axis y axis) 340mm x 190mm
EDID:
               Extended Display Identification Data
                — стандарт формата данных VESA,
               который содержит базовую информацию
               о мониторе и его возможностях, включая
               информацию о производителе,
               максимальном размере изображения,
               цветовых характеристиках, заводских
               предустановленных таймингах,
               границах частотного диапазона,
               а также строках,
  1366x768 (0x49) 76.320MHz -HSync -VSync *current +preferred
        h: width  1366 start 1414 end 1446 total 1610 skew    0 clock  47.40KHz
        v: height  768 start  771 end  776 total  790           clock  60.00Hz
  1280x720 (0x4a) 74.500MHz -HSync +VSync
        h: width  1280 start 1344 end 1472 total 1664 skew    0 clock  44.77KHz
        v: height  720 start  723 end  728 total  748           clock  59.86Hz
  1280x720 (0x4b) 74.480MHz -HSync +VSync
        h: width  1280 start 1336 end 1472 total 1664 skew    0 clock  44.76KHz
        v: height  720 start  721 end  724 total  746           clock  60.00Hz
  1280x720 (0x4c) 63.750MHz +HSync -VSync
        h: width  1280 start 1328 end 1360 total 1440 skew    0 clock  44.27KHz
        v: height  720 start  723 end  728 total  741           clock  59.74Hz
  1024x768 (0x4d) 65.000MHz -HSync -VSync
        h: width  1024 start 1048 end 1184 total 1344 skew    0 clock  48.36KHz
        v: height  768 start  771 end  777 total  806           clock  60.00Hz
и т.д.


К сожалению так не работает, выбирал 1024х786 и  800х600 60 Гц. Режим включается, но при переподключении 1го монитора всё тот же "out of range",

Потому что EDID и modes одного монитора, а подключаете другой.
Как и сказал yaleks, вероятно где-то (в хомяке?) хранятся modes по EDID монитора. Ищите этот файл по аналогии.
« Последнее редактирование: 24.04.2020 06:14:05 от Speccyfighter »

Оффлайн valobasoff

  • Давно тут
  • **
  • Сообщений: 399
Так и не смог найти куда прописались настройки от WINE. Нельзя как нибудь через ssh подключится  к компьютеру с out of range и принудительно поменять разрешение\частоту, чтобы потом в настройках кде изменить значение непосредственно на самой машине?
Пробовал
xrandr --output DP-1 --mode 1024x768_60.00  #xrand на втором монике показывает что d-sub видится как DP-1, хотя DP отсутствует на материнке.
No protocol specified
Can't open display :0
$ export DISPLAY=:0
не помогает((
UPD. Если захожу под гостем то всё прекрасно работает на первом мониторе, значит проблема где-то в профиле пользователя.
« Последнее редактирование: 02.05.2020 15:43:24 от valobasoff »

Оффлайн valobasoff

  • Давно тут
  • **
  • Сообщений: 399
Наконец-то решил проблему, пусть и колхозно, и вернулся к первому монитору.
Открыл терминал на старом мониторе, набрал команду xrandr --output DP-1 --mode 1024x768, выполнил её(чтобы проверить её работоспособность), снова набрал, переподключил старый монитор, получил "out of range" нажал Enter, и увидел картинку. Далее перешел в настройки KDE и выставил 1920х1080 60Гц.
Спасибо всем участникам!
« Последнее редактирование: 05.05.2020 01:37:06 от valobasoff »