Xorg увеличивает размер виртуального экрана после 8192 x 8192

У меня есть один монитор 4K (3840 x 2160) и два монитора QHD (2560 x 1440), и я хочу, чтобы они были рядом. Однако в настоящее время это невозможно, поскольку для этого требуется горизонтальное виртуальное разрешение 8960 пикселей (3840+2560+2560), но максимальное (горизонтальное) виртуальное разрешение, установленное X-сервером, составляет 8192 пикселей. Есть ли способ увеличить максимальное виртуальное разрешение за 8192x8192 пикселей?

Что я пробовал до сих пор:

  • у меня нет xorg.conf файл - я пытался создать его самостоятельно, включая "Display" подраздел и настройка другого "Virtual" значение там, перезагружено, ничего не изменилось.
  • Пробовал разные xrandr Варианты команд с --fb и / или --panning параметры установлены на желаемый максимум (8960x2160+0+0) опять безрезультатно. (выход: xrandr: screen cannot be larger than 8192x8192 (desired size 8960x2160))

Я где-то читал утверждение (РЕДАКТИРОВАТЬ: здесь), что графические процессоры Intel не поддерживают большее разрешение виртуальных экранов, чем 8192x8192 пикселей (моя система использует Core i7-6700HQ ЦП с Intel HD Graphics 530 графический процессор), но я, к сожалению, не смог подтвердить эту информацию - надеюсь, это не так.

РЕДАКТИРОВАТЬ: Это действительно, вероятно, не так:

#: glxinfo -l | grep GL_MAX_TEXTURE_SIZE
GL_MAX_TEXTURE_SIZE = 16384
GL_MAX_TEXTURE_SIZE = 16384

Мой вывод xrandr (в настоящее время третий монитор расположен справа внизу, следовательно, разрешение виртуального экрана 8192x3600):

Screen 0: minimum 320 x 200, current 8192 x 3600, maximum 8192 x 8192
eDP-1 connected primary 3840x2160+2560+0 (normal left inverted right x axis y axis) 346mm x 194mm
3840x2160     60.00*+
2048x1536     60.00
1920x1440     60.00
1856x1392     60.01
1792x1344     60.01
1600x1200     60.00
1400x1050     59.98
1280x1024     60.02
1280x960      60.00
1024x768      60.04    60.00
960x720       60.00
928x696       60.05
896x672       60.01
800x600       60.00    60.32    56.25
700x525       59.98
640x512       60.02
640x480       60.00    59.94
512x384       60.00
400x300       60.32    56.34
320x240       60.05
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-1 connected 2560x1440+4519+2160 (normal left inverted right x axis y axis) 527mm x 296mm
2560x1440     59.95*+
2048x1152     59.90
1920x1200     59.95
1920x1080     60.00    50.00    59.94    24.00    23.98
1920x1080i    60.00    50.00    59.94
1600x1200     60.00
1680x1050     59.88
1280x1024     75.02    60.02
1280x800      59.91
1152x864      75.00
1280x720      60.00    50.00    59.94
1024x768      75.03    60.00
800x600       75.00    60.32
720x576       50.00
720x576i      50.00
720x480       60.00    59.94
720x480i      60.00    59.94
640x480       75.00    60.00    59.94
720x400       70.08
DP-2 connected 2560x1440+0+285 (normal left inverted right x axis y axis) 597mm x 336mm
2560x1440     59.95*+
1280x720      59.86
HDMI-2 disconnected (normal left inverted right x axis y axis)

1 ответ

Мне удалось исправить это с помощью следующих шагов, чтобы создать и изменить xorg.conf файл и положить его в /etc/X11/xorg.conf,

Я на Ubuntu 16.04 с gnome-session-fallback с помощью metacity и всякий раз, когда я пытался сделать все три полных разрешения, я получал ошибку о виртуальном размере, который не мог пройти 8192x8192,

Я не уверен, что это будет иметь значение, если вы на gnomeunitymetacity или нет.

Перед перезагрузкой - создайте xorg.conf.new файл.

$ sudo X :2 -configure 
# will make a file /home/$USER/xorg.conf.new or ~/xorg.conf.new

$ cat ~/xorg.conf.new |grep Screen|more
Screen      0  "Screen0" 0 0
Screen      1  "Screen1" RightOf "Screen0"
Section "Screen"
Identifier "Screen0"
Section "Screen"
Identifier "Screen1"

У меня два Screen Sections например, и я пытаюсь использовать 3 монитора - я не думаю, что вам нужно три Screen Sections что бы ни генерировалось.

Monitor 1: 3840x2160 x 32 in
Monitor 2: 3840x2160 x 32 in
Monitor 3: 1920x1080 x 22 in

Убедитесь, что ваш GLX может справиться с выше 8192x8192 если вам нужно это выше этого размера.

glxinfo -l | grep GL_MAX_TEXTURE_SIZE
GL_MAX_TEXTURE_SIZE = 16384
GL_MAX_TEXTURE_SIZE = 16384

Изменить xorg.conf.new файл в вашем /home/username каталог и добавьте размер из glxinfo команда Virtual 16384

sudo nano ~/xorg.conf.new

Подраздел Display с Depth24 в обоих разделах Screen добавлять Virtual 16384

 Section "Screen"
 Identifier "Screen0"
 Device     "Card0"
 Monitor    "Monitor0"
 SubSection "Display"
    Viewport   0 0
    Depth     1
 EndSubSection
SubSection "Display"
    Viewport   0 0
    Depth     4
EndSubSection
SubSection "Display"
    Viewport   0 0
    Depth     8
EndSubSection
SubSection "Display"
    Viewport   0 0
    Depth     15
EndSubSection
SubSection "Display"
    Viewport   0 0
    Depth     16
EndSubSection
SubSection "Display"
    Viewport   0 0
    Depth     24
    Virtual 16384 16384  <-- ADD THIS.
 EndSubSection
 EndSection

 Section "Screen"
 Identifier "Screen1"
 Device     "Card1"
 Monitor    "Monitor1"
 SubSection "Display"
    Viewport   0 0
    Depth     1
 EndSubSection
SubSection "Display"
    Viewport   0 0
    Depth     4
EndSubSection
SubSection "Display"
    Viewport   0 0
    Depth     8
EndSubSection
SubSection "Display"
    Viewport   0 0
    Depth     15
EndSubSection
SubSection "Display"
    Viewport   0 0
    Depth     16
EndSubSection
SubSection "Display"
    Viewport   0 0
    Depth     24
    Virtual 16384 16384 <-- ADD THIS.
 EndSubSection
 EndSection

Скопируйте xorg.xonf.new в /etc/X11/xorg.conf затем перезагрузите компьютер.

  sudo cp /home/user/xorg.conf.new /etc/X11/xorg.conf # Modify user
  sudo shutdown -r now

При повторном входе установите мониторы в gnome, metacity или же unity или что вы используете.

Обновить:

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

Это возможно gnome Проблема может быть связана с этой ошибкой:

https://bugs.launchpad.net/ubuntu/+source/gnome-shell/+bug/1292398

Это исправление было найдено из частей нескольких ответов в этой публикации:

https://askubuntu.com/questions/6137/saving-monitor-settings

Я предпочитаю запускать этот скрипт из терминала, так как сначала открываю один после входа в систему.

Первый вход в систему с неверной конфигурацией - мониторы размещены неправильно:

cd ~/.config
mv ~/.config/monitors.xml{,.bak}

Теперь установите ваши мониторы с настройками системы, чтобы создать новый ~/.config/monitors.xml файл с правильными настройками.

Скопируйте исправленный сценарий Николя Бернаертса из моего репозитория: https://raw.githubusercontent.com/alextomko/monitors/master/monitors и поместите его в путь для запуска из терминала.

$ ls -l ~/bin
# if you don't have this directory then create it - do not be logged in as root here.

$ mkdir /home/$USER/bin

$ echo $PATH
# should show /home/username/bin if the dir existed or if you had to create.

$ wget -P ~/bin https://raw.githubusercontent.com/alextomko/monitors/master/monitors
$ chmod +x ~/bin/monitors


# Log out, lock, reboot or whatever it takes to make monitor settings lost for you and run the script.
$ monitors
Другие вопросы по тегам