我怎样才能找出帧缓冲区中使用的每像素位数?

我怎样才能找出帧缓冲区中使用的每像素位数?

我知道 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属性列出了支持的位深度,第一个数字表示当前的位深度。

相关内容