Run Ubuntu Frame on your Device

As I mentioned above, I use ubuntu 22.04 server os (not desktop) and yes i reset the raspberry pi after editing config.txt file. ok thanks i will check your links.

@majidkaka14 As mentioned in the snapcraft forum, please try the dtoverlay=vc4-fkms-v3d overlay (note the additional f). I found conflicting information if either Fake KMS (vc4-fkms) or ā€žrealā€œ KMS (vc4-kms) is the best option right now for Ubuntu Server / Core.

@glancr I also tried your tip but the result did not change. I have a web application that works fine on Chrome, Firefox and Chromium browsers, but when I use wpe-webkit-mir-kiosk, it renders slowly. Can I use chromium-mir-kiosk or is it deprecated?

Hello, How can I configure ubuntu frame to execute as deamon in a Custom Image for Ubuntu Core? Also it is possible to configure a change of the url showed by Wpe-webkit-mir-kiosk also in the model assertion?

Hi @jperera, Frame will run as daemon by default on Ubuntu Core, no changes needed there.

Hereā€™s some documentation on configuring it from the gadget:

To configure WPE, its snap-id is 01sV9tv4UTUQTU3jYsAF1gJ5qv7ZqGls (you can find that in snap info ā€¦), and the key to configure is url, so something along those lines:

defaults:
  01sV9tv4UTUQTU3jYsAF1gJ5qv7ZqGls:
    url: <your url here>

And more generally about gadgets here:

And just in case you didnā€™t stumble on it yet, about building custom images:

Hope this helps!

2 Likes

Thanks a lot @saviq I really appreciate your help, I will give it a try building the gadget.
One question:

defaults:
  01sV9tv4UTUQTU3jYsAF1gJ5qv7ZqGls:
    url: <your url here>

This piece above belongs to the gadget assertion right?

In the gadget.yaml, yeah (itā€™s not an assertion, for clarity).

Iā€™m attempting to run ubuntu-frame through Windows virtualization as I have on physical hardware (NUC). However, for both Ubuntu Core-22 and Ubuntu 22.04 LTS (server), ubuntu-frame fails to start when running as a virtual system under Hyper-V. I started with Core-22, but switched to server to provide greater flexibility in troubleshooting and resolution options.

Both core and server instances are successfully installed and I can SSH to each. However, when installing ubuntu-frame (adding daemon=true for server), VT 4 shows a black screen with a blinking cursing in the top left corner. Upon inspection ubuntu-frame has exited. I suspect the issue is related to the hypervisor virtual graphics adapter not being natively supported but Iā€™m struggling to understand how to resolve it. Seems like the ability to run in Hyper-V would have been experienced before.

When I inspect the logs under the virtual instances of core and server, I see the following:

2023-10-12T20:29:59Z ubuntu-frame.daemon[2803]: [2023-10-12 20:29:59.056802] <information> eglstream: Failed to query DRM node for EGLDevice: Failed to determine DRM device node path from EGLDevice: EGL_BAD_PARAMETER (0x300c)
2023-10-12T20:29:59Z ubuntu-frame.daemon[2803]: [2023-10-12 20:29:59.056812] < - debug - > eglstream: EGLDeviceEXTs found, but none are suitable for Mir
2023-10-12T20:29:59Z ubuntu-frame.daemon[2803]: [2023-10-12 20:29:59.056817] <information> mirserver: (Unsupported by system environment)
2023-10-12T20:29:59Z ubuntu-frame.daemon[2803]: [2023-10-12 20:29:59.056822] <information> mirserver: Found display driver: mir:gbm-kms (version 2.15.0)
2023-10-12T20:29:59Z ubuntu-frame.daemon[2803]: [2023-10-12 20:29:59.056945] <information> gbm-kms: Unsupported: No DRM devices detected
2023-10-12T20:29:59Z ubuntu-frame.daemon[2803]: [2023-10-12 20:29:59.056989] <information> mirserver: (Unsupported by system environment)
2023-10-12T20:29:59Z ubuntu-frame.daemon[2803]: [2023-10-12 20:29:59.057027] <information> mirserver: Found display driver: mir:x11 (version 2.15.0)
2023-10-12T20:29:59Z ubuntu-frame.daemon[2803]: [2023-10-12 20:29:59.057045] <information> mirserver: (Unsupported by system environment)
2023-10-12T20:29:59Z ubuntu-frame.daemon[2803]: ERROR: ./src/server/graphics/default_configuration.cpp(233): Throw in function virtual const std::vector<std::shared_ptr<mir::graphics::DisplayPlatform> >& mir::DefaultServerConfiguration::the_display_platforms()
2023-10-12T20:29:59Z ubuntu-frame.daemon[2803]: Dynamic exception type: boost::wrapexcept<std::runtime_error>
2023-10-12T20:29:59Z ubuntu-frame.daemon[2803]: std::exception::what: Exception while creating graphics platform
2023-10-12T20:29:59Z ubuntu-frame.daemon[2803]: ERROR: ./src/server/graphics/platform_probe.cpp(190): Throw in function std::vector<std::pair<mir::graphics::SupportedDevice, std::shared_ptr<mir::SharedLibrary> > > {anonymous}::modules_for_device({anonymous}::ModuleType, const std::vector<std::shared_ptr<mir::SharedLibrary> >&, const mir::options::ProgramOption&, const std::shared_ptr<mir::ConsoleServices>&)
2023-10-12T20:29:59Z ubuntu-frame.daemon[2803]: Dynamic exception type: boost::wrapexcept<std::runtime_error>
2023-10-12T20:29:59Z ubuntu-frame.daemon[2803]: std::exception::what: Failed to find any platforms for current system
2023-10-12T20:29:59Z systemd[1]: snap.ubuntu-frame.daemon.service: Main process exited, code=exited, status=1/FAILURE
2023-10-12T20:29:59Z systemd[1]: snap.ubuntu-frame.daemon.service: Failed with result 'exit-code'.

The goal is to provide a development playground for Ubuntu-Core with ubuntu-frame. Falling back to the server might be ok for this purpose or even updating the kernel snap for dev purposes only. Iā€™m hoping, since this is Hyper-V, that it would be easy enough to duplicate. Any help would be appreciated.

@r.smith, your suspicion is correct: the log shows that thereā€™s no graphics stack for which Mir has a ā€œplatformā€.

The following will list the drm devices available in your VM:

sudo apt-get install drm-info && drm_info

That may give a clue how to proceed.

Thank you for the quick response. I found several articles from 2021 calling out that Hyper-V DRM display drivers were to be included in Linux 5.14 kernel. Ubuntu 22.04 LTS kernel is 5.15 but clearly didnā€™t include the expected Hyper-V support. I assumed the easiest approach would be to upgrade to the HWE kernel for Ubuntu 22.04 LTS which is 6.2. After making that change, ubuntu-frame launches as expected.

sudo apt-get install linux-image-generic-hwe-22.04

Thanks again.

1 Like

Hello,

does anyone know how I can access the inspector/developer tool of the browser?

My Web Kiosk is installed on Ubuntu frame with Ubuntu core

Thanks

@diegobianchi wpe-webkit-mir-kiosk is not maintained by the Mir team, but the the following command:

$ snap info wpe-webkit-mir-kiosk

Offers several sources of information. The most likely for your question being:

https://wpewebkit.org

HTH

1 Like