Resizing an Xvfb display
Asked Answered
S

2

26

Simple Question: Is there a way to resize a Xvfb display?

I tried with RandR but it seems that the RandR extension is not supported by Xvfb. Are there other ways to resize the screen?

Thanks for your help!

Swarthy answered 15/6, 2011 at 10:14 Comment(1)
Related: Changing Xvfb frame buffer resolution while it's runningGraniteware
C
28

You can use the server-args command line argument to specify a custom resolution for the virtual frame buffer being created, but this does not change the resolution of an existing virtual frame buffer:

xvfb-run --server-args="-screen 0, 1024x768x24" ...
Constancy answered 9/9, 2011 at 11:29 Comment(4)
How to change existing virtual frame buffer then?Sulphate
I'm not sure about that.Constancy
@totaam ah yes, it has been marked as off-topic. In short, run Xvfb :1 -screen 0 100x100x16 -fbdir /tmp and you will have Xvfb_screen0 binary file in /tmp. This file, however, does not work same way as /dev/fb0 and running sudo fbset -fb /tmp/Xvfb_screen0 -xres 500 -yres 500 gives an error ioctl FBIOGET_VSCREENINFO: Inappropriate ioctl for device. Question was: "Is there any way to change running Xvfb server resolution"?Sulphate
@Sulphate my answer above does just that. Don't use fbset on a vfb, you have to use xrandr.Alienor
A
7

Most distributions now ship a version of Xvfb with randr support. The code was committed in late 2015 vfb: add randr support (v2).

To resize you will first need to define a new mode (you can use tools like gtf to get the modeline definition values), add it to the virtual output, and then you can switch to it.

ie for 1280x1024:

xrandr --newmode "1280x1024"  109.00  1280 1368 1496 1712  1024 1027 1034 1063 -hsync +vsync
xrandr --addmode screen 1280x1024
xrandr -s 1280x1024
Alienor answered 19/9, 2017 at 8:35 Comment(2)
Hey @Alienor - sorry to resurrect this, but I'm trying to follow these steps and the xrandr --newmode doesn't seem to have any effect (no output / errors, and no modes added). Is there any way you know of to get more verbose output from the --newmode command? More details here if you're curious: gitlab.freedesktop.org/xorg/app/xrandr/-/issues/67Ramp
Just stumbled upon this issue of Xvfb not accepting xrandr changes. To avoid the problem, make sure to run Xfvb process with RANDR extension as explained here: https://mcmap.net/q/443792/-how-to-add-the-missing-randr-extensionJoletta

© 2022 - 2024 — McMap. All rights reserved.