Changing wpe-webkit-mir-kiosk default browser

Hi. I use ubuntu 22.04 server version as os and i setup wpe-webkit-mir-kiosk on it successfully but it’s rendering is very slow. I use raspberry pi 4 B with 8G memory. I think that maybe changing the default browser will solve the slowness problem.How can i change default browser of wpe-webkit-mir-kiosk? @tobias

Hi @majidkakavandi, I’m not sure I understand what you want to do. The wpe-webkit-mir-kiosk snap provides one browser, WPE WebKit with the cog single-window launcher. The snap does not ship any other browsers.

Are you using the ubuntu-frame snap as well? Please check if the mesa-core20 snap is available and connected (snap connections wpe-webkit-mir-kiosk`), as this one ships graphics drivers etc.

Which rendering issues do you see in particular?

Thanks @tobias for your quick reply. I just did the following commands to install it. I don’t know if these are enough?

sudo snap install ubuntu-frame
sudo snap set ubuntu-frame daemon=true
sudo sed -i 's/dtoverlay=dwc2/dtoverlay=vc4-kms-v3d-pi4/g' /boot/firmware/config.txt
sudo snap install wpe-webkit-mir-kiosk
sudo snap connect wpe-webkit-mir-kiosk:wayland
sudo snap set wpe-webkit-mir-kiosk daemon=true 
sudo snap set wpe-webkit-mir-kiosk url=http://localhost
sudo snap start wpe-webkit-mir-kiosk
sudo snap set wpe-webkit-mir-kiosk cursor=software

how can i check mesa-core20 is available and connected? So according to your explanation, I can’t use another browser like chromium in wpe-webkit-mir-kiosk?


  1. To check for mesa-core20:

snap connections wpe-webkit-mir-kiosk output should contain a line

content[graphics-core20]  wpe-webkit-mir-kiosk:graphics-core20   mesa-core20:graphics-core20 
  1. wpe-webkit-mir-kiosk ships a single browser, which is WPE WebKit. If you want Chromium, you should install the chromium snap :slight_smile: I don’t know if Chromium is optimized for kiosk-style usage (fullscreen, control via DBus etc.)

As for your issue: I see you set the vc4-kms-v3d-pi4 graphics driver in config.txt. Please try the vc4-fkms-v3d driver instead.

@tobias output of snap connections wpe-webkit-mir-kiosk is:

Interface                 Plug                                   Slot                              Notes
audio-playback            wpe-webkit-mir-kiosk:audio-playback    :audio-playback                   -
avahi-observe             wpe-webkit-mir-kiosk:avahi-observe     -                                 -
content[graphics-core20]  wpe-webkit-mir-kiosk:graphics-core20   mesa-core20:graphics-core20       -
dbus                      -                                      wpe-webkit-mir-kiosk:dbus-cogctl  -
hardware-observe          wpe-webkit-mir-kiosk:hardware-observe  -                                 -
hostname-control          wpe-webkit-mir-kiosk:hostname-control  -                                 -
network                   wpe-webkit-mir-kiosk:network           :network                          -
network-bind              wpe-webkit-mir-kiosk:network-bind      :network-bind                     -
network-manager           wpe-webkit-mir-kiosk:network-manager   -                                 -
opengl                    wpe-webkit-mir-kiosk:opengl            :opengl                           -
process-control           wpe-webkit-mir-kiosk:process-control   -                                 -
system-observe            wpe-webkit-mir-kiosk:system-observe    -                                 -
upower-observe            wpe-webkit-mir-kiosk:upower-observe    :upower-observe                   -
wayland                   wpe-webkit-mir-kiosk:wayland           :wayland                          manual

Also i changed dtoverlay value from vc4-kms-v3d-pi4 to vc4-kms-v3d but i dont see any different. Is it possible that this slowness is due to using ubuntu 22.04 server os?

Sorry, autocorrect dropped the f there: please test the vc4-fkms-v3d overlay – note the additional f for “fake kms”.

Based on your point, the file will be like this:

initramfs initrd.img followkernel


# Enable the audio output, I2C and SPI interfaces on the GPIO header. As these
# parameters related to the base device-tree they must appear *before* any
# other dtoverlay= specification
# Comment out the following line if the edges of the desktop appear outside
# the edges of your display

# If you have issues with audio, you may try uncommenting the following line
# which forces the HDMI output into HDMI mode instead of DVI (which doesn't
# support audio output)

# Enable the serial pins

# Autoload overlays for any recognized cameras or displays that are attached
# to the CSI/DSI ports. Please note this is for libcamera support, *not* for
# the legacy camera stack

# Config settings specific to arm64
# Enable the USB2 outputs on the IO board (assuming your CM4 is plugged into
# such a board)


is that right? Unfortunately, I don’t feel the speed increase in rendering.

Looks correct, though you should remove the last line for GPU memory (gpu_mem), see the warning at

What’s on the page that renders slowly? Heavy video content, 3D animations …? Best would be to share a link if it’s publicly available.