<x512[m]>
This is older patch for 32 bit support: https://review.haiku-os.org/c/haiku/+/2874. It use another approach: implement 32 bit support on kernel side, not userland side. It is abandoned by original author.
<x512[m]>
Some parts of that patch can be reused, especially TLS segment setup.
<x512[m]>
Original author is Jerome Duval (korli).
<x512[m]>
My plan is support all non native architectures in userland with UserlandVM. Use hardware CPU support if possible, if not (ARM/RISC-V -> x86 etc.), use software CPU emulation/JIT.
<x512[m]>
Also note that UserlandVM x86 support can't handle syscall instructions, it use special trampoline function to come back from guest. But this is not a problem because Haiku x86 use trampoline function in commpage for syscalls.
thomaslewis has joined #haiku
thomaslewis has left #haiku [#haiku]
thomaslewis has joined #haiku
frkzoid has quit [Read error: Connection reset by peer]
frkzoid has joined #haiku
thomaslewis has left #haiku [#haiku]
thomaslewis has joined #haiku
thomaslewis has left #haiku [#haiku]
rennj has quit [Ping timeout: 480 seconds]
m199 has quit [Ping timeout: 480 seconds]
m199 has joined #haiku
x10z has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
rennj has joined #haiku
frkazoid333 has joined #haiku
frkzoid has quit [Ping timeout: 480 seconds]
Begasus has joined #haiku
<Begasus>
g'morning peeps
<netpositive>
morning Begasus
<Begasus>
morning netpositive
Begasus_32 has joined #haiku
AD_MOS2 has joined #haiku
AD_MOS has quit [Ping timeout: 480 seconds]
AlaskanEmily has quit [Remote host closed the connection]
tuaris has quit [Remote host closed the connection]
<waddlesplash>
fully featured haikuporter depends on packagefs chroots
<waddlesplash>
you can run a mostly-featured cross compiler for haikuporter only on Haiku itself
<x512[m]>
So packagefs will be also needed to be ported on Linux (FUSE?).
<mmu_man>
hmm, it could be possible to mimic this with extracting packages somewhere and use bind mounts maybe?
<waddlesplash>
x512[m]: or ... just use Haiku? :-p
<x512[m]>
Fixed RadeonGfx crashed clients team cleanup today. The problem is that TeamState is reference counted, but team_id -> TeamState map do not acquire reference so it is possible that last reference is released during map lookup. Solved by overriding FirstReferenceAcquired, LastReferenceReleased and 2 flags (finalized, reacquired).
<x512[m]>
waddlesplash: You said about DRM port recently, but do you have any plans? DRM port will be difficult I think. It need deep Linux kernel knowledge.
<x512[m]>
I think that it is fine to have both native and DRM drivers, but I know no candidates able to do DRM port.
<waddlesplash>
yeah. I do intend to make the attempt
<waddlesplash>
Linux APIs are not that badly documented, and I've gotten pretty good at compatibility layers between FreeBSD network & Xlibe
<waddlesplash>
plus there's the BSD linuxkpi layer I can use as a reference
Begasus_32 has quit [Quit: Vision[]: Gone to the dogs!]
thomaslewis has joined #haiku
<trungnt2910[m]>
<x512[m]> "Maybe it is easier to properly..." <- ~How to build llvm with cross compiler~
thomaslewis has left #haiku [#haiku]
<trungnt2910[m]>
<waddlesplash> "fully featured haikuporter..." <- Thought it was possible to run HaikuPorter without chroot?
m199 has quit [Ping timeout: 480 seconds]
<waddlesplash>
trungnt2910[m]: only in bootstrap mode
<waddlesplash>
it's not possible to build normal packages this way
m199 has joined #haiku
<waddlesplash>
and most of HaikuPorts is in no way set up for cross compilation at all
<x512[m]>
waddlesplash: Even if DRM will be ported, It will be good to not hardcode Haiku to DRM API and use driver independent API instead like drm.accelerant.
x10z has joined #haiku
<x512[m]>
<trungnt2910[m]> "~How to build llvm with cross..." <- As usual CMake srossbuild?
<x512[m]>
s/srossbuild/crossbuild/
<x512[m]>
It is not a problem if not use Haikuporter.
<x512[m]>
PulkoMandy: What is current actual branch of WebKit?
<trungnt2910[m]>
Another problem that Haiku userland may solve: GitHub actions.
<trungnt2910[m]>
Basically, use my poor little laptop just to read manga and throw every big build job to an Ubuntu VM on GitHub Actions.
thomaslewis has joined #haiku
thomaslewis has left #haiku [#haiku]
AlaskanEmily has joined #haiku
<Begasus>
going down here, cu peeps!
Begasus has quit [Quit: Leaving]
x10z has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<PulkoMandy>
x512[m], there is a branch called haiku in github.com/haiku/haikuwebkit
<PulkoMandy>
I pushed commits to it yesterday so it is up to date with upstream
<PulkoMandy>
there are several branches attempting to build webkit2 but they are all broken in various ways
<PulkoMandy>
and old
<x512[m]>
PulkoMandy: What is status of Webkit2?
<PulkoMandy>
it's broken as I just said. In the main branch it doesn't compile at all, it's old code from 2010
<PulkoMandy>
completely out of sync with current webkit2 code
<x512[m]>
I have some experience of interprosess bitmap passing with VideoStreams.
<PulkoMandy>
in the other branches we tried resyncing it, it builds, but it's broken at runtime
<PulkoMandy>
in the gsoc 2019 one there was enough working to render google homepage, but the code is a mess with too much changes to webkit internals
<x512[m]>
Does it use OpenGL hardware acceleration?
<PulkoMandy>
in the later webkit2 branch I tried to clean this up, but I did not manage to get all the processes to talk to each other
<PulkoMandy>
no
<PulkoMandy>
let's get it running first :)
<x512[m]>
If something exists that compiles, I may try to get it running.
<PulkoMandy>
the inter process communication is written to use BLooper, but it's a bit complicated to start it up because it needs to talk to a specific BLooper inside each process. In Linux it uses pipes or posix sockets, which you can create before forking, and then each side of the fork can use one end of it and start talking using that
<x512[m]>
Does it use fork()?
<PulkoMandy>
but with BLooper we don't have something like that, so we start each team and then we have to figure out a way to get them to communicate
<PulkoMandy>
no, all native APIs, it uses BRoster::Launch to start the other teams in Haiku
<PulkoMandy>
all that can be changed, I don't know what's best. We could find a way to make this work, or we could throw it all away and do things more POSIX style, I don't know if that would be a problem later or not
<x512[m]>
BRoster::Launch can pass initial message that can be used to establish communication.
<PulkoMandy>
yes, the main problem isn't really lacking APIs in Haiku, it's mainly fitting it into the API of WebKit. At least because I did not attempt making any changes to that API
<PulkoMandy>
we could probably change it if we do it in a way that doesn't break anything for the other OS, but I did not have much time to reseach that
<PulkoMandy>
and of course I always end up spending more time rebasing the branches and trying to keep them building so anyone can start looking into it, than I spend actually working on things
<x512[m]>
My VideoStreams is based on Application Kit. I worried about latency, but it seems fine.
<x512[m]>
Is there Webkit2 branch exists that compiles?
<PulkoMandy>
the last of these worked enough to render some webpages before crashing, but the code is a bit messy (it was exeprimenting with various ways to do things)
<extrowerk>
i am working not too frequently with recipes, but as far as i know, this should work "make install PREFIX=$prefix MANPREFIX=$manDir" but i get: