Всем здравствуйте.
Есть ноутбук с одной встроенной и одной внешней («дискретной») видеокартой:
$ xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x7d cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 4 outputs: 5 associated providers: 1 name:Intel
Provider 1: id: 0x54 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 5 outputs: 0 associated providers: 1 name:POLARIS11 @ pci:0000:01:00.0
$ glxinfo | grep -F 'OpenGL renderer'
OpenGL renderer string: Mesa DRI Intel(R) Kabylake GT2
$ DRI_PRIME=1 glxinfo | grep -F 'OpenGL renderer'
OpenGL renderer string: Gallium 0.4 on AMD POLARIS11 (DRM 3.27.0 / 4.19.0-0.bpo.6-amd64, LLVM 3.9.1)
У этого ноутбука есть один встроенный (1920x1080) и один внешний монитор (3840x2160).
Так вот проблема в том, что ни один из движков quake
(quakespasm
, darkplaces
) я не могу включить в разрешении, отличном от «родного» разрешения монитора (4k для внешнего либо 1080p для встроенного).
Причём независимо от того, добавляю ли я ключи командной строки (-width 640 -height 480
) либо предварительно переключаю монитор в более низкое разрешение (через lxrandr
или arandr
) – я вижу либо искажённую картинку, либо серый экран. Поведение не зависит от используемого движка quake.
Как лечить?