Haiku features I'd like to see

suspend/resume functionality

Considering that not even Linux has this quite down pat, this might not come anytime in the near future. Perhaps a good alternative would be saving global state (instead of per-app state) at shutdown and restoring it on next boot? Haiku boots and powers off so fast that it feels like suspend/resume on other desktop OSes already. For example, closing a laptop lid would save the global state and shutdown; opening the lid and pressing the power button after would boot the system and resume where it left off. This is basically a cheap form of hibernation, but (hopefully) without the complications of adding proper hibernation per se (see Linux, BSD attempts).

overall system resilliency

Haiku is in beta status right now, so that can still be improved upon in the future. For its type of software in beta, it is (admittedly) very stable compared to most others out there. To quote Bryan Lunduke:

“This kind of stability is what most other OSes would call release quality”

Note: That may not be the exact phrase, but he did say something to that effect in his latest video about Haiku.

automatic power management

Shouldn’t be too hard to have Haiku go into power saving mode automatically when the battery is at a certain percentage; is this accurate, Haiku devs?

hardware acceleration

Yeah, this is a big one that needs to be addressed. Would it be possible to get a compat layer for GPU drivers working (similar to wireless drivers)? Even FreeBSD uses one to get Linux drivers working; could that be adopted for Haiku or would it be better to make one specifically for Haiku and using the FreeBSD one as reference only? I feel like the former would become a case of layer-ception (yo dawg I heard you like layers, so we put layer on top of a layer on top of another layer :laughing:).

As for the login/session manager, it may be better to postpone making one until multi-user support is present in Haiku. Last I checked, it was planned to come after R1 (Looking Glass). Is this still the current plan?

But haiku allways opens previose opens Windows after restart

Do we really have a separate thread for everyones wishes?

2 Likes

That’s just Tracker though. Ideally, we’d like to capture the complete state of the system. All open applications, their window arrangement (workspace, stack&tile state) etc.

3 Likes

But sometimes people does mit to load everything at startup. This only make sense with a option on startup.

If you work on something, it make sense, but if you Wand fast Research something, this slow down the startup

Yes. There has to be some sort of configuration.
I could imagine a window popping up on on boot-up that shows the apps that were running on last shutdown with a checkmark in front, so one can disable their relaunch.
Kinda like what some browsers do with the tabs of the last session.

The Mac does this, since Lion I believe. The user can choose whether or not to “Reopen windows when logging back in” when restarting the system.

image

But again, haiku does this sience years. The question was not to reopen folders.

Wait, what the fsck is going on? I don’t remember making this topic. The first post in here was a reply to someone else’s comment in a different topic.

I took the liberty to move this to a new thread, as it’s off-topic for “What apps do you need on Haiku?”. Makes sense to distinguish apps fromt he system.

If you ask me, the comment that I replied to originally should have been moved here as well to add context to my reply. I take it that all comments from the prior thread that are more related to this topic will also be moved over, right? In any case, I agree with your rationale for moving this to somewhere else.

You’re probably right. Though he started off with discussing apps and wishing for LaTex, so I figured that you’re quotes caught the gist of his system ideas. But now that another user has replied to that post referencing the login screen idea, I’ll move those post here as well. No idea how the forum software will handle that… we’ll find out. :slight_smile:

It wouldn’t be “layerception” as Haiku effectively has no hardware acceleration layer and the Linux one would become the native one via the FreeBSD wrapper which compiles down to a native single layer as the compiler is smart enough to inline everything.

So in theory performance should be as good as the equivalent version of Linux. 4.17 is what FreeBSD has parity with currently.

The same is the case with the Ethernet and Wifi layer we have from FreeBSD, they are effectively native drivers.

I think everything I want is here minus a few things I’ll discuss later. Emacs, Qupzilla (need to get Falkon!), LibreOffice, an IRC client, package manager, a PDF reader, and some media player applications.

What isn’t here as of Beta 1:

  1. A full featured LaTeX editor. I write a lot of scientific documents and I need LaTeX for quick preparation of high quality documents.

  2. A login/session manager. I really need something that can remember my previous working state and restore it upon logging in again. This supposes something else I’ll discuss in a moment.

What I really want are features - suspend/resume functionality, overall system resiliency, automatic power management (kind of there already minus a few things), and perhaps most importantly, hardware acceleration.

On another note, I am looking into designing a simple login manager for Haiku. What features would the users here like, and what would you all require before you would use such a program?

Basically, this would be perfect for me:

I don’t think that it is a good idea to start thinking about logon screen designs just yet; multi-user support is planned for beyond R1. The most that would make sense would be a simple dialog with just a password box for (very) basic security at boot and after screensaver. BTW, feature requests should be made in this topic instead since this one is about requested apps.

Wow, this is going to be one confusing topic to read for others not already in here. :grin:

I’m curious as to why the decision was made to adapt/port FreeBSD’s Linux network driver compat layer in lieu of only using it as a reference for creating one made specifically for Haiku. I can think of a few reasons for and against both approaches:

Former:

  • Lots of testing already done from FreeBSD devs and users
  • Less time required to accomplish it (?)
  • May incur performance lesser than native due to the translating involved (Linux -> FreeBSD -> Haiku)
  • Less support than Linux

Latter:

  • Possibly better performance due to less translation going on (Linux -> Haiku)
  • Hardware support would be practically equal to that of Linux
  • More time required (?)
  • Less testing

Just a heads up, there is actually experimental multi-user support with a login dialog and all, but it’s not built in by default, and of course, it’s very experimental.

You don’t seem to understand…

The ported FreeBSD layers are native period. There is nothing Haiku would have really done differently here of significance.

Technically you could write the drivers in C++ but to no real advantage.

There is no performance penalty to using the compat layer as once compiled there is no layer it compiles away to nothing (Edit: on performance critical paths anyway there may be some mon inlinable stuff still). There is no translation going on at runtime.

Using the FreeBSD / Linux drivers as reference only would likely only mean more work… And worse performance due to far fewer people working on it.

1 Like