Sculpt 24.10 impressions, compatibility

As mostly an armchair follower of Genode I was keen to try out the Autumn Sculpt release that just dropped. My first impressions are as follows:

PC: Dell Optiplex 3060 with Intel Core i5-8400T, intel graphics, and 8 Gb RAM.
Booting from USB 3.2 stick (but last release did install on M.2 SSD)

After booting to Lietzcentrale I expanded the system image to fill the thumb drive and then set this as default, skipping testing with the RAM filesystem. This revealed the first benefit over the last release which would show the drive in lietzcentrale and allow it to be set as the default one, but simply not work from it (the log reported that the memory was not there). Even after dedicating the SSD to its installation, release 24.4 would only work when set to RAM filesystem. Now I can happily set USB filesystem to default, and the USB filesystem remains in the leitzcentrale between boots.

The rest of the instructions were familiar: to install blue sticks background, the spinning beach ball demo and so forth. When I installed the window manager and terminal I initially thought I had made a mistake because the terminal window was not there, but actually it was minimised and required some clicking on what looked like a cursor embedded in the screen to bring it up.

The next stage after I become more proficient will probably be to make the configuration permanent by moving the config file into the appropriate spot on the USB drive. The limited utility of the “Files” area on the Leitzcentrale requires users to mount an “inspect” mode that turns the screen into a unix terminal like our parents might’ve used; a regression not to my taste! Many of us exploring this system are likely to see Bash as second nature but I will probably always need crib-sheets for even quite basic operations. The language of the current release manual suggests that Genode also sees this as a temporary kludge. The manual notes “Do not let the presence of a Unix shell fool you. Sculpt is not a Unix system”. This latter reminded me of a long running debate in Haiku with at least one senior developer saying that Haiku is technically Unix because the shell is largely Posix compatible, and many others who beg to disagree. Anyhow on that last point I digress!

Overall, despite only scratching the surface so far, I have come away satisfied with how it works on my computer. I hope that I can test things like sound in due course and deliver more of a compatibility report, but at present my Dell seems functional with this release. The acpi does not include a "sleep"mode, which is mentioned in the manual which also suggests I’m probably better off without it for the time being.

Maybe others want to share their first thoughts as well as details of any machine they managed to boot Sculpt 24.10 with?

2 Likes

In recent years I’m also not participating actively in development, but I’m still following news about new features, so I was very excited about added support for multiple monitors.

I have updated my Sculpt OS installation (installed initially with 22.04 version, updated regularly but used only occasionally) right after release. Configuration for my multi display setup went very smoothly and I can say that it is a real game changer for me. I’m so used to using external displays that I couldn’t convince myself to use Sculpt as my primary os without having this feature. Now this obstacle is gone and I’m having pleasure with configuring, experimenting, learning and … finding issues.

Regarding my setup, I’m using ThinkPad T460p bought few years ago with Genode in mind, to minimize compatibility issues, as it is (was?) one of advertised laptop models by Genode team. It was a good choice as I don’t remember any major issues with device support when running Sculpt.

What works for me:

  • falkon browser is running and allows for watching youtube (I have extended memory quota in the package itself to 3GB - I saw that there is some better alternative but I did not try that).
  • firefox@seoul is working (I had to install it to write this message from inside Sculpt, because unfortunately I couldn’t convince falkon to render discourse web page). Works smoothly.
  • ssh client connected to my main dev machine (I had to update caps quota to make it work)

On my todo list I have:

  • running Ubuntu installed on laptop in virtualbox in Sculpt - I know it should be possible, I just had no motivation to do it without … yes, yes, the game changer mentioned earlier :slight_smile:
  • connect with vnc to my main dev machine over an tcp tunnel over ssh connection - I think it may need some development, but maybe someone will prove me wrong

Annoyances:

  • I don’t know how to copy and paste in terminal windows. Actually I don’t know how to mark something to be copied. I find it frustrating because probably when someone will explain me how to do it, I’ll feel very stupid.
  • I have a focus follows mouse setup, but … unfortunately it works only when I go with my mouse over window border or title bar. I think it manifests more often if there is a wm backdrop between windows but it is not a rule.
  • there has to be some race between something because few times I saw that there were mouse artifacts left on the screen after mouse movement with freshly started Sculpt. Restart of wm backdrop fixes the issue, so I assume that it is not initialized with all my monitors sometimes.
  • I don’t know how to configure Wired network as default so it initiates connection by default. It would be nice to have it automatically but I couldn’t find any config file which would contain this setting.

I think that with that release I’m for the very first time close to switching to Sculpt as my main OS for personal use.

3 Likes

Over the last days I setup and used my AMD desktop machine with Sculpt OS 24.10 and I’m quite happy with the current state, even so not everything is working. For reference, the PC has a MSI B450-A PRO MAX (MS-7B86) motherboard, a AMD Ryzen 7 5700X 8-Core processor, 32 GB RAM, AMD Radeon RX 6700 XT graphic card, MSI MAG322CQP monitor, 1 NVMe slot and 4 AHCI disks (3 HDD & 1 SSD).

The PC boots solely in UEFI mode, so no BIOS legacy support is enabled. Since there is no native AMD graphic driver available for Sculpt, the boot_fb component took over. GRUB2 detected correctly the native resolution (2560x1440) and setup the framebuffer, which boot_fb picked up. However, the monitor has to be connected via the DP connector. If it is connected via HDMI, only a lower resolution is chosen by GRUB2.

The USB and NVMe detection went well. I saw all partitions and can use it. AHCI is not available, since it is disabled in Sculpt for all non Intel AHCI controllers by now. After I removed the vendor restriction inside the sculpt manager, by patching and rebuilding the Sculpt image myself, the 4 disks were detected, at least their names and sizes. Beside that, however, the disks are not usable for me. So, I placed the Genode partition on the NVMe storage.

The network driver detected the onboard Realtek chip, so I was able to install and download more packages.

Must haves for me are the graphical top component and the CPU frequency and power management tool. Both are very helpful to get an instant view into the Sculpt system and seeing which component consumes how much CPU time. Additionally, the monitoring of the frequency and adjusting, to some degree, the target power consumption, even on AMD, is fun.

The system_info component of Johannes was one of the next packages. It is very nice to have it in the background showing the wall clock time, network status, calendar and more. Recommendation!

In the next step I installed Debian from scratch from an installer ISO into a fresh VM with the Seoul packages. Thanks to the added USB support to Seoul, it is now very comfortable to exchange files beside network.

I tried also to use Vbox 6, but it is not working. The CPU goes up to 100% and no further progress.

In contrast, the oldie Vbox 5 performs just fine. So, I can use the very same Debian VM either with Seoul or Vbox 5, which is helpful to correlate effects. I also tried to install Ubuntu with Seoul, but this does not work currently … so still some way to go here.

The other ready to use VMs powered by Seoul, Thunderbird and Firefox (disposal), worked instantly. Instead of using the disposal Firefox package, one may use also the persistent template Tinycore VM package as starting point and manage Firefox updates yourself.

Another must have for me is audio in a browser. I tried several options out of the supported and settled finally on Firefox in the Seoul VM, it just worked best for me, without big configuration hassle or any kind of restriction of usable websites. However, to get robust audio, I had to move the VM to exclusive CPUs via the affinity configuration and give it a high priority. Afterwards, looking streams from varies sources just worked fine and I got into a kind of disco bubble for a while.

At the end of the day, I thought about a very short moment to wipe both native Linux and Windows installation of this PC ;). Maybe, some day.

Over the weekend, I additionally tried Sculpt 24.10 on another AMD desktop and AMD notebook during my visit of the family and got both machines into a good working state, especially audio and virtualization works. The touchpad of the notebook is not supported, but a USB mouse helped out. For the notebook the onboard network card worked, wifi is not supported atm. In the past, both PCs had been very picky, reaching from not booting at all, faults in the USB driver, various IO-MMU DMA faults, not working virtualization support, not supported network driver, etc pp. - and now - it mostly “worked” - big smile

3 Likes

Thank you for the nice feedback, and for covering the release on OSNews! :slight_smile:

The limited utility of the “Files” area on the […]

I originally planned to rework this part of Sculpt’s Leitzentrale earlier this year but got carried away with other Genode topics I deemed as more pressing. Thank you expressing interest in this part of Sculpt OS, reinforcing my ambitions.

The acpi does not include a "sleep"mode […]

This is most probably because you are deploying Sculpt from USB. Since the USB host driver is restarted upon resume, the standby option is deliberately not offered while a USB storage device is in use, as a safety precaution. You may still give the suspend/resume mechanism a try (just to see if it works on your machine) by deploying via the ram-fs as a test.

2 Likes

Happy to see your posting. Long time no see. :slight_smile: Great to know that you kept an eye on our project in the meantime.

I don’t know how to copy and paste in terminal windows.

You can select text in the terminal with the mouse while keeping the Shift key pressed, and paste text via the middle mouse button. Copy/paste should work in the inspect window, the system shell, the editor in the files section (using Control-c / Control-v), in Qt apps like Falkon, and VBox with guest additions installed.

have a focus follows mouse setup, but …

This might actually be a regression. I’ll look into it.

[…] mouse artifacts left on the screen a […]

This can happen when the backdrop hangs, i.e., when starved for RAM. In the latest index of genodelabs, we have adjusted the quota of several components - including the sticks_blue_backdrop pkg - to be fit for 4k. Should you are still using the 10-07 version, an update of the pkg to 10-29 should hopefully fix this issue.

I don’t know how to configure Wired network as default so it initiates connection by default.

The easiest way is to connect via Ethernet interactively once, and then copying the resulting NIC-router config from /config/managed/nic_router to /config/nic_router (as well as your persistent config directory /rw/config/24.10/). The Sculpt manager selects the network driver depending on the label of the uplink demain in the NIC-router config.

1 Like

Thanks for sharing the comprehensive AMD experience report. It’s nice to see how far one can actually take it despite our sole testing focus on Intel.
Especially the last paragraph made me smile. It seems like the update of the Linux-based drivers pays off. That’s certainly a good reward for all the effort spent by our team. :slight_smile:

This made me curious. May there be an SVM-specific virtualization event that we currently miss to handle in VBox6? It would be good to find out because VBox5 won’t stay with us for long. Could Sculpt’s GDB support come to the rescue to get more information?

1 Like

Thanks for the detailed AMD report, Alex! I was wondering about this exact thing, since I am planning to get a Framework 16 in the coming months, and having Sculpt running on it is a top concern.

Further to my OP I have successfully moved my “deploy” file into the USB filesystem and now feel I am able to really start building! Actually the feeling is quite nice. Our house had an IBM compatible PC from the get-go - this was in the 1980s - and I feel that Sculpt provides a modern version of the “hands-on” experience my peers who had more hobbyist home computers would have enjoyed.

The Falcon browser plays youtube - with sound! - and whist the picture is not quite buttery smooth at high resolutions it is pretty good. Haiku by comparison has really only recently got to the stage where you can youtube satisfactorily, also with Falcon. The browsing history does not even show the present session, presumably I have not added the resources correctly. The sound comes out of the computer speaker; so will have to find a way to output through headphone jack.

Now that the browser is going, the next challenge will be virtualisation.

Thank you. Although surprised to hear that real programmers read such sensationalist journalism :rofl:

As per OP, that was strongly implied in the release notes! Actually I took your advice in the release notes and got a little acquainted with Vim, not to mention Bash file management.

As for pointing and clicking, the Kensington trackball works well including scroll wheel in Leitzcentrale config files. Sculpt does however expose its touchscreen sympathies (pinephone!) by using only one mouse button. My big trackball has four buttons; in fact I brought it with Plan9/9Front in mind whose UI takes the opposite approach and requires a three button mouse. I can’t complain about the predominantly touchscreen world we live in but it does impose compromises upon desktops.

I got Haiku on the SSD and they have not implemented a sleep mode at this stage, so its absence is a limitation I can live with. I seem to recall seeing it before, I suspect that was when I first got the computer and tried installing Sculpt native.

All told, I’m very impressed. The problem is that I’m eyeing up a move from Apple onto Haiku, but a usable Sculpt puts the cat amongst the pigeons! Give me a WYSIWYG markdown editor, native email app, and I’m probably good.

Thank you Norman for your kind response. It helped me greatly but also created new questions.

You can select text in the terminal with the mouse while keeping the Shift key pressed

I’m curious why selecting is organized this way. Was it to avoid accidental copying of text?

focus follows mouse setup … This might actually be a regression. I’ll look into it.

Thank you for fixing this. It took me a while to understand that I need to update Sculpt and not a specific package, but it works now.

mouse artifacts on the screen … Should you are still using the 10-07 version, an update of the pkg to 10-29 should hopefully fix this issue.

Possibly this package got updated somehow. I see that I have both versions locally, so maybe I have switched to newer version unaware. The issue seems to not happen anymore.

persistent network configuration … copying the resulting NIC-router config from /config/managed/nic_router to /config/nic_router

It works. Thank you. The only thing about it is that I expected to still be able to switch to e.g. wifi, but now those options do not appear in menu. Would it be hard to still have those options and one selected by default?

I have one new issue to raise. themed_decorator’s default quota is too low for me. I have increased it, so it is not a big problem for now, but it seems to be somehow related to number of open windows (or maybe overlapping windows). I saw that there was some work to make apps pay for gui resources, but it seems that it doesn’t apply here. Can you please describe current situation with this component and what does it use memory for?

I’m curious why selecting is organized this way. Was it to avoid accidental copying of text?

This convention is not new but rather taken from usual terminal emulators as known from Linux. E.g., when I open vim in a terminal on Linux, one sees the welcome screen. Now imagine, one wants to select “Bram Moolenaar” with the mouse. As soon as one clicks inside the window, the welcome screen disappears! Now, when doing the same while pressing Shift, it works perfectly. In other words, there are certain ambiguities between mouse events interpreted by terminal applications and the selection of text. The latter should best newer interact the application running in the terminal unless the application is fit for interpreting mouse interactions. The Shift key solves that ambiguity. Our terminal merely follows this pattern to stay future proof with the potential addition of mouse support in the future.

Would it be hard to still have those options and one selected by default?

It is as easy as rm /config/nic_router.

I’m considering to streamline the way how configurations are made persistent by providing interactive controls. Once this is implemented, those file operations (like the rm above) could be avoided.

Can you please describe current situation with this component and what does it use memory for?

Unlike the wm or nitpicker, the decorator is not a server. It is merely a client of the wm. Hence, it does not receive any client-provided resources.

The themed decorator needs RAM for the pixel buffers containing the window decorations. Those buffers are allocated per window. The allocations are not massive (because the decorations are rather thin) but still depend on the number and size of the windows present on screen. Fortunately, as you mentioned, the decorator can be upgraded on the fly and even restarted without risk.

BTW, the motif decorator has a different RAM-allocation pattern because it uses the GUI session in a different way. Instead of rendering decorations into individual buffers, it allocates one large pixel buffer corresponding to the screen size and merely creates many small views onto this buffer for the various decorations. So the static RAM needs are higher (because of the screen-sized buffer) but the per-window RAM consumption is much smaller (since a view is pretty light-weight). Still the RAM consumption ultimately depends on the number of windows.

Qt already has markdown support, i.e. the qt5_textedit example is able to open/save markdown files. Yet, I assume you are probably looking for a side-by-side editor (plain text editor vs. rendered markdown viewer). I believe this should not be overly complicated to achieve with Qt.

1 Like

I believe Ghostwriter is such a programme which has already been ported to Haiku (which has seen an influx of Qt programmes lately)

1 Like

I published a preview image for the MNT Pocket Reform and an accompanying
Genodians article that includes installation and usage instructions.

I recall some people already asking for running Sculpt on this device, so we are happy to accommodate them now :smiling_face:.

Mind you, the experience is still somewhat rough around the edges.

4 Likes

I published a Sculpt OS variant for PC (x86_64) that uses base-hw (Genode’s custom kernel) instead of NOVA. There are actually two different flavours: a version without IRQ remapping and a version with IRQ remapping for Intel CPUs. Although the latter has not been tested extensively, there are no known issues with this feature.

3 Likes