首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Xorg增加虚拟屏幕大小超过8192 x 8192

Xorg增加虚拟屏幕大小超过8192 x 8192
EN

Stack Overflow用户
提问于 2017-10-04 16:13:54
回答 1查看 3K关注 0票数 7

我有一个4K显示器(3840x2160)和两个QHD显示器(2560x1440),我想让他们并排。但是,这目前是不可能的,因为这需要8960像素(3840+2560+2560)的水平虚拟分辨率,但是X服务器设置的最大(水平)虚拟分辨率是8192像素。有没有办法提高最大虚拟分辨率超过8192 x 8192像素?

我试过的是:

  • 我没有xorg.conf文件--我自己手动创建了一个文件,包括"Display"子部分,并在其中设置了一个不同的"Virtual"值,重新启动,没有什么改变。
  • 尝试各种xrandr命令变体,并将--fb和/或--panning参数设置为所需的最大值(8960x2160+0+0),但同样没有效果。(输出:xrandr: screen cannot be larger than 8192x8192 (desired size 8960x2160))

我确实在某个地方读到过一篇文章(编辑: 这里),说英特尔的图形处理器不支持比8192 x8192像素更高的虚拟屏幕分辨率(我的系统使用的是Core i7-6700HQ CPU和Intel HD Graphics 530图形处理器),但不幸的是,我一直无法证实这些信息--但愿事实并非如此。

编辑:--事实可能并非如此:

代码语言:javascript
运行
复制
#: glxinfo -l | grep GL_MAX_TEXTURE_SIZE
GL_MAX_TEXTURE_SIZE = 16384
GL_MAX_TEXTURE_SIZE = 16384

我的xrandr输出(我目前的第三个监视器位于右下角,因此是8192x3600虚拟屏幕分辨率):

代码语言:javascript
运行
复制
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)
EN

回答 1

Stack Overflow用户

发布于 2018-11-14 17:50:25

我能够通过以下步骤修复这个问题,以生成和修改xorg.conf文件并将其放入/etc/X11/xorg.conf中。

我在使用gnome-session-fallback的Ubuntu16.04上使用了metacity,每当我试图实现全部三种分辨率时,我都会遇到一个关于虚拟大小的错误,无法通过8192x8192

我不确定你在gnome unity metacity上是否重要。

在重新启动之前-生成一个xorg.conf.new文件。

代码语言:javascript
运行
复制
$ 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,无论生成什么。

代码语言:javascript
运行
复制
Monitor 1: 3840x2160 x 32 in
Monitor 2: 3840x2160 x 32 in
Monitor 3: 1920x1080 x 22 in

检查你的glx是否可以处理8192x8192以上,如果你需要它超过这个大小。

代码语言:javascript
运行
复制
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中添加大小

代码语言:javascript
运行
复制
sudo nano ~/xorg.conf.new

Display分节下加上Depthof 24,在两节中加上Virtual 16384

代码语言:javascript
运行
复制
 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,然后重新启动。

代码语言:javascript
运行
复制
  sudo cp /home/user/xorg.conf.new /etc/X11/xorg.conf # Modify user
  sudo shutdown -r now

当您重新登录时,请将监视器设置为gnomemetacityunity或任何您使用的内容。

更新:

重新启动、注销或解锁后,我发现监视器设置没有保存。

这个可能的gnome问题可能与此bug有关:

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

此修复是从此帖子中的多个答案的部分内容中找到的:

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

我更喜欢从终端运行这个脚本,因为我在登录后第一次打开一个。

第一次使用错误的配置登录-监视器没有正确放置:

代码语言:javascript
运行
复制
cd ~/.config
mv ~/.config/monitors.xml{,.bak}

现在,用系统设置设置监视器,以创建一个具有适当设置的新~/.config/monitors.xml文件。

复制尼古拉斯伯纳茨的固定脚本从我的回购:https://raw.githubusercontent.com/alextomko/monitors/master/monitors,并将它放在一个路径运行从终端。

代码语言:javascript
运行
复制
$ 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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46569550

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档