linux启动 向内核传递的参数VGA值如何设定?

linux启动 向内核传递的参数VGA值如何设定?,第1张

vga只能支持标准的分辨率640x480,800x600,1024x768,1280x1024等。支持宽屏的话需要重新编译内核,加入vesafb-tng或者uvesafb的支持,这样就可以使用1280x800了.这个是gentoo的可以看看 http://dev.gentoo.org/~spock/projects/uvesafb/

你好,楼主:

RandR是对X11的一个扩展协议,允许在不重启X的情况下修改输出的一些参数并使之生效,xrandr是该协议的命令行界面,它的功能之一就是用来设置双屏显示

缺省情况下,外接显示器後启用的是屏幕复制模式,即两个屏幕显示完全相同的内容。使用命令xrandr -q查看当前的输出状态:

Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192 LVDS1 connected 1280x800+0+0 (normal left inverted right x axis y axis) 261mm x 163mm 1280x800 60.0+ 60.0 50.0

1024x768 75.1 70.1 60.0

800x600 72.2 75.0 60.3 56.2

768x576 75.0 72.0 60.0

640x480 72.8 75.0 60.0 59.9

VGA1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 509mm x 286mm 1920x1080 60.0+ 1680x1050 60.0

1280x1024 75.0 60.0

1440x900 59.9

1280x960 60.0

1024x768 75.1 70.1 60.0

832x624 74.6

800x600 72.2 75.0 60.3 56.2

640x480 72.8 75.0 66.7 60.0

720x400 70.1

HDMI1 disconnected (normal left inverted right x axis y axis) DP1 disconnected (normal left inverted right x axis y axis) HDMI2 disconnected (normal left inverted right x axis y axis) DP2 disconnected (normal left inverted right x axis y axis) DP3 disconnected (normal left inverted right x axis y axis)

可见,笔记本电脑的屏幕输出(LVDS1)的显示分辨率是1280x800,外接显示器的输出(VGA1)的分辨率是1920x1080。两个输出在整个虚拟屏幕(名称:Screen 0;当前大小:1920x1080;最大:8192x8192)上的坐标都是+0+0。所以在外接显示器中可以看到屏幕左上角有一个1280x800分辨率的小屏幕。

屏幕复制模式最常用於外接投影仪,现在我需要两个屏幕分别显示在各自的显示器中,并在两个屏幕中显示不同的内容(也就是Windows下设置双屏显示时选择的扩展模式)。

由於我将笔记本电脑放在外接显示器的左边,所以为了 *** 作的自然,使用命令xrandr --output VGA1 --right-of LVDS1将外接显示器的输出在虚拟屏幕上的位置设置在笔记本电脑的输出的右边,示意图如下:

这样,两个显示器中就可以显示不同的内容了。由於属於同一个虚拟屏幕,当然也可以将一个窗口跨过边界从一个显示器拖到另一个显示器中。再使用命令xrandr -q查看现在的输出状态:

Screen 0: minimum 320 x 200, current 3200 x 1080, maximum 8192 x 8192 LVDS1 connected 1280x800+0+0 (normal left inverted right x axis y axis) 261mm x 163mm 1280x800 60.0+ 60.0 50.0

1024x768 75.1 70.1 60.0

800x600 72.2 75.0 60.3 56.2

768x576 75.0 72.0 60.0

640x480 72.8 75.0 60.0 59.9

VGA1 connected 1920x1080+1280+0 (normal left inverted right x axis y axis) 509mm x 286mm 1920x1080 60.0+ 1680x1050 60.0

1280x1024 75.0 60.0

1440x900 59.9

1280x960 60.0

1024x768 75.1 70.1 60.0

832x624 74.6

800x600 72.2 75.0 60.3 56.2

640x480 72.8 75.0 66.7 60.0

720x400 70.1

HDMI1 disconnected (normal left inverted right x axis y axis) DP1 disconnected (normal left inverted right x axis y axis) HDMI2 disconnected (normal left inverted right x axis y axis) DP2 disconnected (normal left inverted right x axis y axis) DP3 disconnected (normal left inverted right x axis y axis)

使用xrandr做的设置只对当前的X会话有效,重启後恢复原样。使设置持久化的方法为修改xorg.conf或设置自动执行命令。据说有一些图形界面封装的xrandr的前端,完善的桌面环境如GNOME和KDE应该也是可以在图形界面中设置的,不过我所使用的XFCE目前似乎只能启用/禁用复制模式,而不支持在图形界面中设置扩展模式。

下面的脚本用来简化双屏显示的设置:

#!/bin/bash

# Restart trayer and cairo-dock which I use on my desktop

restart_widget()

{

killall trayer

killall cairo-dock

# Another script which starts trayer and set some options

mytrayer

cairo-dock &

}

set_dualhead()

{

xrandr --output LVDS1 --auto

xrandr --output VGA1 --auto

xrandr --output VGA1 --right-of LVDS1

restart_widget

}

set_lvds()

{

xrandr --output VGA1 --off

xrandr --output LVDS1 --auto

restart_widget

}

set_vga()

{

xrandr --output LVDS1 --off

xrandr --output VGA1 --auto

restart_widget

}

if [ $# -eq 0 ]then

set_dualhead

exit

fi

case "$1x" in

"lvdsx") set_lvds

"vgax") set_vga

*) echo 'Unknown parameter !'

esac


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7423583.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存