<sanzfc>
What's the best browser for Haiku? Specially to watch YouTube videos
<trungnt2910[m]>
<x512[m]> "It loads guest runtime_loader..." <- What about x86 on x86_64?
<trungnt2910[m]>
Does it load one for x86?
<x512[m]>
> <@trungnt2910:matrix.org> What about x86 on x86_64?
<x512[m]>
> Does it load one for x86?
<x512[m]>
For x86_64 host and x86 guest it will load x86 runtime_loader.
<x512[m]>
UserlandVM do not load target application itself, it is loaded by guest runtime_loader.
<x512[m]>
By gueat I mean everything running inside virtual machine.
<trungnt2910[m]>
So to get anything working you must handle all syscalls by runtime_loader first?
<trungnt2910[m]>
The one used by runtime_loader on the guest arch?
thomaslewis has left #haiku [#haiku]
<x512[m]>
Yes. But for early testing it is possible to use UserlandVM built-in ELF loader. It is unable to run regular Haiku applications and it have no ability to resolve dependencies.
<trungnt2910[m]>
Last question: Does this UserlandVM use anything Haiku-specific?
<trungnt2910[m]>
Or can you get it run on other platforms with Sys-V ABI (Linux?) as long as you implement `Syscalls.cpp` correctly?
<x512[m]>
> <@trungnt2910:matrix.org> Last question: Does this UserlandVM use anything Haiku-specific?
<x512[m]>
> Or can you get it run on other platforms with Sys-V ABI (Linux?) as long as you implement `Syscalls.cpp` correctly?
<x512[m]>
It use Haiku-specific API like create_area, thread API etc..
<x512[m]>
In what direction you want to run it: run Haiku applications on Linux etc or run Linux applications in Haiku?
<trungnt2910[m]>
x512[m]: Haiku on Linux.
<trungnt2910[m]>
But the latter also seems fun.
<x512[m]>
trungnt2910[m]: I think virtual machine is not needed for that. Modified libroot.so can be used.
<trungnt2910[m]>
x512[m]: Is that binary compatible?
<x512[m]>
trungnt2910[m]: Second is actually possible by implementing corresponding syscall dispatcher.
<x512[m]>
trungnt2910[m]: You will need to load Haiku runtime_loader first. And implement libroot.so _kern_* functions as wrappers over Linux API.
<x512[m]>
> <@trungnt2910:matrix.org> Is that binary compatible?
<x512[m]>
* You will need to load Haiku runtime\_loader first. And implement libroot.so `_kern_*` functions as wrappers over Linux API.
<trungnt2910[m]>
Been putting this since 6:30 AM (my local time), now it's 10:15 AM.
thomaslewis has joined #haiku
<trungnt2910[m]>
I'm using `haikuports -j8`, Haiku on an SSD drive, Hyper-V disabled host.
<trungnt2910[m]>
And still abysmally slow.
<x512[m]>
No hope to run Haiku natively?
<trungnt2910[m]>
Nope, can't live without Windows.
<x512[m]>
Dual boot?
<trungnt2910[m]>
No, I need Windows on real-time.
<trungnt2910[m]>
All those notifications, and chatting with friends on Discord and Meta Messenger, incoming mail,... all from Windows.
<x512[m]>
I use 2 PC: tablet with Windows and desktop PC with Haiku.
<trungnt2910[m]>
My laptop is my only device (apart from my Android phone).
<x512[m]>
I have no smartphone.
x10z has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
x10z has joined #haiku
tuaris has quit [Read error: Connection reset by peer]
x10z has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
tuaris has joined #haiku
x10z has joined #haiku
x10z has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
frkzoid has joined #haiku
thomaslewis has left #haiku [#haiku]
frkazoid333 has quit [Ping timeout: 480 seconds]
thomaslewis has joined #haiku
matt__ has joined #haiku
frkzoid has quit [Ping timeout: 480 seconds]
bbjimmy has quit [Read error: No route to host]
x10z has joined #haiku
<trungnt2910[m]>
To the guy who maintains the LLVM recipe: Thank you very much for using a weird build layout instead of the official LLVM "monorepo" layout. Now I have to deal with 8 different source dirs and 6 different patchsets.
<x512[m]>
UserlandVM is still functioal while I didn't touch it for some time.
<x512[m]>
Of course it need a set of riscv64 Haiku binaries.
<trungnt2910[m]>
How to build the x86 target on x86_64?
<trungnt2910[m]>
I might look at it when the LLVM build is done.
<waddlesplash>
trungnt2910[m]: the llvm recipe is probably "community maintained"
<waddlesplash>
and in fact may predate the LLVM monorepo? wasn't that only introduced some years ago?
<waddlesplash>
so, feel free to rewrite it to the official layout
<x512[m]>
x86 is already included. Regular code flow with runtime_loader is not yet supported for x86 guest.
<trungnt2910[m]>
waddlesplash: It already has the official layout as of LLVM 12.
<trungnt2910[m]>
x512[m]: Simply because of missing syscalls right? If that's the case I can try implement the required ones and stubbing the rest.
<x512[m]>
Also somew kernel support is missing.
<x512[m]>
It one can find x86 emulator library, UserlandVM can be developed without kernel changes.
<waddlesplash>
we shouldn't use an emulator
<waddlesplash>
what kernel changes are needed? there's already a CODE32 descriptor
<trungnt2910[m]>
waddlesplash: As of the current situation when very few components are being built, using the old format has some advantage.
<trungnt2910[m]>
However, if my llvm-libunwind branch gets merged, the recipe will pull in libunwind, libcxx, **and** libcxxabi, all of which requires a different patchset.
<waddlesplash>
err, we shouldn't be building libcxx right now?
<waddlesplash>
we don't want two C++ libs
<x512[m]>
x86 emulator can help to progress development while kernel support is not yet ready.
<x512[m]>
And also for riscv/arm.
<waddlesplash>
x512[m]: yes, what kernel support is needed, do we have any tickets about this?
<trungnt2910[m]>
It is required for building libunwind (although it doesn't have any runtime dependency on it).
<waddlesplash>
uhh, okay...
<x512[m]>
It need GDT/LDT entry for 32 bit code segment.