agama-project / agama

A service-based Linux installer
https://agama-project.github.io/
GNU General Public License v2.0
135 stars 42 forks source link

Consider using gnome/firefox less execution #341

Open lkocman opened 1 year ago

lkocman commented 1 year ago

using something like https://github.com/Hjdskes/cage for d-installer would eliminate the requirement to load gnome and firefox

Originally raised by Patrick Fitzgerald on the community call.

ancorgs commented 1 year ago

We welcome any help in creating:

Those are areas in which experts in operating systems, graphical environments, browsers and/or containers could help without needing to code D-Installer or YaST.

If you are reading this, please consider jumping in. :wink:

lkocman commented 1 year ago

Communicated back to Patrick, just for tracking you could start with forking this project https://build.opensuse.org/package/show/YaST:Head:D-Installer/d-installer-live

jreidinger commented 1 year ago

Yeah, I play with cage and also sway ( which is in TW as opposed to cage ) and my main issue was that it failing with Leap15.X qemu. So can be tested only on TW host which I sadly do not have at hand. And question is how looks real hardware support ( especially on other archs like aarch64 ).

javierllorente commented 1 year ago

Perhaps we could get rid of Firefox completely by using an embedded Web browser (ie: Qt WebEngine)

joantolo commented 1 year ago

Hi guys! I've been able to configure a live d-installer iso that uses cage with a qt-kiosk-browser: https://build.opensuse.org/package/show/home:jtorres:branches:YaST:Head:D-Installer/d-installer-live-test

This is a POC and many things should be improved, more specifically on cage side.

Cage is started as a systemd unit service. At this moment it can display the browser with cockpit-desktop, however, it has some issues with the cursor and a lot of lagging, it's not usable. I should research what is making this issue.

It can be attached to that cage instance a wayvnc daemon to show its display through VNC protocol. I've set up a systemd unit service for this too.

The qt-kiosk-browser is a minimal browser I've set up based on the Qt examples. It would make sense to see how to make it more minimal and avoid some Qt dependencies it has at the moment.

The next step I will do is drop all Xorg dependencies and see if the iso improves on light-weight.

Lunarequest commented 3 days ago

Hi I just had a conversation with @lkocman about cockpit and this was brought up there. I was wondering has anyone looked into webkit2gtk(3/4) as a replacement for qt-kiosk-browser.

There are some caveats such as hardware acceleration on NVIDIA cards being broken and hence requiring WEBKIT_DISABLE_DMABUF_RENDERER to be set to 1, this causes some artifacts in rendering.

ancorgs commented 3 days ago

I was wondering has anyone looked into webkit2gtk(3/4)

Yes, I have briefly looked into it. I really like its potential as a kiosk browser and the source code is small and understandable.

But I'm pretty clueless regarding the rendering artifacts. @joantolo may know more details.

Lunarequest commented 3 days ago

in my experience the artifacts are effectively elements that were removed/updated ghosting and staying behind. Until the browser window was forcefully resized