Could big browsers be brought over with VMs?

My approach was about running native BeOS/Haiku applications on different CPU. Running Linux application will require different approach. It will require kernel module that will implement Linux syscalls that is a lot of work. Similar things are done in Windows WSL1 or NT API driver in Windows 9x.

Or WSL2 approach with highly integrated virtual machine that run regular Linux. But this will require virtualization support in Haiku kernel that is currently not implemented.

4 Likes

Oh - sorry for the misinterpretation haha. Might be good to edit the title of that thread to make it more clear?

So… my idea is just meant to be a temporary answer, as for worries it’ll be a thing people will settle for as a ‘hack’ I do believe by R1 that WebPositive will be the browser on Haiku without the need for outside ones. But that has taken and will continue to take a lot of time, effort, and work from the Haiku dev team, my guess is several more years, and the main focus needs to be on the operating system.

It’s up to non-system developers to get the apps we want working :slightly_smiling_face: also the suggestion I’d got earlier to contact Mozilla or Google will get things nowhere; if anyone wants to go for it, hey feel free. While this will (again, temporarily) use Linux, and I get why Haikuers don’t like this idea, my hope (however hack-y, slow, sus, and so on this might be) is to try what (afaik) no one has tried so far and Haiku hasn’t had Firefox in any form since ages ago (and I think it was like v3, the ESR alone is at v78 now). But I can’t promise I can do this, I’ll have to test this idea and work with it until I come back with either ‘I can’t do it’ or with a preview showing it works.

Wasn’t there a thread about running qemu inside Haiku and installg Linux? I followed but think it was so slow that it was not a god solution. But then If it was fast I could install Windows and use Haiku as my main os.

Apps in Haiku are not low-level programing, drivers and os core stuff are though. I’m a webdesigner/develiper develop and learning c++ for fun :wink:

I wonder how hard PaleMoon would be to port? I also would love a powerful Lynx like browser delivering that more simplified ‘90s World Wide Web experience.

Here is the thread where some people were using browsers in QEMU: AQEMU-QEMU: Virtualizing on Haiku as host

The general view there seems to be it was slow.

On that note hardware accelerated virtualization has been mentioned quite a bit in these forums and would greatly increase the speed of virtual machines, including for this purpose. This would be good for all kinds of things and I expect at some point someone will do the work.

As for this idea, as everyone says WebPositive needs to be made as good as we can make it, and I think it should be possible to make it as nice as Safari, which is pretty decent. The only thing technically we cannot do right now is GPU accelerated drawing, which is probably mainly for some aspects of compositing the rendered web page, some canvas stuff, videos and WebGL. Everyone seems obsessed with GPU acceleration, but this blog post from 2014 shows that GPU acceleration is not really a slam dunk in improving things. A lot of things in computing are like this.

So if people think Haiku can never have a great browser as long as we don’t have GPU drivers, that probably is not true. I say this because I was kind of in the GPU camp myself but now I’m not so sure. For games obviously the GPU is critical, but no one is porting <insert big 3D game here> to Haiku anytime soon. Long term obviously we want the GPU situation fixed but my main point is it is not a roadblock to a good browser.

Unfortunately a lot of web developers only build for and test on Chrome, which is kind of a problem if your only browser uses WebKit. The best solution for that now would be to use Chrome in a virtual machine. There is almost zero chance Google would ever port Chrome to Haiku, and from what I have seen they are even kind of hostile to take patches from outside to port Chrome to a new platform. But maybe the Blink rendering engine could be ported and used in a new browser kind of like Microsoft did with Edge. But we certainly are not Microsoft and Blink already works on Windows, so I don’t know. It would also probably be a huge amount of work. At this point browsers are more complicated than operating systems, well certainly one like Haiku.

To summarize our best hope is to continue making WebPositive and our WebKit port better, then hardware accelerated virtualization would making running browsers in virtual machines faster.

1 Like

This was discussed plenty times already, use the search function to find the related topics.

1 Like

Hi,

Personally I have spent about 7 years now maintaining the WebKit port. The only “thank you” I get is things like “why not start over and use Chrome instead?”, “why not start over and run Firefox instead?”. You have managed to bring that one level up, with “Why not start over with the whole idea of Haiku, and run Linux in a virtual machine instead?”.

Sure, have fun with your idea. But that is not what I am here to do.

Meanwhile, only 2 or 3 other persons have submitted patches to WebKit in the last 7 years. What about working on that instead? There are many things to fix in all areas (networking, user interface, …) and it’s not significantly more difficult than any other programming task. Why do everyone continue to think (or at least that’s how I see it) that WebKit is a dead cause and should be ignored and we should start from scratch with something else? It is not nice to the hard work everyone has put into this solution.

14 Likes

I am grateful for what you’ve done and continue to do with WebPositive; my earlier posts mention this idea would be a temporary thing and I believe in R1 Web+ should be as good as Safari on the Mac. Honestly, from the feel I’m getting so far, I feel like I’m fighting to do this rather than contributing something (even though I really think it’s needed). So… if I’m offending people, then that does it, I’m not going to do it.

I can say this wasn’t just going to be ‘run a mainstream distro on Haiku’ (that sort of thing’s been done as mentioned) but was going to be a stripped down Linux that would launch Firefox or Chromium directly and I was hoping to integrate it as a Haiku app; too bad like each serious idea I’ve suggested since finding Haiku been shot down…

You can try it for yourself but you will notice how it will probably turn out to be not that great. Here are some things I can think of:

  • How will you integrate the clipboard so I can copy and paste URLs between the browser and the “outside world” of Haiku?
  • How will you make it that files downloaded by the browser end up in a normal directory and not in some linux disk image?
  • How will this handle clicking on an URL to open it in the browser?
  • Probably you don’t want this thing to use up all your RAM and CPU, and so people will be asking us to implement accelerated virtualization, as well as “balloon memory” which allows the virtual machine to request and release memory dynamically when applications inside it need it

And also:

  • How much work it is to tune a Linux system like this?
  • How much effort will it take to update it? How will the updates be deployed to users in a way that doesn’t erase their cookies, browser history, passwords, installed extensions, etc?

This is just after a few seconds of trying to see how it could work. Certainly, all of these problems can be solved, but you will end up with a task just as big as, you know, fixing the bugs in the already existing web browser. So the temporary thing is more work than the real thing we need to do anyway.

Shared clipboard protocol exists for virtual machines.

By 9P protocol like Windows WSL2 does. TinyEMU also has 9P protocol support so 9P file system driver can be written as part of RISC-V port.

By some protocol monitor on Linux side.

I am very happy with Web+ as it is now.
It is very fast and good to use.
More help and work on this port is necessary, as the web and the technology move fast.
For YouTube Videos I know it can work as it was working before. Because lot of changes on YouTube side it is hard to follow.
Maybe with Haiku Beta 3 it will work for a while again.

Thank you for your needed work PulkoMandy

3 Likes

Also, one does not need to be an expert in Haiku internals to improve WebPositive. The application itself (not the backend) can also use some love, it is still very rough. I wish someone with C++ knowledge would poke on it.

I respect all the effort trying to port over more stuff, but sometimes it seems to me like half the effort would have improved the native applications much much more.

1 Like

Good day,

Actually, “big browsers” do work inside the VM (check the link provided by @leavengood). I’ve used Firefox inside a Linux VM already, though performace is rather slow and disappointing. Even using the smallest/fastest Linux distro, or even using a specific linux distro that only launches Firefox (kiosk oriented linux distros). Patience is a must in this scenario.

Long ago I tested a linux distro to boot directly to Firefox, which is the same as kiosk mode, it can be done, but needs knowledge that I lack of, and time, in order to tweak/strip down the distro, dropping any non needed stuff thus could get some improvement on the speed/performance of, i.e. Firefox.

Nonetheless, AFAIK, the biggest performance issue that is going to be still present is the lack of hardware accelerated virtualization on Haiku. Running Linux VM inside Linux Host allows using any browser with some sort of good performance. That performance I have only achieved on Haiku running Haiku on a VM with Haiku as Host. Any other OS running inside a VM with Haiku as Host is quite slow. So not sure if the stripped down distro would make a big difference on the browser’s performance. I’ve tried already several small footprint distros and they “don’t deliver”; they might with a more powerful machine?

Having WebPositive operational, safe, secure, private… is very important no matter what. I keep facing issues with sites, rendering poorly or crashing WebPositive, one being Wordpress, the “admin” site, that works fine in Otter, it doesn’t in WebPositive, though I need to do more testing before reporting bug.

At the moment, I’m booting the box with an external USB drive with linux on it to use Firefox, it’s the best solution I’ve came to for now.

Regards,
RR

I’m sorry when my comment/idea about hacking a more capable browser via x11 from Linux.
My intention was not at all to dismiss your work and all the time you put into Haiku and in this discussion especially web+.
Even though I am just recently using Haiku a little bit (again + been using beos a lot) and am in this discussion board only recently, I’ve got that you’re the one who’s doing most of the work on web+ and I appreciate that, thank you for all that effort!
If I would have the time to learn how to apply patches and keep up with upstream webkit I’d look into that, however I simply don’t have the time. At this point I’m “just a user”.
Web+ is already great and I don’t have the expectation from a non major OS to have a top notch most recent browser or Firefox or blink engine based running. Browsers are indeed crazy complex systems by now and it would be simply insanely disrespectful to assume such an existence at this point.

1 Like

Thanks… but I’m officially giving up on this idea; when I thought of this idea I really didn’t think of Web+ and all you’ve poured into it, or how it might be seen. And to everyone, sorry for whatever commotion this thread has caused… please know my idea wasn’t to hurt anything but was rather to try to solve something I thought might be useful.

1 Like

Maybe you could try it before you give up on this. It is not guaranteed those irgs will ever attempt the port, but maybe somebody from their dev group seeks new experiences. You never know.

1 Like

yes. i think you right @brunobastardi … i alyways use web+ on haiku… not other browser…
big thanks to @PulkoMandy

Good day @apgreimann,

If you want to do it, do it. @3dEyes got X11 apps running on Haiku ( X11 support for Haiku), and a stripped down linux distro could do too (mind the performance of the VM).

Whichever way you pick, go for it. The biggest asset you’ll need is time. I always complain about knowledge and time, though the real constraint here is time. “Knowledge, you can get it, time, you have it” and it’s usually limited.

As it’s a big project, better get some friends to help you. Better if they don’t think like you.

If you have an idea, go for it. Don’t need to ask permission. :wink:

Regards,
RR

1 Like

The first user to contact them will get nowhere, sure. But maybe the 100th or 1000th user to ask them will make them think “mh… maybe we should do something since a 1000 users have asked for it already”. And we will never reach 1000 if we don’t go through 1, 2, 3, and all the other numbers first.

1 Like