I know I’ve been full of questions lately but they’re because I’ve been seriously thinking about ways of making Haiku better. In another thread, it was suggested I submit patches but tbh I’m just a UX/UI, graphics, and apps dude; I’m not good at low-level code to do anything useful in that area.
But there are several ideas that I have (why I’ve been asking questions a lot) and this post is more of a ‘I’m gonna try it’ more than a question.
Everyone agrees over the years trying to port a big browser is a crazy huge task (and yeah I totally agree as afaik they’re as big as an OS)… so I’m wondering if I stick a browser inside qemu on a light enough base (ngl it’d probably have to be a Linux VM), if that’d temporarily solve not having Firefox or Chromium on Haiku for a few years? I get it’d be slow even on a quad-core i5 or better, but if there’s retro enthusiasts who’ve used TenFourFox on super old G4 Macs and it had an audience, I might just give this idea a go and see if it’s usable; if it is I can post back here about it.
And on topic, I wonder if the Wine situation could be solved in a similar way (launch ReactOS when an exe is clicked in Tracker)? That one prob would take more effort but it’s an idea too.
You can run Haiku in vm for example and run your webbrowser on the host. This was always possible.
Or run a mini vm ontop of qemu on Haiku.
But i dont know why do you searching for a “temporary” solution. There is no temporary solutions, just hacks bolted on hacks. And if a hack ~ work then nobody will have the motivation to fix it and the hack becomes normal. Thats how nixes were made. I am not sure you want that. Go and express your demand at Mozilla/Google/whatever.
Yeah that’d be ace. I’m only capable of web-dev engineering and sadly can’t contribute to any, most needed C++ programming, to help making progress on actual browsers running on Haiku
I think technically this is more of a Haiku as a Virtualization host or emulation endeavor.
Another option I can think of is to have a browser running on linux and leverage some sort of X11 Display forwarding to get the browser window into Haiku.
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.
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 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
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.
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.
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
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.
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.
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.
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.