我知道 X.org 服务器运行是以特定的 bpp 值执行的,我认为默认是 8bpp。
但是当我在 Linux 上时,如何才能找出帧缓冲区中使用的每像素实际位数?有没有什么命令可以得到它?
谢谢。
答案1
在终端中,运行xwininfo
命令,然后选择一个窗口 -Depth:
结果是每像素的位数。例如:
$ xwininfo
xwininfo: Please select the window about which you
would like information by clicking the
mouse in that window.
xwininfo: Window id: 0x3e00005 "davidp@sysadmin: ~"
Absolute upper-left X: 1920
Absolute upper-left Y: 24
Relative upper-left X: 0
Relative upper-left Y: 0
Width: 1920
Height: 1056
Depth: 32
Visual: 0x74
Visual Class: TrueColor
Border width: 0
Class: InputOutput
Colormap: 0x3e00004 (not installed)
Bit Gravity State: NorthWestGravity
Window Gravity State: NorthWestGravity
Backing Store State: NotUseful
Save Under State: no
Map State: IsViewable
Override Redirect State: no
Corners: +1920+24 -0+24 -0-0 +1920-0
-geometry 212x56-0-0
您还可以使用xdpyinfo
,它将为您提供比您可能想要的更多信息 - 包括显示器的所有可用位深度(但不显示哪一个实际正在使用)。
答案2
由于我缺乏声誉来对 David Purdue 的回答发表评论,因此添加答案。
正如 David 提到的,xdpyinfo
可以使用。 比 的优点xwininfo
在于您不需要选择窗口,这在您检查使用 创建的虚拟帧缓冲区时非常方便Xvfb
。
以下是该命令相关输出的片段xdpyinfo
:
....
screen #0:
dimensions: 1024x768 pixels (260x195 millimeters)
resolution: 100x100 dots per inch
depths (6): 8, 1, 4, 16, 24, 32
root window id: 0x4d
depth of root window: 8 planes
number of colormaps: minimum 1, maximum 1
default colormap: 0x20
....
反映depth of root window
根窗口的位深度,在此示例中为 8 位。
该depths
属性列出了支持的位深度,第一个数字表示当前的位深度。