Editing FrameBuffer does not affect the screen in any way

I seem unable to cause any changes to the display by writing to the screen buffer.
This command should fill the screen with random pixels, but the result is shown below with no changes seen.

# cat /dev/urandom > /dev/fb0
cat: write error: No space left on device

The framebuffer variable is set to /dev/fb0, so I am stuck for how to do this.

I have included the result of fbset -i, as it is the most relevant info I could find.

~ fbset -i

mode "1920x1080"
    geometry 1920 1080 1920 1080 32
    timings 0 0 0 0 0 0 0
    accel true
    rgba 8/16,8/8,8/0,0/0

Frame buffer device information:
    Name        : i915drmfb
    Address     : (nil)
    Size        : 8294400
    Type        : PACKED PIXELS
    Visual      : TRUECOLOR
    XPanStep    : 1
    YPanStep    : 1
    YWrapStep   : 0
    LineLength  : 7680
    Accelerator : No

I guess X or Wayland (or the compositor) fill the framebuffer at all times, so it’s always full.

You should try it from a TTY.

Using cat to do the same command in a TTY yields the same message, but the result is as intended - as in the screen is filled with noise. dd seems to avoid the disk being full message, and produces the same result in the TTY. None of these appear to work in the desktop environment.