Looking at Lumina Desktop 2.0

A few weeks ago I sat down with Lead Developer Ken Moore of the TrueOS Project to get answers to some of the most frequently asked questions about Lumina Desktop from the open source community. Here is what he said on Lumina Desktop 2.0. Do you have a question for Ken and the rest of the team over at the TrueOS Project? Make sure to read the interview and comment below. We are glad to answer your questions!

Ken: Lumina Desktop 2.0 is a significant overhaul compared to Lumina 1.x. Almost every single subsystem of the desktop has been streamlined, resulting in a nearly-total conversion in many important areas.

With Lumina Desktop 2.0 we will finally achieve our long-term goal of turning Lumina into a complete, end-to-end management system for the graphical session and removing all the current runtime dependencies from Lumina 1.x (Fluxbox, xscreensaver, compton/xcompmgr). The functionality from those utilities is now provided by Lumina Desktop itself.

Going along with the session management changes, we have compressed the entire desktop into a single, multi-threaded binary. This means that if any rogue script or tool starts trying to muck about with the memory used by the desktop (probably even more relevant now than when we started working on this), the entire desktop session will close/crash rather than allowing targeted application crashes to bypass the session security mechanisms. By the same token, this also prevents “man-in-the-middle” type of attacks because the desktop does not use any sort of external messaging system to communicate (looking at you `dbus`). This also gives a large performance boost to Lumina Desktop

The entire system for how a user’s settings get saved and loaded has been completely redone, making it a “layered” settings system which allows the default settings (Lumina) to get transparently replaced by system settings (OS/Distributor/SysAdmin) which can get replaced by individual user settings. This results in the actual changes in the user setting files to be kept to a minimum and allows for a smooth transition between updates to the OS or Desktop. This also provides the ability to “restrict” a user’s desktop session (based on a system config file) to the default system settings and read-only user sessions for certain business applications.

The entire graphical interface has been written in QML in order to fully-utilize hardware-based GPU acceleration with OpenGL while the backend logic and management systems are still written entirely in C++. This results in blazing fast performance on the backend systems (myriad multi-threaded C++ objects) as well as a smooth and responsive graphical interface with all the bells and whistles (drag and drop, compositing, shading, etc).

While I have never tried out Lumina in a MAC jail, I do not see anything on that page which should stop it from running in one right now. Lumina is already designed to be run as an unpriviledged user and is very smart about probing the system to find out what is/not available before showing anything to the user. The only thing that comes to mind is that you might need to open up some other system devices so that X11 itself can draw to the display (graphical environment setup is a bit different than CLI environment).

I look forward to these changes. I know the last time I used it when I would scroll I would get flashes like the refresh rate was not high enough. It will be nice to have a fast system as well as I know with the more changes Linux is becoming slower. Not once it has loaded but in the loading process. I will do another download when these changes come out and install again and maybe stay this time.

If I recall correctly, one of the very first versions of Lumina (pre-1.0) would occasionally flicker. If that is still happening, you might want to verify that you are using the proper video driver for your hardware and/or enable the compositor within the Lumina settings.

Thanks. I am just using the Intel driver since that is what is being used. I am using HDMI cable and will get artifacts once in a while or like a scrolling line flash across the screen but mainly using Chromium based browsers. I will check the settings though and see if I can fix it. I do enjoy using it more and more and have kept it on my system for some time now.

This was a common question about 4(?) years ago with the first release of the Lumina desktop and it basically boiled down to long-term support and reliability of the underlying toolkit. Some of the things we had to consider were: cross-platform/cross-architecture support, dependency reliability and support framework (Qt5 > EFL), and runtime requirements and dependency tracking (Qt5 is lighter than the EFL). That plus the fact that the EFL specifically states that it is linux-focused and the BSD’s are just an afterthought (especially at the time we were doing the evaluation).

1) The default layout of Unity(menu bar with actual menu entries on top and icon dock on the side) is one of the few things I liked about my first voyage into non-Windows systems, and have been missing since moving on to other distros(and now also other non-Linux systems). However in 1.4.0 screenshots on Lumina’s site, the OSX-like layout has the menu attached to the window. Will 2.0 be able to have the menus on the bar?

2) Is there any timeline for a public release, or are you taking a “when it’s ready” approach?

1. In Lumina you can already put panels on the left/right side of the screen and give you something like the layout of the Unity desktop. The embedded menu system is not available in Lumina because that is not a specification supported by X11 and the window manager standards at the present time. The way that functionality is currently run on Linux is a hacky-bypass of the display system which only really works with the GTK3 and Qt5 toolkits, resulting in very odd overall desktop behavior in mixed environments where some apps use other graphical toolkits.
2. We are targetting the 18.06 STABLE release of TrueOS for Lumina 2, but that is just a guideline and if necessary we will push back the release date to allow for additional testing/fixing as needed.

1. After installing TrueOS there is no tools for setting and changing keyboard layout (as in MS Windows or KDE).
Why?
Most of the desktop environments, such as KDE, GNOME, XFCE etc. have graphical menus for selecting keyboard layouts.

1. There is a keyboard layout switching right on the login screen (bottom-left corner). That is where the keyboard needs to be set so that the user can actually login to the system with their current keyboard.
2. We do have a task manager: Control Panel -> Tasks (in the “System Management” category)
It is more in the vein of traditional *NIX task managers rather than the Windows task manager though.
3. FreeBSD CURRENT is where you get the latest graphics drivers and other improvements to FreeBSD. If we were based off the STABLE branch, we would still be unable to support most modern graphics cards and/or the latest Intel chipsets.

First time with TrueOS (courtesy of Distrowatch) (it is still installing in Virtualbox, but I thought I’d check other articles). I do appreciate the measured way Ken Moore responds to questions. I look forward to using TrueOS. Thank you for your product.

Some questions regarding what Ken Moore has answered and what i haven’t been able to find explained, yet;

Ken, in your last Answer on March 29, 2018 at 6:54 pm – point 3, you told CURRENT is used to enable usage of actual drivers, especially for graphics;
After nearly 2 decades ignoring what happened in the (Free-)BSD-World, i jumped into it again, due to TrueOS and in the hope that the Convertibles i am using almost exclusively for any kind of task, with any OS, the HP EliteBook 27xxp Series, might be able to run FreeBSD|TrueOS Desktop. Aside that, i am looking with immense interest into how Lumina evolves.
Main problem with the graphics on these lunchboxes is, that they are well supported when running the FreeBSD RELEASE (from 10 up to 11.1 including all point releases inbetween), also they are well supported by 11 STABLE, either pkg installed, built from ports or by running GhostBSD. In TrueOS however, depending on the release, it seems there are several bugs hunting and firing up each other and i am yet not able to fix these issues, as it is a to me long forgotten world i am diving in.

1: [ TrueOS | Hardware-Support | General ] What would be the right place to ask for help and start giving feedback, report bugs, given the following hardware specifically (HP Elitebook – Models 2730 | 2740 | 2760 + Dell PowerEdge 2900 III + Dell OptiPlex 740 Enhanced); It is definitive that i won’t end using them, they are my reference systems and due to the fact i have to relearn FreeBSD, it might be of interest for your team, to have a thorough tester, even on these old but globally still regularly used PC | Server | NoteBook -s?

2: [ Lumina | TrueOS | FreeBSD | Linux | Windows ] What would be the right place to ask for help and start giving feedback, report bugs, in short becoming bit by bit, step by step an active participant in the development process of Lumina? Linux and Windows have been named here, because it might ease testing | researching | isolating problems | bugs | etc. ?

4: [ TrueOS | Lumina ] What necessities | requirements | knowledge | basics have to be met, to be of use to the development of TrueOS | Lumina?

5: [ TrueOS | Lumina ] Where can one find info about the scope | long term supported feature-sets | hardware targeted by your development teams?

Besides a thanks in forefront for ignoring the location i put these questions in spontaneously, it would be nice if you could give straight, direct and condensed answers summarizing, what one will find following referential links you ( hopefully ) will have given.