<Skipp_OSX>
I suppose that the alternative app_server display_server for fancy 3d would be full screen only?
<Skipp_OSX>
Seems like i'd have to be for that trick to work but that would be acceptable for 3d apps provided we had a kill switch somehow to switch back to the regular 2d display_server from an app_server crash
<Skipp_OSX>
assuming we had fancy 3d drivers to crash in unexpected ways of course to go with it.
myriad has quit [Quit: Connection closed for inactivity]
<x512[m]>
Skipp_OSX: /me silently develops app_server_neo with 3D acceleration and Skia renderer.
<Skipp_OSX>
yeah if you want to run on RISCV!
<x512[m]>
3D acceleration will be possible to disable of course.
<x512[m]>
Also multi-monitor and display without tearing is quite separate thing from 3D acceleration.
<x512[m]>
It is unrelated to RISC-V.
<Skipp_OSX>
correct that's all 2d side
<Skipp_OSX>
I guess that's what he's talking about *sigh*
<Skipp_OSX>
and pine no upgrade path to riscv on pine book pro how dare they
<Skipp_OSX>
could have easily made a board with same footprint riscv but no completely different incompatible foot print.
<x512[m]>
Unlike Waddlesplash, I plan to follow original app_server design with one global app_server. User lock screen will use the same app_server, but switch to another user session with its own set of applications.
<Skipp_OSX>
full screen only?
<x512[m]>
What do you mean "full screen"?
<Skipp_OSX>
like not just in a window takes up the whole screen
<x512[m]>
What is not full screen app_server? Nested windowed mode?
<Skipp_OSX>
well direct window when that option is turned on I guess
<x512[m]>
Direct window is a legacy thing.
<Skipp_OSX>
right that's so this theoretical not entirely related to riscv would display 3d in a window as well?
<x512[m]>
How this is related to RISC-V?
<Skipp_OSX>
I just assumed it was
<Skipp_OSX>
drivers perhaps
ablyss has quit [Quit: Konversation terminated!]
<Skipp_OSX>
I was under the impression you'd managed to achieve some sort of fancy 3d but on your secret RISCV port
nephele_xmpp has left #haiku [Error from remote client]
<x512[m]>
ASN (app_server_neo) is a completely separate project.
<Skipp_OSX>
not a well kept one anyway
<Skipp_OSX>
ok
<x512[m]>
I still do not understand what do you mean by "window takes up the whole screen" and what is an alternative.
<x512[m]>
When app_server runs directly on screen, screen is not a window at all.
<Skipp_OSX>
right no window, just screen like a full-screen game
<Skipp_OSX>
The alternative would be that same game, only running inside of a window.
<x512[m]>
But who will handle window in that case?
<x512[m]>
Windows are app_server concept.
<Skipp_OSX>
right, ok like a Window/ServerWindow idk you tell me.
<Skipp_OSX>
I'm not entirely sure with how app_server works exactly so I am not sure, but if you're saying that it would take over the screen that means the whole thing to me not just a screen in a window.
<Skipp_OSX>
so "full-screen"
HaikuUser has quit [Quit: Vision[]: i've been blurred!]
<Skipp_OSX>
My understanding is that right now app_server is all single buffered and the it knows enough about where each window is that it is able to draw the whole screens in with no overlap. I would think that would not work so well with either of your alternative display_server. I mean it barely can handle the mouse over spinning teapot
<Skipp_OSX>
but if you were to go into a full-screen mode (and could come out of it) then that would neatly sidestep those problems.
<x512[m]>
GLTeapot is broken because it use BDirectWindow.
<x512[m]>
BDirectWindow will become even more broken with introducing hardware acceleration because of framebuffer flipping and tiled encoding.
x10z has quit [Ping timeout: 480 seconds]
<Skipp_OSX>
can we replace it in teapot?
<Skipp_OSX>
and Haiku3d too (I guess)
<x512[m]>
Yes of course. Just use regular BWindow.
<Skipp_OSX>
is it use regular BWindow or "just" use regular BWindow? Because it seems like that wouldn't work.
Nasina has quit [Read error: Connection reset by peer]
<x512[m]>
I plan to use GPU memory backed BBitmap for hardware acceleration, so BDirectWindow will be not needed. Just use DrawBitmap or SetViewBitmap and it will work efficiently/
<Skipp_OSX>
right, well let's get there, then use regular BWindow is all.
<Skipp_OSX>
ok yeah that should work in a window I guess?
<Skipp_OSX>
since it's just like drawing any other bitmap.
<x512[m]>
Yes, DrawBitmap will be accelerated. But it may need to allocate BBitmap in special way to be properly accelerated.
<x512[m]>
Probably some new BBitmap flag for GPU memory and enabled tiling.
<Skipp_OSX>
you'll need more direct drawing access than what BView provides Is suppose.
nephele_xmpp has joined #haiku
<x512[m]>
DrawBitmap/SetViewBitmap should be enough.
<Skipp_OSX>
right no need to attach a view at all
<Skipp_OSX>
well you could but draw into it using DrawBitmap I mean
<Skipp_OSX>
but you'd need flags to get more access to GPU memory for textures and whatever else.
<x512[m]>
Drawing into BView also mean drawing into bitmap, but some internal bitmap on app_server side. It can be accelerated by Skia renderer.
x10z has joined #haiku
<Skipp_OSX>
right you pass a flag into the one on app_server side to turn that on.
<Skipp_OSX>
what is Skia?
<Skipp_OSX>
Some RISCV GPU I imagine.
<Skipp_OSX>
It's a 2d graphics library?
<x512[m]>
It can be 2 modes in accelerated app_server: classic region mode where applications draw into single screen sized buffer clipping. And composited mode where each window have dedicated bitmap buffer and all BView drawing is directed into that bitmap buffer.
<x512[m]>
Skia is popular 2D rendering library that has accelerated rendering support using OpenGL/Vulkan.
<Skipp_OSX>
I see but it's all 2D then?
<Skipp_OSX>
Well that's still good just not what I was thinking of for 3d games.
<x512[m]>
It render 2D primitives, but use 3D acceleration API in its implementation.
<Skipp_OSX>
I see
<x512[m]>
Today 3D acceleration is used even for 2D rendering.
<Skipp_OSX>
right makes sense
<x512[m]>
Skia still has pure software implementation.
<Skipp_OSX>
it's just not for 3d games is all, but still a vast improvement
<Skipp_OSX>
in terms of mouse cursor over teapot at least
<Skipp_OSX>
well ok I accept that, it must be of course
nephele_xmpp has left #haiku [Error from remote client]
x10z has joined #haiku
OscarL has joined #haiku
x10z has quit [Ping timeout: 480 seconds]
<OscarL>
UnrealNeil: better use "/priv Butler catsup" (or "/msg Butler catsup"), or risk IRC/Matrix/xmpp users thinking you're speaking in tongues (not sure now many of current users remember that BeShare's bot "catsup" command :-D)
* OscarL
kinda misses Atrus :-P
Nasina has joined #haiku
Nasina has quit [Read error: Connection reset by peer]
<OscarL>
isn't there a use case for BDirectWindow for hardware that will never get HW 3D accel?
<OscarL>
*2D/3D
<OscarL>
I'd like to see, for example, MediaPlayer offering a BDirectWindow option, instead of the pretty slow and prone to tearing DrawBitmap.
<Skipp_OSX>
makes sense
<Skipp_OSX>
yes there is
<Skipp_OSX>
anything that needs to quickly draw bitmaps
<Skipp_OSX>
but I want fancy 3d acceleration!
<OscarL>
(video_overlay whould be better than using BDirectWindow, I reckon, but that also hasn't worked for me in ages)
<OscarL>
my point is... I do understand the issues with BDirectWindow, but I would hate for it to be gone.
<OscarL>
(for hardware with no HW accel at least)
<OscarL>
Wish I was smart enough to cook up a DirectWindowVideoOutput media_server addon :-)
mmu_man has quit [Ping timeout: 480 seconds]
<x512[m]>
3D rendering can also use DrawBitmap for displaying final result.
<x512[m]>
Wayland do mostly the same for example.
* OscarL
is happy to finally have some of his Pe's PR merged.
<OscarL>
Being able to use "lpe --diff file1.cpp file2.cpp" is pretty sweet, if I may say so.
Nasina has joined #haiku
<OscarL>
If you're reading logs korli... thanks a bunch for the reviews/merges :-)
<x512[m]>
Recent nightly change broke my SystemManager stack trace.
Begasus has joined #haiku
<Begasus>
morning peeps
<OscarL>
Begasus: morning lazy boy! :-P
<OscarL>
(joking... not even 7 AM there, right? :-D)
<Begasus>
OscarL! the guy with the weird day schedule :P
<Begasus>
so, you got scipy fixed?
<OscarL>
(barely 1:47 AM here... pretty "normal" :-P)
<OscarL>
nah... today was busy cleaning the house.
<Begasus>
every thing dry again?
<OscarL>
will probably attempt scipy again over the weekend :-D
<OscarL>
Begasus: today, dry again, yes (thanksfully). yesterday... hot as hell and humid... yikes!
<Begasus>
will testdrive KF6 6.11.0 over the weekend and do a release on Monday (have been running 6.11.0-rc1 over a week, so should be good)
<Begasus>
bah, me no like humid
<Begasus>
early here today, not even 6AM :)
<Begasus>
checking mailbox, looks like it exploded :D
<Begasus>
back
nephele_xmpp has left #haiku [Error from remote client]
orealis has quit [Ping timeout: 480 seconds]
AlienSoldier has quit [Quit: Vision[]: i've been blurred!]
<Begasus>
switching to NeoChat, Vision is too bright at this moment :)
Begasus has quit [Quit: Vision[]: i've been blurred!]
<Begasus[m]>
better :)
<OscarL>
might switch Pe to secondary arch on next recipe update.
<Begasus[m]>
going to the new era on it? :)
<OscarL>
no much point in buildiing it with gcc2 for Haiku anyway :-)
nephele_xmpp has joined #haiku
<Begasus[m]>
correct
<OscarL>
wondering if we'll get 2.4.6, or 2.5.0 as next Pe version :-P
<OscarL>
I should try to clean up my WIP OCaml Pe language extension before we get a tagged release (would be nice after so many years)
<Begasus[m]>
deppends on what's new I guess :P
<OscarL>
Begasus[m]: 2.4 is from 2006... and 2.4.5 from 10 years ago.
<Begasus[m]>
Only shows how good it is OscarL :P
<OscarL>
nothing worth of a 3.x release, of course, but I think the accumulated changes might warrant a 2.5.0 at least :-D
<Begasus[m]>
A move to the modern compiler would be one I think
<OscarL>
Well, has been using newer GCC on 64 all this time so...
<Begasus[m]>
right, just not on 32bit
<OscarL>
but even having the "--diff" feature alone available I think merrits the 2.5.0 (vs 2.4.6 for just smaller fixes).
srnp has joined #haiku
<OscarL>
PonpokoDiff is great for "quick diffs", but Pe with --diff... puts it more or less on par to "meld" or "TortoiseMerge" IMO (in terms of features for a "diff-editor").
<OscarL>
Would be nice if I could finish my ("Indifferent") Tracker addon (to allow you to call different "diff" programs on selected files)
<Begasus[m]>
focus! (and finish up) ;)
<OscarL>
too bad I seem to have the concentration powers of a squirrel on meth.
<OscarL>
:-D
<Begasus[m]>
heh
x10z has quit [Ping timeout: 480 seconds]
erysdren has joined #haiku
x10z has joined #haiku
Nasina has quit [Remote host closed the connection]
Nasina has joined #haiku
<Begasus[m]>
nice, KDE framework documentation shows up just fine in qtcreator :D
<Begasus[m]>
plugins loaded fine in designer :)
OscarL has quit [Ping timeout: 480 seconds]
<erysdren>
hey Begasus
<erysdren>
do we not have SDL3 packaged?
srnp has quit [Ping timeout: 480 seconds]
<Begasus[m]>
Hi erysdren (@_oftc_erysdren:matrix.org) , not yet
<Begasus[m]>
open PR atm
<erysdren>
whats wrong with it?
<erysdren>
or rather, what's missing
<Begasus[m]>
keyboard input seems not to work
<erysdren>
ah
<Begasus[m]>
should check latest changes on the PR
nephele_xmpp has left #haiku [Error from remote client]
<erysdren>
Begasus: forgot to mention, i was asking about SDL3 because i made an SDL3 port of software-rendered Quake
<erysdren>
curious to put it on Haiku sometime
<erysdren>
once libsdl3 is packaged
<Begasus[m]>
well, you should be able to package it there erysdren (@_oftc_erysdren:matrix.org)
<Begasus[m]>
so far only the examples have been tested, so can't really state on how well it is at the moment
<erysdren>
package it where?
<erysdren>
you mean test the PR?
<Begasus[m]>
test the PR yes, didn't you have haikuporter set up?
<erysdren>
i do yeah, just gotta update it
<erysdren>
i havent touched my Haiku VM in a few months
<Begasus[m]>
maybe it's time now :)
<Begasus[m]>
already did a recipe for sdl3_image here to test detection/build for it
<Begasus[m]>
still builds fine
<erysdren>
5 months since i touched haikuporter
<erysdren>
apparently
nephele_xmpp has joined #haiku
<Begasus[m]>
erysdren (@erysdren:matrix.org) is there anything (not that big) I could check against with SDL3?
<Begasus[m]>
at least I would know if it's good to persude in adding the other libraries or not
<erysdren>
not sure tbh
OscarL has joined #haiku
<Begasus[m]>
ok :)
<erysdren>
sdl3quake takes like 30 seconds to compile and only relies on libsdl3
<Begasus[m]>
nice thanks for sharing and checking!
<erysdren>
np
<OscarL>
I used to be quite good at Quake 1-on-1 deathmatch using keyboard only (even against mouse users) back in 1997/8. Today, I surely couldn't even beat ReaperBot on easy mode :-)
<erysdren>
Quake DM is so fun with friends
<erysdren>
recently i organized a match on a server i was hosting
<erysdren>
a QuakeWorld server
<erysdren>
it was nice :D
<OscarL>
we played 1-on-1 via DirectCable (over IPX) with a custom made cable :-D
<Begasus[m]>
ah erysdren (@erysdren:matrix.org) does it respond to keyboard?
<OscarL>
(no one had a NIC back then among our friends :-D)
<erysdren>
yes begasus
<erysdren>
i can play the game perfectly well, and navigate menus
<Begasus[m]>
nice!
<erysdren>
mouse works too
* Begasus[m]
was more of a Unreal player
nephele_xmpp has left #haiku [Error from remote client]
<B2IA>
(UnrealNeil) Trying to update the version of Haiku on a USB, got a bad data error. How can I run a fs check in Haiku?
<OscarL>
Was good enough to beat original UT's bots on Godlike (not always, but most of the time). Last time I've tried... damn... years haven't been good on my reflexes :-D
<OscarL>
Seems even "walking simulators" games pose a challenge now for me :-P
<OscarL>
UnrealNeil: "> checkfs /boot" ?
<OscarL>
or "checkfs /any-path-on-the-usb-drive" if you mounted that USB on a different Haiku install.
<andreaallegri>
beos 5.0.1 pe under win95 under vbox ...
<andreaallegri>
... under win11 ...
<andreaallegri>
upgraded to r5.0.3
akashkumar has joined #haiku
nephele has joined #haiku
<andreaallegri>
give me an account
<nephele>
I'm getting webkit linking failures related to ICU "TextEncodingDetectorICU.cpp:(.text._ZN3PAL18detectTextEncodingESt4spanIKhLm18446744073709551615EEN3WTF12ASCIILiteralEPNS_12TextEncodingE+0xa8): undefined reference to `WTF::ucsdet_detectAll_span(UCharsetDetector*, UErrorCode*)'"
<nephele>
I don't suppose someone knows what that may be about?
san2ban has joined #haiku
<andreaallegri>
a prayer?
san2ban has quit []
<andreaallegri>
maybe the encoding of TextEncodingDetectorICU.cpp itself ?!?
bbjimmy has quit [Remote host closed the connection]
Captain0xff has joined #haiku
nephele_xmpp has joined #haiku
BrunoSpr has joined #haiku
HaikuUser has joined #haiku
HaikuUser has quit []
tktech281 has joined #haiku
tktech28 has quit [Ping timeout: 480 seconds]
tktech281 is now known as tktech28
<nephele>
zardshard: hello there, are you around=
zard has joined #haiku
x10z has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
* zard
has been summoned
<zard>
nephele: but, alas, it's lunch time for me
<nephele>
Well then, you better have a good lunch :P
<zard>
:D
* nephele
continues poking BWebView with a stick
bbjimmy has joined #haiku
<BrunoSpr>
Captain0xff.. no it runs very smoth and fast
Captain0xff has quit [Ping timeout: 480 seconds]
MisthaLu has quit [Remote host closed the connection]
MisthaLu has joined #haiku
bjorkintosh has joined #haiku
<zard>
brb
zard has quit [Quit: leaving]
mattlacey has joined #haiku
MisthaLu has quit [Ping timeout: 480 seconds]
BrunoSpr has quit [Quit: Vision[]: Ich wurde eingeweicht!]
zard has joined #haiku
<zard>
re
<zard>
nephele: Ready :-)
<nephele>
So, I am trying to understand how BWebView works, it doesn't seem to be a child class of anything. How does it get "attached" to the window? It seems to be missing and ::Attached method for example
<nephele>
My "Original" problem Why i looked into this was that I want to set the color used for rendering *before* a website is loaded to the document color. e.g MiniBrowser started without a URIC
<nephele>
URI*
x10z has joined #haiku
<zard>
So, I think what you're looking for is WebViewBase
<zard>
Personally, I think the naming here could be better, since BWebViewBase inherits BView and BWebView does not
<zard>
But the whole API is really in a half-finished state, so can't blame the creator too much ;-)
* zard
wonders "Why again are these two separate classes? Can't they just be one class?"
<nephele>
Looks like WebViewBase is a Webkit Class, but then it also is a BView
<nephele>
BWebView posts messages to the looper for WebViewBase, hmm
<nephele>
Maybe I misunderstand, but if it is "only" posting messages, perhaps those could be static members of WebViewBase that do this?
<zard>
Hmm... For example, move the contents of BWebView::goForward into BWebViewBase::goForward?
<zard>
Yeah, looks like that would work
<nephele>
I don't think we can get rid of the *View* part in the class name easily, but WebViewBase alone atleast is less confusing than WebView plus WebViewBase
<zard>
I think I remember why BWebView and BWebViewBase were separate ...
* nephele
waits for a threading issue
<zard>
Yep! We need to start WebKit on the main application thread
<zard>
And that's what BWebView does
<zard>
Of course, we can only display the actual contents of the web view on the window thread
<zard>
And that's what BWebViewBase does
<nephele>
It's not BWebViewBase, it's WebViewBase
<zard>
Ah
<nephele>
WebViewBase also exists for the other ports
<zard>
Hmm
<nephele>
Yeah but, why is WebView not also based on a View that just Draws the content of WebViewBase in it's draw? (or a buffer swap) am i missing something?
<nephele>
or is that too unperformant "just" for a cleaner api?
<nephele>
BWebView I mean
<zard>
Hmm... so WebView's Looper is running on the application thread... not sure that would be compatible with a BView which I think wants its looper on the window thread
<nephele>
Ah. Okay. Hmm
* zard
tries to think of ways to merge them
Captain0xff has joined #haiku
<Begasus>
back after a coffee refill ...
<nephele>
anyway, BWebViewBase should have an attachedtoWindow then?
<zard>
Yeah, that should be right
<nephele>
Maybe I should install this slack thing again
<nephele>
and ask about all these things of us rather not running webkit on the main thread...
<zard>
Could help :)
mattlacey has quit [Ping timeout: 480 seconds]
<zard>
I got an idea... rename BWebView to BWebKit and WebViewBase to BWebView
<zard>
BWebKit should then only do the things that need to run on the application thread and BWebView can do the rest
<nephele>
Sure. but: WebViewBase is a Webkit class. I don't know how easy it is to rename stuff there without breaking other stuff
<nephele>
does this work with a typedef or something?
<zard>
Hmm... I was thinking it wouldn't break anything? Let me take a look...
<nephele>
Can I check in WebViewBase::Draw if there is *actually* a site beeing rendered? and if not draw something else?
<zard>
Hmm
<zard>
There probably is somewhere in one of the classes. I don't know. Perhaps WebViewBase::currentURL gives a hint of where to look?
Begasus has quit [Quit: Vision[]: i've been blurred!]
<Begasus[m]>
switching to NeoChat (dark theme)
<zard>
So, I don't think I ever encountered anything that would prevent renaming WebViewBase
<zard>
It is, as far as I remember, a custom class made for our needs that just so happens to be named similarly to some other ports
<zard>
There may be a couple of references in WebKit that we may need to rename, but that would be references that we put in
<zard>
But... I could easily be wrong
<nephele>
If you want feel free to rename it then :)
<drusatori_alt>
alright, I think I'm gonna pull the plug on getting the mediatek 792x driver working. as far as I can tell, it is incomplete and barely works in BSD, not sure it's worth the effort at this time in it's lifecycle
<nephele>
how am i supposed to know where this State:: is declared
<nephele>
drusatori_alt: Alternative would be talking with the bsd folk?
<drusatori_alt>
tried, got no response.
<nephele>
on their mailing list or irc?
<drusatori_alt>
at least from the MediaTek side, as they are the authors
<nephele>
or bug tracker?
<drusatori_alt>
email.
<drusatori_alt>
I was, admittedly, also working in code that is way out of my comfort zone, and due to work I don't have the time to *really* learn what I probably need to :)
<drusatori_alt>
I'll circle back to it in a month or so to see if things have changed though.
<drusatori_alt>
I've got other todo items to keep me busy
<Begasus[m]>
if the license that are in the recipe one of these, they shouldn't be included in the recipe
<Captain0xff>
The app_server. Font related stuff
<nephele>
anything that has Binary compatibility with BeOS needs to build with gcc2
<Begasus[m]>
s/one/is one
<nephele>
the app_server itself should be fine for "newer" stuff, but we don't usually add much of the standard template library unless it makes sense to do so, especially when we have our own data types
andreaallegri has left #haiku [#haiku]
<nephele>
(BeOS predated the "modern" C++ after all, and some design decisions are different)
<zard>
nephele: Good catch! By the looks of it then, WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame is called by an IPC message from WebProcess. Time to keep looking ;-)
<nephele>
Captain0xff: Begasus[m] ment you should delete the data dir. As in the package puts something in it which is not needed. You can open your package with HaikuDepot after it is compiled, and check the contents tab to view all included files
<nephele>
zard: added a puts line there and an implementation, didn't work of course xD
<nephele>
maybe this has to be called from our port somehow, but i hoped it doesn't need to
<nephele>
I guess I can just add a member to WebViewBase to track if loadURL was ever called
<Captain0xff>
Yeah. I also like to avoid excess use of templates (as they can increase compile times by a lot) or unnecessary use of fancy stuff. But some of the modern C++ (C++ 11+) features are quite nice and convenient.
<nephele>
Well, it depends on what. For example exceptions are not used by Haiku at all as of now (except in netservices2 which is a tech demo by nielx[m] to discuss if we want to use those in the future)
nephele_xmpp has left #haiku [Error from remote client]
<Captain0xff>
Begasus Oh. Now I undestand what you meant. nephele thanks for explaining
<x512[m]>
Exceptions are used internally in Package Kit and in resource handling.
<zard>
nephele: Think I'm getting closer :). I found LocalFrameView::checkAndDispatchDidReachVisuallyNonEmptyState which determines whether something qualifies as visually empty or not
<Captain0xff>
I don't like exceptions too. I do graphics stuff and most people in that world seem to prefer return codes and assertions (where applicable). The modern C++ stuff that I like are smart pointers, move semantics, etc. There are some others but I am not very sure what standard they are in.
<nephele>
I think those should be generally OK. But check if app_server is compiled with gcc2 or not. If it is then it may be difficult to change this
<nephele>
But I'm not too sure about that
<Begasus[m]>
Captain0xff $dataDir comes naturally to me, doesn't strike me as strange any more, and sometimes forget that :)
<x512[m]>
gcc2 also support exceptions.
<Captain0xff>
Begasus No problem lol. I hope that I will be able to pickup these more quickly as I get more familiar with the haiku ecosystem
<nephele>
Out of curiosity, what do you plan to do with the fonts? :)
<Captain0xff>
Complex text rendering. It was listed as one of the tasks for GSOC. Basically, adding support for correctly rendering languages like hindia, arabic, thai, etc
<Captain0xff>
*hindi
<nephele>
Ah. Okay
<nephele>
Was curious since you asked about "other" tasks in the forum :)
<Captain0xff>
If I am correct currently the app_server only uses freetype. Which can't do proper text shaping. So, I will need to add support for proper text shaping with something like harfbuzz
akashkumar7902 has joined #haiku
<nephele>
Yep, as discussed :)
<Captain0xff>
yes
<nephele>
zard: heh. I wonder what visually empty even is. I really just want it to draw the document color if nothing has ever been requested. Or maybe write some nice Haiku there for no request loaded :)
<nephele>
"This page, Empty, Full of posibility."
<zard>
:P
<zard>
Yeah, surely there is a way to change "about:empty", or whatever it is in WebKit
<nephele>
I don't think we use an equivalent as such
<nephele>
In WebPositive when opening a new tab it still flashes white briefly
nipos has left #haiku [Disconnected: Received SIGTERM]
<nephele>
I figure it redraws with white somewhere, somehow (tm)
dalme has quit [Read error: No route to host]
<zard>
Enough for today for me though. Bye!
<nephele>
> bin/MiniBrowser hooray!
<nephele>
It printed the line, it works. Neat
<nephele>
zard: have fun :D
<zard>
Oh, wait, what works?
<nephele>
but it prints it every time, oh well
<nephele>
The didFirstVisuallyNonEmptyLayoutForFrame line
<nephele>
it prints my puts message when it loads the url
<zard>
Oh, nice
<nephele>
but it does it every time
<nephele>
so each new url load
nipos has joined #haiku
akashkumar7902 has quit [Remote host closed the connection]
<zard>
Ah, so those "layout milestones" must be reset every time a new page starts loading
akashkumar has quit [Ping timeout: 480 seconds]
akashkumar7902 has joined #haiku
<nephele>
the file: page for directories in Webkit2 Is UGLY
<nephele>
it's just the "dir1 dir2 dir3" as text
<zard>
Heh :P
BrunoSpr has joined #haiku
<zard>
All right, I'm off
zard has quit [Quit: leaving]
akashkumar7902 has quit [Remote host closed the connection]
akashkumar7902 has joined #haiku
dalme has joined #haiku
akashkumar7902 has quit [Remote host closed the connection]
akashkumar7902 has joined #haiku
<Captain0xff>
When I build a hpkg with `haikuporter -S package_name` haikuporter tells me that it moves the newly built hpkg to /boot/system/packages. But in two occasions it seemed to me like that the package isn't actually updated. Like, now when I added code to remove the $dataDir and built the recipe. Haikuporter was still showing the data folder in the contents. It only updated after I uninstalled the old package and installed the new hpkg from .../haikuports/pac
<Captain0xff>
es manually.
<nephele>
did you update the revision field?
<nephele>
package kit has problems when trying to replace a package with the same version of the same package
<Captain0xff>
Oh. No I didn't since like the package isn't in haikuports repo yet and I am still testing it. Makes sense. Thank you for explaining
x10z has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<PulkoMandy>
nephele: As far as I know there is no "nothing shown" special state in WebKit. It will just load the about:blank page for which there is a special request handler (like for data: uris, that doesn't reach curl)
<Begasus[m]>
Captain0xff trailing whitespace in the recipe :)
<PulkoMandy>
The functions you were looking at earlier is for showing things during a page load, that is split in various steps as well
<nephele>
PulkoMandy: That may be, but what does this render? The MiniBrowser default view only shows a Panel background color, which, if a about:blank would be loaded would suggest a transparent color?
<PulkoMandy>
Maybe, yes
<Begasus[m]>
Captain0xff haikuporters build end up in your haikuports repo in the "packages" directory
<PulkoMandy>
The "front" view isjust rendering a bitmap and the bitmap could be empty if we do nothing to it
<Begasus[m]>
just double-click them there to install
<nephele>
Loading about:blank in MiniBrowser turns the viewport white
<nephele>
(which is expected for no dark mode yet). So it doesn't show this initiially
<PulkoMandy>
the actual drawing has to be done by GraphicsContext to the view bitmap
<PulkoMandy>
So maybe there is no such drawing happening then. But it would not be the case in WebPositive, there I think we always load something when creating the view
AlienSoldier has joined #haiku
<nephele>
Do we need to load about:blank? It seems a bit silly to me. But okay.
<nephele>
I guess I can make minibrowser load about:blank on load
<nephele>
do you still have the keyboard patch I send you?
<PulkoMandy>
maybe on my haiku machine, I'm not in front of it right now
<nephele>
Okay. I did send it per email, but haikus email did not save it to my outbox, of course :)
<nephele>
So Now I have your responses to partial parts of the patch, but not the whole thing
<PulkoMandy>
I think I have enough problems of my own without babysitting someone elses patches :/
<nephele>
What do you mean by babysitting? It was not my intention that it got "lost" on my machine... I don't know where it went
<nephele>
I guess in the worst case I will just redo it. I guess.
dalme has quit []
<PulkoMandy>
I'll look for them later, I probably have either the files or the mail
Begasus_32 has quit [Quit: Vision[]: i've been blurred!]
<nephele>
Next time I will upload the patches to disroots git, and if you'd like send them to the dev mailing list for review there.
<PulkoMandy>
Sorry, too much things todo and a bit tired at the moment, so I'm not in my best mood
<nephele>
That's alright
<nephele>
It's not an immidiate priority. There are other things I can fix in the meantime
<Captain0xff>
Begasus sorry, went to grab some food. Done. No more errors
<Captain0xff>
Bagasus yes the build ends in haikuporters package directory but there is also a log telling me that it is moving the hpkg to /boot/system/packages for the packages that are already installed
akashkumar7902 has quit [Remote host closed the connection]
<Captain0xff>
One more thing. Even though I have konsole installed. Kate still says konsole not installed.
<nekobot>
• captain0xff (9c171465): Added recipe for libsdl3 (#11770)
<Begasus[m]>
Thanks Captain0xff 👍
x10z has joined #haiku
<Captain0xff>
No problem. Looking to port more packages in the future and hopefully without the need for so much guidance :)
<nephele>
libsdl3 looks to be a bit better fitting to haiku than libsdl2. I'm kind of curious how "difficult" it is to write a game in C++ utilizing sdl3
<nephele>
currently my game is in lua on love2d, but that has shortcomings i don't really like
<bjorkintosh>
nephele: de{vil, tails}
<Captain0xff>
Also, now the libsdl3 package will be available for everyone to download? Or it needs to manually published somewhere by someone?
<bjorkintosh>
depends on how hard you want to make it.
<nephele>
Captain0xff: It is build and deployed automatically on beta5 builders
<nephele>
It will show up in haikudepot at some point
<nephele>
bjorkintosh: well, what i currently have is a canvas you can draw on, a game character that can move on the canvas (2d). And some basic physics, and this all networked
<bjorkintosh>
good start.
<bjorkintosh>
now, make it fun!
<nephele>
in the future some more complex "programming" layer would be added to one canvas layer
<nephele>
Well, it is fun to draw and run around :)
<Captain0xff>
nephele SDL is bit lower level than love2d but still the renderer api is very nice. You might want to wrap all the C-style stuff in C++ classes nicely with RAII and smart pointers like I did. And then it should be as good as something like love2d or pygame
<nephele>
Just not really performant on some computers. with love2d taking up almost all my cpu with llvmpipe
Anarchos has joined #haiku
<bjorkintosh>
nephele: what're the specs?
<nephele>
Wdym? of the computers in question?
<bjorkintosh>
yes. yours.
<nephele>
Well, one i tried it on had a pentium M, another has a quad core i3. and this one has some 12core amd chip ryzen 5 3600
<Captain0xff>
SDL now has 3 apis that you can use for drawing stuff. The surface api which uses a custom software renderer to draw stuff. The render api which has a number of backends like (gl, vulkan, the software renderer I mentioned before). And the gpu api which like a modern graphics api that wraps vulkan, d3d12 and metal to have cross platform support. Though the gpu won't get you far in haiku because no hardware rendering.
<Captain0xff>
*the gpu api
<nephele>
If i have the window open here with a 768x768 canvas texture it uses about 20% of *every* core
<nephele>
and that can't really be right
<nephele>
so, two canvas textures.. one foreground one background, anyway
<bjorkintosh>
that's a bit excessive.
<bjorkintosh>
hmm.
<nephele>
each core utilized it taken by llvm0 to llvm11 threadas
<nephele>
I assume that this is something I can't easily rectify with love2d and i'm just supposed to run it with "proper" opengl
<nephele>
but... for this kind of "simple" 2d game gpu acceleration shouldn't really be neccesary
<Captain0xff>
I was getting 60 fps with the SDL3 woodeneye-008 example. Which is a simple 3d fps demo
<Captain0xff>
I have a i5-3470 and this is on a VM
<Captain0xff>
So, I will say the performance is quite good
x10z has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<nephele>
This is the view as I have it open now. I don't see how this really justifies 12 llvmpipe threads :)
<nephele>
So one UI layer (which is also pre-computer on a canvas), the text label above the character, the character, and then a foreground and background canvas layer. and the window background color
<bjorkintosh>
odd.
<bjorkintosh>
any verbose output to parse?
<nephele>
to stdout/stderr? don't think so. I only have stuff I logged there for the network protocol. I don't think love2d logs anything more than that
<nephele>
It only sais that it opened opengl/Software Pipe
<nephele>
and is using llvm12.0.1
<nephele>
anyhow, you can clone the game if you want to play around with it (but you need to use HEAD~1)
dalme has joined #haiku
<nephele>
But still. no clue why love2d behaves this way
<andreasdr[m]>
Hi there.
<nephele>
hi :)
<bjorkintosh>
nephele: might be plain old ... carelessness.
<bjorkintosh>
moore's law has made us all very lazy. and LLMs are going to make us even lazier.
<nephele>
Could be :/
<nephele>
But honestly, I want this game to run great on my pentium M aswell :)
<nephele>
I don't believe anyone should buy a new computer for a simple 2d game...
<bjorkintosh>
you might have to profile it and it dig into the innards a bit.
<bjorkintosh>
nephele: we're utterly spoiled.
<bjorkintosh>
I do my best to re-use old laptops.
<bjorkintosh>
currently have one displaying a clock :-D
<bjorkintosh>
and that's all it does.
x10z has joined #haiku
<nephele>
I am happy Haiku runs on that Pentium M laptop
<nephele>
I heard even debian wants to remove 32bit intel support in their next version
<nephele>
Captain0xff: I don't suppose you have some nice examples of 2d draw-in-process apps for sdl3? :)
<nephele>
Or maybe I should just make it Haiku native from the start this time...
<nephele>
no linux version then, but that didn't really help me before either...
<Captain0xff>
wdym by draw-in-process?
<nephele>
Drawing yourself to off-screen bitmaps without using OpenGL or vulkan to let the gpu handle this
<Captain0xff>
Oh. You can use the SDL renderer examples. And just update the code to use the software renderer either using SDL_RENDER_DRIVER env var or specifying the driver in SDL_CreateRenderer. You can also use the SDL_Surface API directly which is lower level and will allow you to do basic stuff with surfaces (basically a pixel array). Here you can see and interact with the SDL examples: https://examples.libsdl.org/SDL3/
BrunoSpr has quit [Quit: Vision[]: Ich wurde eingeweicht!]
<nephele>
Okay, though using llvmpipe or lavapipe is not really that well suited for me
<nephele>
I was more thinking of AGG or so
<nephele>
I guess I can just use Haikus drawing directly though, that also is implemented with AGG
<nipos>
nephele: Adding more branches of HaikuWebKit to Grok isn't super easy, since one project on Grok is always limited to the once branch that's checked out. The only solution would be cloning the whole repository again as a new project and checking out a different branch. I used to avoid that, but if it would be helpful, I can give you one additional branch. Don't want to add all branches, however.
<Captain0xff>
The software renderer is implemented by scratch customly. It doesn't use any of the graphics apis like opengl or vulkan and hence doesn't llvmpipe or lavapipe afaik
<Captain0xff>
nephele
<nephele>
nipos: oh okay. Well this is a bit "eh". For normal haikuwebkit polishing the haiku branch is relevant, but for working on the next version with webklt2 the haiku-webkit2 branch is relevant, sadly this is still split in these two branches
nephele_xmpp has joined #haiku
<nipos>
I think the haiku branch is currently on Grok. If I give you haiku-webkit2 additionally, would that help?
<nephele>
I think it would. yeah. Though I should send you patches for the dark mode :)
<nephele>
Captain0xff: Hmm okay. So SDL3 has it's own drawing api then that this is based on?
<nipos>
Feel free to send patches, yes. As I already said, that was only a quick and dirty thing, improvements welcome
<nephele>
oh nice the sdl3 website crashed my browser
<Captain0xff>
SDL always had it from SDL1. There is also a hardware accelerated api called the render api which can use this api as one of it's backends. So, technically you can use the render api too without opengl, vulkan, llvmpipe or lavapipe.
<Captain0xff>
what browser lol
<nephele>
WebPositive
oco has joined #haiku
oco has quit []
<nephele>
A crash in LibJavaScriptCore. Oh noes .-.
oco has joined #haiku
<Captain0xff>
If you opened the link I posted above then probably it happened because that page runs games and browser is probably not that capable. Also, it is mostly written by C devs so....
<nephele>
What is written by C devs?
<Captain0xff>
The site. One of the SDL maintainers wrote it. And he explicitly said that it's not the best thing and was seeking some webdevs
<nephele>
Ah. that's okay. I'm not a webdev either, but this shouldn't crash the browser. No matter what the page does in javscript
Anarchos has quit [Quit: Vision[]: i've been blurred!]
<Captain0xff>
Yeah, browsers are supposed to be hardened. I heard that chrome runs even separate graphical instances or something so that if one tab crashes the whole browser doesn't fall.
<Captain0xff>
Also, you are not using iceweasel?
<Captain0xff>
I thought everyone here was using that.
<Captain0xff>
Also, someone in the forum told me that webpositive can't run youtube so that is a problem ig.
<nephele>
I'm one of the people maintaining WebPositive. No way am i switching it out for mozilla spyware ;)
<nephele>
If you want to watch youtube on Haiku I'd recomend to use qmplay2 instead
<Captain0xff>
Isn't iceweasel like demozillad firefox?
<nephele>
Not really. It could be
<nephele>
It doesn't implement some spyware because of the port not supporting it. But the main reason for the name is that you have to have all that stuff working and arent allowed to use anything other than default settings if you want to call it firefox
<x512[m]>
Read as demonized firefox.
<Captain0xff>
Though I find it a little weird that everywhere privacy people are switching from chromium based browsers to firefox and you guys even think that it is also too offsensive lol. I know that there is tracking but at this point google knows everything about me already because mobiles.
<nipos>
Fuck Google.You can even remove their spyware from your phone if you want to.Mine is ungoogled.Also,try LibreWolf if you want Firefox without tracking
<nephele>
Firefox has long lost the "privacy" advantage. they are basically only alive because of their illegal search deal with google. and that line is now cut
<nephele>
Mozilla fired severall of their browser staff and now hired advertisers instead...
<nipos>
It's a shame that LibreWolf isn't packaged for Haiku yet.Technically it's not a big difference,mostly different settings,but I failed building Firefox/LibreWolf/Iceweasel at all so I couldn't do it and it seems nobody else cares.
<nephele>
Captain0xff: anyhow, it can be explained a bit by the "why" some people use the OS. For me I use Haiku because I am sick and tired of a computer telling me what to do. I want a computer that works for me, and not the other way around :)
<nephele>
nipos: why not send patches to the iceweasel package instead?
<nephele>
you don't have to delete codepaths for this, but simply disableing some stuff per default would be good.
<nipos>
Also,it's correct that Chromium is even worse than Firefox when it comes to default settings,but I'll never call something that calls multiple servers in the background without asking and sets Google as default search engine "privacy friendly"
<Captain0xff>
I understand. I hope haiku grows a lot bigger and stays true with this idea of keeping spyware out.
<nipos>
nephele: Why should I invest time in manually disabling crap if LibreWolf can already do this for me?Building Iceweasel vs LibreWolf is no different.It doesn't work on my laptop,therefore I can't do it.If it worked,I'd build a LibreWolf hpkg
<nephele>
nipos: It's not the same thing. If you offer librewolf as an alternative it is yet-another package people have to pick between
<nephele>
If the librewolf or whatever patches (those that make sense) are applied to iceweasel instead we simply have a fine iceweasel choice
<nipos>
Maybe I should try again now that a recipe exists.Last time I tried it was much more experimental.On the other hand,I hope that WebPositive gains adblocking some day and I don't need LibreWolf at all.
<nephele>
well, I am making progress with webkit2. Maybe I can check out how the adblocking api is to be enabled.
nephele_xmpp has left #haiku [Error from remote client]
<nipos>
Some people don't want privacy and I'm not going to fight with people over disabling tracking bullshit that they see nonsensical reasons for and want it enabled.
<nephele>
It's our package. We can set the defaults however we like
<nipos>
I mean people in our community.You can see that in the Iceweasel forum thread.Some even wanted to port more spyware bullshit only to be allowed to call it Firefox.
<nephele>
That does require cooperation. Sorry. :) And it does require us to check which patches make sense and which do not.
<nephele>
Yeah so? That is a community forum. It's not the mouthpiece of developers.
* Begasus[m]
hops into another room
<Begasus[m]>
cu peeps
Captain0xff has quit [Quit: Captain0xff]
<nephele>
the first patch in librewolf "delete cookies and website data on close" makes no sense for example
<nipos>
True,but that's a option you can disable at runtime.I'm not sure if it's so bad to have a paranoid default and let people who want to keep their session change it by hand
<nephele>
And it is a bit too "much" in the direction of security/privacy at all costs heavily impacting usability. I can understand some people not wanting that extreme
<nephele>
But that doesn't mean we can't simply remove all build-in tracking from iceweasel
Captain0xff has joined #haiku
<nephele>
I think sessions dissapearing is a terrible default. And does not increase your privacy or security at all
<nipos>
The only thing that really annoys me is that it breaks the built-in dark mode as it that would allow fingerprinting.Yeah,fingerprinting is evil,but having a bright white background hurts a lot more.
<nephele>
Sure. You can only pick one a perfect anti-fingerprint. Or a renderer responding to *anything* in your enviroment
<nephele>
that includes window size :P
<nipos>
It would be nice to allow exceptions from anti-fingerprint.Like keeping everything else default,but give me dark themes.
<nipos>
Anyway,I won't invest time in that,sorry
<nipos>
The most important reason being that Haikuports is still on M$ Github and getting anyone to upload my changes there has always been difficult in the past.But I also have enough other things to do,like porting my BeAIM app to LayoutKit and maybe some more random bugfixes to Haiku itself.
<nephele>
You don't have to. But still. It's not really true that people don't care about privacy here. :)
<nephele>
Switching to librewolf as is is not a solution either, unfortunately. It goes too much agains the usability :/
<nipos>
It's nice if some do,but reading the Forum thread about Iceweasel was really frustrating at some parts.I mean it's nice to have it,but I really don't want the antifeatures ported.
<nephele>
Heh. I've been doing the same thing to Renga, cleaning out old dialogs that used hardcoded stuff
<nephele>
usually the views look better afterwards
<nipos>
Yes,the first two windows are finished and look very similar to how they looked before,but a little bit better
<mmu_man>
MS GitHub is sadly a huge inertia. We never really learnt from Sourceforge.
<nipos>
For me,switching to LibreWolf is totally a solution.Have done that on OpenIndiana and FreeBSD already.Mostly using OpenIndiana+LibreWolf for browsing.And IronFox on Android (a new fork,now that Mull is discontinued)
<nephele>
mmu_man: yeah. Apart from personal gripes of abandoning website changes because of people just removing my work on github (because i didn't write on their issue there) It is just bad in a technical sense
<nephele>
It is so so slow in webpositive
<nephele>
and the workflow is terrible
<nephele>
Not to say gerrit is perfect, but that we could atleast improve... If anyone wanted to do so
<nipos>
It's an awful centralized walled-garden.I wonder why they don't just accept sending Issues and Pull Requests by email.They already do for replies to existing things and have done for years.But no way you can participate without an account that will at some point force you to enable 2FA whether it makes sense or not,and then lock you out again.
<nipos>
And the awfully bloated website with tons of JS is also a huge annoyance.Not only in WebPositive.It's awfully slow in LibreWolf,too.
Captain0xff has quit [Quit: Captain0xff]
mmu_man has quit [Ping timeout: 480 seconds]
nephele_xmpp has joined #haiku
nephele_xmpp has left #haiku [Error from remote client]
Captain0xff has joined #haiku
nephele_xmpp has joined #haiku
Captain0xff has quit []
x10z has quit [Quit: My Mac has gone to sleep. ZZZzzz…]