[Xcb] How can I increase the maximum request length?

paul ewing pcewing at outlook.com
Sat Jan 19 02:51:58 UTC 2019

Ah, I think the previous email I linked to may have simply been wrong. It
states that BIG-REQUESTS increases the max request size to 16GB from 256KB but
I think the maximum is actually only 16MB.

I'll split up the image in the application code for now and see if I can come
up with a clean implementation before submitting a pull request to xcb.

Thanks for the help Bart!

From: Bart Massey <bart at cs.pdx.edu>
Sent: Friday, January 18, 2019 5:39 PM
To: paul ewing
Cc: xcb at lists.freedesktop.org
Subject: Re: [Xcb] How can I increase the maximum request length?

Offhand, looks like your bigger display is too big to use a single PutImage request even with BIG-REQUESTS enabled. Looks like xcb_image_put() doesn't break the request into pieces for you (maybe it should? pull requests welcome) so you'll have to put the image a piece at a time: break it into bands and use the y offset.

On Fri, Jan 18, 2019 at 2:29 PM paul ewing <pcewing at outlook.com<mailto:pcewing at outlook.com>> wrote:

I am running into an issue with xcb_image_put failing. The cookie being
returned has a sequence number of 0. After reading the following thread from
this mailing list I believe it's due to my maximum request size being too low:


The reason I suspect this is that the code in question is being used to set the
root pixmap (I.E. Set the wallpaper) and works on one machine where the display
(And thus the image) is 1920x1080, but fails on another machine with a
3440x1440 display.

As the documentation mentions, the request size is actually the number of 4
byte blocks. The image data size should be the pixel count multiplied by the
bytes per pixel (4 in my case), so it would make sense that the first case
would succeed and the second would fail:
- (1920*1080*4)/4 => 2073600 < 4194303  OKAY
- (3440*1440*4)/4 => 4953600 > 4194303  ERROR

I verified via xdpyinfo that the BIG-REQUESTS extension is present and also
tried manually running xcb_big_requests_enable and
xcb_big_requests_enable_reply, which returned without an error.

Even still, the result of xcb_get_maximum_request_length is 4194303.

Is there something I need to do to manually increase the maximum request

Paul Ewing
Xcb mailing list
Xcb at lists.freedesktop.org<mailto:Xcb at lists.freedesktop.org>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/xcb/attachments/20190119/876c07e6/attachment.html>

More information about the Xcb mailing list