HOWTO: Run your IoT GUI on your desktop

I tried the steps in the first post, but I get an error when I try fake-kiosk mir-kiosk. Any ideas? I’m in the Ubuntu derivative Pop_os.

Output:

~ ❯ ./fake-kiosk.sh mir-kiosk
+ kiosk=mir-kiosk
+ sudo mir-kiosk --help
+ true
+ sudo cp /run/user/1000/gdm/Xauthority /root/snap/mir-kiosk/current/.Xauthority
+ XAUTHORITY=/root/snap/mir-kiosk/current/.Xauthority exec sudo mir-kiosk
2021/12/11 12:59:22.939255 cmd_run.go:597: WARNING: XAUTHORITY environment value is not a clean path: "/root/snap/mir-kiosk/7805/.Xauthority"
+ mkdir -p /root/snap/mir-kiosk/7805/.config/
+ grep -vE (^vt=|^console-provider=vt|^display-layout=) /var/snap/mir-kiosk/7805/miral-kiosk.config
+ exec /snap/mir-kiosk/7805/bin/run-miral
[2021-12-11 20:59:22.969709] <information> mirserver: Starting
[2021-12-11 20:59:22.974714] < - debug - > mirserver: Not trying logind: "DISPLAY" is set and X need not have claimed the VT
[2021-12-11 20:59:22.974780] < - debug - > mirserver: Not using Linux VT subsystem for session management: Failed to open current VT
[2021-12-11 20:59:22.974873] < - debug - > mirserver: No session management supported
[2021-12-11 20:59:22.976986] <information> VT switch key handler: No VT switching support available: MinimalConsoleServices does not support VT switching
[2021-12-11 20:59:22.979792] <information> mircommon: Loading modules from: /snap/mir-kiosk/7805/usr/lib/x86_64-linux-gnu/mir/server-platform
[2021-12-11 20:59:22.979812] <information> mircommon: Loading module: /snap/mir-kiosk/7805/usr/lib/x86_64-linux-gnu/mir/server-platform/graphics-gbm-kms.so.19
[2021-12-11 20:59:22.979819] <information> mircommon: Loading module: /snap/mir-kiosk/7805/usr/lib/x86_64-linux-gnu/mir/server-platform/server-x11.so.19
[2021-12-11 20:59:22.979823] <information> mircommon: Loading module: /snap/mir-kiosk/7805/usr/lib/x86_64-linux-gnu/mir/server-platform/input-evdev.so.8
[2021-12-11 20:59:22.990642] < - debug - > gbm-kms: Quirks: checking device with devnode: /dev/dri/card1, driver nvidia
[2021-12-11 20:59:22.990755] <information> mirserver: Found graphics driver: mir:gbm-kms (version 2.5.0) Support priority: 256
[2021-12-11 20:59:23.006182] <information> mirserver: Found graphics driver: mir:x11 (version 2.5.0) Support priority: 192
[2021-12-11 20:59:23.006217] <information> mirserver: Selected driver: mir:gbm-kms (version 2.5.0)
[2021-12-11 20:59:23.006418] < - debug - > gbm-kms: Quirks: checking device with devnode: /dev/dri/card1, driver nvidia
[2021-12-11 20:59:23.006460] <information> gbm-kms: Using DRM device /dev/dri/card1
[2021-12-11 20:59:23.006501] < - debug - > gbm-kms: Quirks: checking device with devnode: /dev/dri/card0, driver i915
[2021-12-11 20:59:23.006579] < -warning- > gbm-kms: Failed to open DRM device node /dev/dri/card0: /build/mir-XggYb6/mir-2.5.0/src/server/console/minimal_console_services.cpp(137): Throw in function virtual std::future<std::unique_ptr<mir::Device> > mir::MinimalConsoleServices::acquire_device(int, int, std::unique_ptr<mir::Device::Observer>)
Dynamic exception type: boost::wrapexcept<std::system_error>
std::exception::what: Failed to acquire DRM master: Operation not permitted

Failed to create /root/.cache/mesa_shader_cache for shader cache (Permission denied)---disabling.
[2021-12-11 20:59:23.784417] <information> mircommon: Loading modules from: /snap/mir-kiosk/7805/usr/lib/x86_64-linux-gnu/mir/server-platform
[2021-12-11 20:59:23.784456] <information> mircommon: Loading module: /snap/mir-kiosk/7805/usr/lib/x86_64-linux-gnu/mir/server-platform/graphics-gbm-kms.so.19
[2021-12-11 20:59:23.784464] <information> mircommon: Loading module: /snap/mir-kiosk/7805/usr/lib/x86_64-linux-gnu/mir/server-platform/server-x11.so.19
[2021-12-11 20:59:23.784467] <information> mircommon: Loading module: /snap/mir-kiosk/7805/usr/lib/x86_64-linux-gnu/mir/server-platform/input-evdev.so.8
[2021-12-11 20:59:23.785438] < - debug - > gbm-kms: Quirks: checking device with devnode: /dev/dri/card1, driver nvidia
Failed to create /root/.cache/mesa_shader_cache for shader cache (Permission denied)---disabling.
[2021-12-11 20:59:23.844975] <information> gbm-kms: Detected software renderer: llvmpipe (LLVM 12.0.0, 256 bits)
[2021-12-11 20:59:23.845625] < - debug - > gbm-kms: Quirks: checking device with devnode: (null), driver 
[2021-12-11 20:59:23.845666] < - debug - > gbm-kms: Quirks: checking device with devnode: (null), driver 
[2021-12-11 20:59:23.845713] < - debug - > gbm-kms: Quirks: checking device with devnode: /dev/dri/card0, driver i915
Failed to create /root/.cache/mesa_shader_cache for shader cache (Permission denied)---disabling.
[2021-12-11 20:59:23.901985] <information> mirserver: Found graphics driver: mir:gbm-kms (version 2.5.0) Support priority: 256
[2021-12-11 20:59:23.902403] <information> mirserver: Found graphics driver: mir:x11 (version 2.5.0) Support priority: 192
[2021-12-11 20:59:23.902445] <information> mirserver: Selected driver: mir:gbm-kms (version 2.5.0)
[2021-12-11 20:59:24.984725] <information> gbm-kms: DRM device details:
[2021-12-11 20:59:24.984768] <information> gbm-kms: /dev/dri/card1: using driver nvidia-drm [NVIDIA DRM driver] (version: 0.0.0 driver date: 20160202)
[2021-12-11 20:59:24.984917] <information> gbm-kms: 	Output: DisplayPort-4 (disconnected)
[2021-12-11 20:59:24.985011] <information> gbm-kms: 	Output: DisplayPort-5 (disconnected)
[2021-12-11 20:59:24.985025] < -warning- > miral: Display config does not contain layout 'default'
[2021-12-11 20:59:24.985111] <information> miral: Display config:
8>< ---------------------------------------------------
layouts:
# keys here are layout labels (used for atomically switching between them)
# when enabling displays, surfaces should be matched in reverse recency order

  default:                         # the default layout

    cards:
    # a list of cards (currently matched by card-id)

    - card-id: 0
      DisplayPort-1:
        # (disconnected)

      DisplayPort-2:
        # (disconnected)
8>< ---------------------------------------------------
Failed to create /root/.cache/mesa_shader_cache for shader cache (Permission denied)---disabling.
Failed to create /root/.cache/mesa_shader_cache for shader cache (Permission denied)---disabling.
[2021-12-11 20:59:25.004856] <information> mirserver: Using hardware cursor
[2021-12-11 20:59:25.005329] < -warning- > gbm-kms-buffer-allocator: Failed to bind EGL Display to Wayland display, falling back to software buffers: /build/mir-XggYb6/mir-2.5.0/src/platform/graphics/egl_extensions.cpp(92): Throw in function mir::graphics::EGLExtensions::WaylandExtensions::WaylandExtensions(EGLDisplay)
Dynamic exception type: boost::wrapexcept<std::runtime_error>
std::exception::what: EGL display doesn't support EGL_WL_bind_wayland_display

[2021-12-11 20:59:25.005367] <information> gbm-kms-buffer-allocator: Enabled linux-dmabuf import support
[2021-12-11 20:59:25.005492] <information> mircommon: Loading modules from: /snap/mir-kiosk/7805/usr/lib/x86_64-linux-gnu/mir/server-platform
[2021-12-11 20:59:25.005512] <information> mircommon: Loading module: /snap/mir-kiosk/7805/usr/lib/x86_64-linux-gnu/mir/server-platform/graphics-gbm-kms.so.19
[2021-12-11 20:59:25.005524] <information> mircommon: Loading module: /snap/mir-kiosk/7805/usr/lib/x86_64-linux-gnu/mir/server-platform/server-x11.so.19
[2021-12-11 20:59:25.005530] <information> mircommon: Loading module: /snap/mir-kiosk/7805/usr/lib/x86_64-linux-gnu/mir/server-platform/input-evdev.so.8
[2021-12-11 20:59:25.055788] <information> mirserver: Selected input driver: mir:evdev-input (version: 2.5.0)
[2021-12-11 20:59:25.056044] <information> mirserver: Mir version 2.5.0
[2021-12-11 20:59:25.076197] <information> mirserver: Initial display configuration:
[2021-12-11 20:59:25.076241] <information> mirserver: * Output 1: DisplayPort disconnected
[2021-12-11 20:59:25.076248] <information> mirserver: * Output 2: DisplayPort disconnected
[2021-12-11 20:59:25.307941] < -warning- > frontend:Wayland: Exception processing Surface::commit() request: /build/mir-XggYb6/mir-2.5.0/src/miral/basic_window_manager.cpp(2334): Throw in function void miral::BasicWindowManager::validate_modification_request(const miral::WindowSpecification&, const miral::WindowInfo&) const
Dynamic exception type: boost::wrapexcept<std::runtime_error>
std::exception::what: width must be positive

error in client communication (pid 324134)
wl_display@1: error 3: Mir internal error processing Surface::commit() request
[2021-12-11 20:59:32.343864] <information> evdev-input: Added /dev/input/event3
[2021-12-11 20:59:32.358176] <information> evdev-input: Added /dev/input/event5
[2021-12-11 20:59:32.361840] <information> evdev-input: Added /dev/input/event8
[2021-12-11 20:59:32.364613] <information> evdev-input: Added /dev/input/event0
[2021-12-11 20:59:32.366539] <information> evdev-input: Added /dev/input/event2
[2021-12-11 20:59:32.366569] <information> evdev-input: Added /dev/input/event1
[2021-12-11 20:59:32.368477] <information> evdev-input: Added /dev/input/event7
[2021-12-11 20:59:32.368516] <information> evdev-input: Added /dev/input/event10
[2021-12-11 20:59:32.368539] <information> evdev-input: Added /dev/input/event11
[2021-12-11 20:59:32.368560] <information> evdev-input: Added /dev/input/event12
[2021-12-11 20:59:32.368597] <information> evdev-input: Added /dev/input/event13
[2021-12-11 20:59:32.368627] <information> evdev-input: Added /dev/input/event6: BisonCam NB Pro
[2021-12-11 20:59:32.370180] <information> evdev-input: Added /dev/input/event28
[2021-12-11 20:59:32.370378] <information> evdev-input: Added /dev/input/event29
[2021-12-11 20:59:32.370396] <information> evdev-input: Added /dev/input/event14
[2021-12-11 20:59:32.370417] <information> evdev-input: Added /dev/input/event15
[2021-12-11 20:59:32.370432] <information> evdev-input: Added /dev/input/event16
[2021-12-11 20:59:32.370446] <information> evdev-input: Added /dev/input/event17
[2021-12-11 20:59:32.370461] <information> evdev-input: Added /dev/input/event18
[2021-12-11 20:59:32.370474] <information> evdev-input: Added /dev/input/event19
[2021-12-11 20:59:32.370488] <information> evdev-input: Added /dev/input/event20
[2021-12-11 20:59:32.370502] <information> evdev-input: Added /dev/input/event21
[2021-12-11 20:59:32.370516] <information> evdev-input: Added /dev/input/event22
[2021-12-11 20:59:32.370531] <information> evdev-input: Added /dev/input/event23
[2021-12-11 20:59:32.370545] <information> evdev-input: Added /dev/input/event24
[2021-12-11 20:59:32.370559] <information> evdev-input: Added /dev/input/event25
[2021-12-11 20:59:32.370572] <information> evdev-input: Added /dev/input/event26
[2021-12-11 20:59:32.370585] <information> evdev-input: Added /dev/input/event27
[2021-12-11 20:59:32.370599] <information> evdev-input: Added /dev/input/event9
[2021-12-11 20:59:32.371972] <information> evdev-input: Added /dev/input/event4
^C[2021-12-11 21:00:09.618899] < - debug - > mirserver: Handling Interrupt from pid=0