ChanServ changed the topic of #haiku to: Open-source operating system that specifically targets personal computing. | | Nightlies: | Bugtracker: | SCM: | Logs: | Matrix: | XMPP:
dasouth has joined #haiku
dasouth has quit []
dasouth has joined #haiku
dasouth has quit []
dasouth has joined #haiku
dasouth has quit []
dasouth has joined #haiku
dasouth has quit []
dasouth has joined #haiku
dasouth has quit []
rennj has quit [Ping timeout: 480 seconds]
rennj has joined #haiku
rennj has quit [Ping timeout: 480 seconds]
kikadf has quit [Quit: - Chat comfortably. Anywhere.]
kikadf has joined #haiku
rennj has joined #haiku
rennj has quit [Ping timeout: 480 seconds]
smalltalkman has joined #haiku
rennj has joined #haiku
B2IA has quit [Quit: Vision[]: i've been blurred!]
B2IA has joined #haiku
mmu_man has quit [Ping timeout: 480 seconds]
rennj has quit [Ping timeout: 480 seconds]
drown has joined #haiku
<drown> Hello all. Have a question for everyone.
netpositive has joined #haiku
<drown> I used QMPlay2 as a workaround for Youtube, and it worked a few days ago. I removed it because I'm doing a video and wanted to install it for the video. Now it gives me an error regarding YT-DL
<drown> It says to make sure YT-DL is latest version. I also attempted this via yt-dl -U and it said it required sudo so I did su first and it says it doesn't have permission access to write to the yt-dl folder still.
netposit1ve has quit [Ping timeout: 480 seconds]
rennj has joined #haiku
rennj has quit [Ping timeout: 480 seconds]
Maturi0n has joined #haiku
Maturi0n_ has quit [Ping timeout: 480 seconds]
rennj has joined #haiku
rennj has quit [Ping timeout: 480 seconds]
rennj has joined #haiku
rennj has quit [Ping timeout: 480 seconds]
Blendie has quit [Quit: Connection closed for inactivity]
rennj has joined #haiku
drown has quit [Quit: Leaving]
HaikuUser has joined #haiku
HaikuUser has quit []
rennj has quit [Ping timeout: 480 seconds]
B2IA has quit [Quit: Vision[]: i've been blurred!]
B2IA has joined #haiku
printedz has left #haiku [Error from remote client]
printedz has joined #haiku
rennj has joined #haiku
rennj has quit [Ping timeout: 480 seconds]
rennj has joined #haiku
rennj has quit [Ping timeout: 480 seconds]
ablyss has joined #haiku
rennj has joined #haiku
rennj has quit [Ping timeout: 480 seconds]
rennj has joined #haiku
rennj has quit [Ping timeout: 480 seconds]
Blendie has joined #haiku
dby has quit [Quit: Vision[]: i've been blurred!]
rennj has joined #haiku
rennj has quit [Ping timeout: 480 seconds]
rennj has joined #haiku
kescher has quit [Quit: Bye]
kescher has joined #haiku
rennj has quit [Ping timeout: 480 seconds]
nephele has joined #haiku
rennj has joined #haiku
rennj has quit [Ping timeout: 480 seconds]
rennj has joined #haiku
mmu_man has joined #haiku
rennj has quit [Ping timeout: 480 seconds]
rennj has joined #haiku
mmu_man has quit [Ping timeout: 480 seconds]
DKnoto has quit [Ping timeout: 480 seconds]
DKnoto has joined #haiku
rennj has quit [Ping timeout: 480 seconds]
mmu_man has joined #haiku
MajorBiscuit has joined #haiku
rennj has joined #haiku
rennj has quit [Ping timeout: 480 seconds]
rennj has joined #haiku
Blendie has quit [Quit: Connection closed for inactivity]
nephele has quit [Quit: Vision[]: i've been blurred!]
rennj has quit [Ping timeout: 480 seconds]
tuaris has quit [Ping timeout: 480 seconds]
HaikuUser has joined #haiku
HaikuUser has quit [Remote host closed the connection]
rennj has joined #haiku
rennj has quit [Ping timeout: 480 seconds]
woffs has quit [Quit: Gateway shutdown]
woffs has joined #haiku
rennj has joined #haiku
<nekobot> [haiku/haiku] pulkomandy pushed 1 commit to master [hrev56782] -
<nekobot> [haiku/haiku] 40a7fe3f6860 - Api docs: style search
nephele has joined #haiku
<nekobot> [haiku/haiku] pulkomandy pushed 1 commit to master [hrev56783] -
<nekobot> [haiku/haiku] 5f8874426367 - BMenuField: allow to use non-fixed size in combination with layout mode
rennj has quit [Ping timeout: 480 seconds]
rennj has joined #haiku
DKnoto has quit [Ping timeout: 480 seconds]
DKnoto has joined #haiku
gouchi has joined #haiku
rennj has quit [Ping timeout: 480 seconds]
rennj has joined #haiku
rennj has quit [Ping timeout: 480 seconds]
mdr has joined #haiku
mdr has quit []
mdr_uk has joined #haiku
<mdr_uk> front page of Hacker News now :)
<mdr_uk> Author here, never thought it would get this much coverage - it's testament to the great work you are all doing.
<mdr_uk> Thank you for everything over the past 20-odd years :)
rennj has joined #haiku
mdr_uk has quit [Remote host closed the connection]
gouchi has quit [Quit: Quitte]
mmu_man has quit [Ping timeout: 480 seconds]
DragonMaus has quit [Quit: - Chat comfortably. Anywhere.]
DragonMaus has joined #haiku
<win8linux[m]> Heads-up, that Haiku Package Management blog post got posted on HN:
<win8linux[m]> Currently #1, as of time of posting.
HaikuUser has joined #haiku
HaikuUser has quit [Quit: Vision[]: i've been blurred!]
tsukasa` has joined #haiku
tsukasa has quit [Read error: Connection reset by peer]
tsukasa` is now known as tsukasa
HaikuUser has joined #haiku
HaikuUser has quit []
shann_ is now known as shann
matt1 has joined #haiku
matt1 has left #haiku [#haiku]
itaniumdream has joined #haiku
itaniumdream has quit []
rennj has quit [Ping timeout: 480 seconds]
austin__ has joined #haiku
austin_ has quit [Ping timeout: 480 seconds]
rennj has joined #haiku
itaniumdream has joined #haiku
hightower2 has quit [Ping timeout: 480 seconds]
bjorkint0sh has joined #haiku
bjorkint0sh has quit []
<badkeming[m]> waddlesplash: the reason you can't change things in Linux w/consensus is twofold: You have control over your userspace, "Linux" doesn't. There is only one Haiku distribution and that isn't used by fortune 500 companies to run their services. There are many Linux distributions, and some of them are running fortune 500 companies (or their equivalent), so if you break something in a backwards incompatible way, you're forcing users constrained
<badkeming[m]> by 99.999% SLAs to adapt and change possibly ancient codebases and proprietary software. That's not _ever_ gonna fly in production.
<badkeming[m]> I prefer the Haiku/FreeBSD way of having a lock-step kernel + userland.
<badkeming[m]> What Linux does have is a set of solutions that work the same way across slightly different userspaces and environments. Linux has the luxury of shared FSes between different distros. The BSDs can't even read other BSDs' equivalent of ext4.
<badkeming[m]> * of ext4 (UFS/FFS).
<win8linux[m]> Correct me if I'm wrong, but it seems like the BSDs (and Solaris too) still only have a relatively limited control of userspace compared to Haiku.
<badkeming[m]> FreeBSD has its own libc and coreutils equivalent.
<win8linux[m]> Haiku directs nearly everything from kernel to core apps (including the GUI).
<badkeming[m]> ports is done in /usr/local, which is its own "namespace" almost.
<badkeming[m]> The BSDs will die of fragmentation/age out unless they realise that it's in their own best interests to re-convene and begin finding common ground.
<badkeming[m]> At the same time, the reason they split from their common ancestor is differences of opinion over how to UNIX, so good luck getting the egos involved to reconcile.
<win8linux[m]> That would require mending decades of differences and conflict, yeah.
<badkeming[m]> (this is obviously, like, just my opinion)
DKnoto has quit [Ping timeout: 480 seconds]
<badkeming[m]> But when a huge FreeBSD support and fan gives a presentation on systemd and its merits at a conference and in an exasperated voice suggests that, for all practical purposes, the BSDs are a rounding error, you know which way the wind blows.
<badkeming[m]> *suppoter
<badkeming[m]> aw, come on. Supporter.
HaikuUser has joined #haiku
<badkeming[m]> That said, it is unassailable that OpenBSD's principles and dedication to security has served the entire *nix space well.
HaikuUser2 has joined #haiku
HaikuUser2 has quit []
HaikuUser has quit []
<badkeming[m]> cf. OpenSSH, doas, OpenNTPd and wifi drivers.
<win8linux[m]> Tbh I don't really understand FreeBSD's continued existence anymore.
<badkeming[m]> it exists because it's popular.
<badkeming[m]> It and DragonFlyBSD should merge if possible. But that's easy for me to say.
<badkeming[m]> (they both use the ports tree, dfbsd just adapts it slightly)
<win8linux[m]> It has been gradually becoming more Linux-like and doesn't really seem to have many other distinguishing features left.
<nephele> badkeming[m]: What makes you say that BSD's can't read each others filesystems? ext4 would be the "baseline" which would be ufs, i think they can read that fine?
<badkeming[m]> nephele: Nope.
<badkeming[m]> They're incompatible from what I understand (dfbsd can't read fbsd UFS)
<nephele> win8linux[m]: BSD's control their userspace fine... it's just that they don't have a gui as such
<nephele> that is, OpenBSD has X11 in their base sure, but none of the other BSDs even have their own application server as such
<win8linux[m]> DragonFly BSD has HAMMER2 and various AmigaOS-style features, NetBSD has been getting into experimental OSdev research (especially anykernels), and OpenBSD is still very much security-focused.
<nephele> badkeming[m]: Hmm, that sounds strange considering dfbsd is all in on filesystems with hammer2, though the ufs2 variant FreeBSD uses may... i must admit i'm not that heavy into the material not having using dragonflybsd
<badkeming[m]> win8linux: The fact that fbsd is becoming more Linux like is a sign of them facing reality. It's similar to the systemd discussion: It's become the de-facto standard and if you want to displace it, you have to rely on adversarial compatibility with it.
<badkeming[m]> so anything displacing systemd will at first need to act like it.
<badkeming[m]> just like anything displacing linux will at first need to act like it.
<badkeming[m]> etc.
<badkeming[m]> anyway, back to haiku and sorry for the ranty tangent =)
* badkeming[m] has now re-assembled his Haiku box and just needs to reinstall newest daily
cp-- has quit []
<nephele> to systemds credit, they actually have (dbus based...) apis for many things you could replace
<nephele> just... nobody even bothered to do that
<nephele> if you just want "a good service supervisor" and nothing more that systemd offers there are already plenty of good alternatives on linux/bsd like nosh, s6 etc.
cp- has joined #haiku
<nephele> badkeming[m]: but it's a nightly, not a daily! that's half a day outdated :P
<badkeming[m]> nephele: I joined the dfbsd efnet irc channel and asked about compatibility w/fbsd's UFS. They said no. I wanted to have a bsd box w/both disks so I could peek on each other's disk contents (to keep package lists in sync when one is booted and the other isn't)
<badkeming[m]> ok, nightly. Happy? ^^
<nephele> I'm happy most of the time already :)
<win8linux[m]> Someone directed my attention to this init system for Linux and the BSDs which is systemd-compatible:
DKnoto has joined #haiku
<win8linux[m]> * my attention yesterday to this
<nephele> what does "systemd-compatible" mean?
<badkeming[m]> that it has commands that act as shims
<badkeming[m]> so if you do a systemctl <something>, it works w/nosh
<badkeming[m]> and it can translate units I believe
<win8linux[m]> And can convert systemd services.
<nephele> so... administrator muscle memory compatible? :)
<win8linux[m]> * systemd services/units.
<badkeming[m]> yes, which is what you want
<nephele> depends, sometimes it is much better to learn the other thing, rather than beeing bitten by "ouch, this isn't systemd at all!"
<badkeming[m]> any existing work and practices will work with the new one (adversarial compatibility)
ClaudioM has joined #haiku
<badkeming[m]> i.e. units won't need writing from scratch (it's a cost-saving measure from a human-time-investment PoV)
<nephele> I quite enjoy that authors faq though
<badkeming[m]> And then when you realise what it can do, you can change the defacto standard to your in-house commands
<badkeming[m]> makes it a slope instead of a step.
<nephele> like his systemd house of horrors :D
<badkeming[m]> The author is difficult to get a hold of
<badkeming[m]> So that's a minus.
<nephele> nosh is a bit difficult to install too
<badkeming[m]> I originall installed freebsd to switch it to nosh in fact.
<nephele> s6 on alpine linux is "install it and then run it"
<badkeming[m]> so I could build experience with it
<nephele> nosh demands you have some tool installed that posix mandates but nobody has D:
<nephele> except some debian version shim...
<badkeming[m]> so, I mean, in theory it's a super well designed system. In practice, who the funk knows, given it's impossible to install >_>
<nephele> luckily on haiku I don't have to deal with differing supervisors, there is just launch_daemon
<nephele> yeah, pretty much
<nephele> for linux or bsd s6 works perfectly fine for me so whatever. alpine + s6 is really my goto system if i want a small reliable linux for some stuff
<badkeming[m]> s6 is too bare bones from my PoV. It's author is super opinionated and is only recently getting out of the "black and white" thinking camp and realising that "uptake" depends on how friendly and easy the tools are to get into and use.
<badkeming[m]> (again, like, just my opinion man)
<nephele> it was sufficient for what i wanted, but yes, it's really just ment as "a set of tools to DIY".. they are good tools indeed! but you really have to read the manual
<nephele> maybe it was easier for me, because i already hated shell scripts before i started using it
<badkeming[m]> building a better platform and positioning it so that only 1% of your potential target audience can reach it and then demanding that they can't use their existing investment is going to mostly attract, um, "niche" followers. >_>
<nephele> yes indeed
<badkeming[m]> (read: the suckless crowd, only worse)
<nephele> it's like demanding you can't run free software unless you run all free software!
<nephele> well, the fsf doesn't endorse haiku anyway *shrug*
<badkeming[m]> the suckless crowd and the fsf crowd doesn't necessarily intersect. IME, the suckless crowd is more pro-POSIX than it is pro fsf (glibc etc.)
<badkeming[m]> or, well, more pro-POSIX than pro-GNU.
<badkeming[m]> What's new in Haiku land?
<nephele> depends, when did you last visit?
itaniumdream has quit [Quit: Vision[]: i've been blurred!]
<nephele> waddlesplash is a full time contractor now, we released beta4, webkit is looking better, we have an experimental wine port. wayland runs as does one x11 lib to port x11 apps, and we have gtk apps as a result
<nephele> badkeming[m]: yeah, didn't mean that they intersect. but i do think the "do 100% or do nothing" mindset is quite self-defeating
<badkeming[m]> The funny thing is that I talked to waddlesplash ... last spring I wanna say? Anyway, when he asked what I'd need for a daily driver, the things you mentioned are basically the things I mentioned I'd need (along with H/W GPU accel). And I started sponsoring because it sounded like this is the direction things were going. Couldn't be more pleased really ^^
<badkeming[m]> And awesome job to all those of you who contributed time and skills to make it happen obviously. 👋
nosycat has joined #haiku
<nephele> hw gpu accell is kinda beeing worked on
<nephele> but it's not intree anyhow
<nephele> iirc x512 has support for *some* radeon cards, and only with the vulcan api
mmu_man has joined #haiku
<nephele> (also, as for webkit, i've been making it do more native stuff, like adopt the OS colors :P)
vdamewood has joined #haiku
<badkeming[m]> I built my HaikuBox w/a HD 7970 precisely so I could benefit from that ;)
<badkeming[m]> even dug up the PCI IDs for x512
Major_Biscuit has joined #haiku
<badkeming[m]> besides, I'd rather help sponsor a full time engineer in an open source product than pay MS the equivalent amount to waste it on MBAs making dumb (from an engineering perspective) decisions and not having source code access.
<badkeming[m]> source code access to the OS I mean.
MajorBiscuit has quit [Ping timeout: 480 seconds]
rennj has quit [Ping timeout: 480 seconds]
B2IA has quit [Quit: Vision[]: i've been blurred!]
rennj has joined #haiku
B2IA has joined #haiku
tuaris has joined #haiku
stux|away has quit [Ping timeout: 480 seconds]
stux|away has joined #haiku
mmu_man has quit [Ping timeout: 480 seconds]
pvalue has joined #haiku
mmu_man has joined #haiku
<andreasdr[m]> Nice
<win8linux[m]> <badkeming[m]> "just like anything displacing..." <- Haiku seems like a project that ***really*** tries to be different, to a reasonable degree.
<win8linux[m]> For X11 compatibility, just shipping an X server could've done the job. But instead, waddlesplash made a compatibility layer.
<badkeming[m]> well, I think "better/more sensible than (...) within the context of its BeOS origins" is probably a more accurate description, but what do I know.
<win8linux[m]> And it is impressive.
<badkeming[m]> so not just "different for the sake of it" was that I intended to convey.
<badkeming[m]> was *what I intended (...)
<win8linux[m]> Or like how Haiku's keyboard shortcuts use Alt instead of Ctrl on PC keyboards.
<badkeming[m]> that's because option is there on mac keyboards.
<badkeming[m]> (IIUC)
<badkeming[m]> if you will recall, BeOS was slated to become the next Mac OS way back when.
<win8linux[m]> It's not done since it's the (IBM CUA) standard on PC, but since it is better ergonomically.
<win8linux[m]> badkeming[m]: Yes, but I'm talking about in the context of PC keyboards.
<badkeming[m]> (not surprised that the Mac people put it there for ergonomics -- there's something called "emacs pinkie" syndrom for a reason)
<badkeming[m]> but, anyway, if it's more ergonomic, great.
<win8linux[m]> The odd thing is that even though I use Haiku less often than Linux, I seem to now mistakenly use Haiku shortcuts than the other way around.
<win8linux[m]> * Haiku shortcuts on the latter than the
<badkeming[m]> well, consistency matters. A lot. See also: macOS nee Mac OS.
<nosycat> Eh, it threw me for a loop at first, but it's easy enough to learn since shortcuts are the same otherwise.
<nephele> >since it is better ergonomically.
<nephele> i dunno, alt-c for copy is quite painfull if you do it often
<nephele> maybe i do it wrong though :)
<nosycat> Worse, Alt- shortcuts conflict with the host desktop in Qemu.
<nosycat> Turns out I'm not going to do any serious coding or text editing in a VM.
<nephele> well, i don't run in a vm so not sure about that. but surely qemu allows you to use different shortcuts :)
<nosycat> I can probably disable the Gtk chrome, or go full-screen if it's important.
pvalue has quit [Ping timeout: 480 seconds]
<botifico> [haikuports/haikuports] humdingerb pushed 1 commit to master [+1/-1/±0]
<botifico> [haikuports/haikuports] humdingerb f36dd23 - yt-dlp: update to 2023.02.17
smalltalkman has quit []
AlienSoldier has joined #haiku
nephele has quit [Quit: Vision[]: i've been blurred!]
Cian has joined #haiku
<zdykstra> hmm - does Firefox Sync work for anybody in Epiphany / Gnome Web ?
<zdykstra> I can sign in, but then it immediately prompts me to sign in again and no passwords or saved sites are synced
gouchi has joined #haiku
Major_Biscuit has quit []
tqh has joined #haiku
hightower2 has joined #haiku
HaikuUser has joined #haiku
HaikuUser has quit []
DKnoto has quit [Ping timeout: 480 seconds]
<zdykstra> that has to be a gnome-keyring thing
humdinger has joined #haiku
DKnoto has joined #haiku
sav10 has joined #haiku
matt1 has joined #haiku
sav10 has quit []
<waddlesplash> badkeming[m]: fbsd is becoming more linux like because of a bunch of large investors who are moving from linux
<x512[m]> Where FreeBSD becoming like Linux?
<waddlesplash> all over the place
<badkeming[m]> gpu driver interface for one.
<waddlesplash> they're abandoning more and more of their own drivers in favor of "linuxkpi" to wrap the linux drivers
<waddlesplash> started out for GPUs and a few network drivers, now they're working on WiFi
<badkeming[m]> waddlesplash: oh? I thought it was usually the other way around (re. large investors)
<matt1> i suggest imho 4 linux and unix => fire up a shell and run gnome.exe or kde.exe ...
<nosycat> Are you serious? They're *ahead* of Linux when it comes to drivers.
<waddlesplash> badkeming[m]: Netflix is now powered by FreeBSD
<matt1> no xorg
<waddlesplash> nosycat: huh? absolutely not
<badkeming[m]> Netflix? Wasn't it always?
<waddlesplash> not sure about that
<waddlesplash> either way they're now one of the larger sponsors of FreeBSD dev
<zdykstra> Netflix has been on FreeBSD for at least a decade
<badkeming[m]> They've been using it since FBSD 9 / 2015
<badkeming[m]> (at least)
<win8linux[m]> Netflix has used FreeBSD for a long time.
<win8linux[m]> But them being active investors in FreeBSD seems to be more recent.
<zdykstra> but to say FreeBSD is ahead on drivers is entirely un-true. They might have a few very optimized drivers in the network and storage space; but overall hardware coverage is quite short of where Linux is.
<badkeming[m]> however you cut it, financial resource allows innovation.
<zdykstra> they do
<win8linux[m]> zdykstra: Short of OpenBSD in some areas, too.
<nosycat> Guess I had the wrong idea.
<badkeming[m]> zdykstra: yes, I think that's why they are going the linux route -- way more resources and incentive to do driver dev there (larger user base)
<zdykstra> your name is cracking me up, hehe
<badkeming[m]> if it reads like 'errno' you're suffering from bad kerning.
<badkeming[m]> (I often get that)
<waddlesplash> ermo?
<badkeming[m]> errno / ermo <- with bad font kerning, they are indistinguishable
<waddlesplash> that would require you use a variable-width font for reading code...
* waddlesplash shudders
<badkeming[m]> worse with narrow fixed width fonts like Fira Code
<badkeming[m]> no, it's on IRC/Matrix that people sometimes mention it
<badkeming[m]> it's apparently a word in portuguese (empty, deserted, depressing)
<win8linux[m]> Is FreeBSD having the most mature Wayland support tied to it becoming more Linux-like?
<badkeming[m]> probably, as wayland requires the DRM stuff working
<badkeming[m]> (I think!)
<waddlesplash> it doesn't, at least in theory
<waddlesplash> as we now have the Wayland compatibility layer for Haiku, but no DRM/DRI
<badkeming[m]> in practice, the linux drm layer sets up the display and wayland just uses it IME
<badkeming[m]> but I haven't looked into it deeply so you probably know better than I do
<badkeming[m]> if you're all wayland, you can set a custom display resolution as well as control active GPU outputs from the kernel command line at boot.
<badkeming[m]> and this will then reflect and show up in your Wayland graphical env on loonix.
<badkeming[m]> I do that to ensure that DP ports stay turned on when I use a KVM switch and switch to a different box.
<badkeming[m]> otherwise, they go dark and don't get woken up again if I switch back
<badkeming[m]> ¯\_(ツ)_/¯
<waddlesplash> ah yes, the forever usability problems with the linux desktop and display servers
<zdykstra> what does your kernel commandline look like?
<waddlesplash> supposedly wayland was supposed to solve this but of course it didn't and here we are however many years later and it's worse than Xorg on most systems
<badkeming[m]> it kinda is.
<waddlesplash> even when Linux tries break-the-world-to-fix-everything, somehow it STILL fails to actually fix anything?!
* badkeming[m] senses that this is somewhat of a pet peeve
<waddlesplash> you think? lol
<x512[m]> waddlesplash: I had some crazy idea: run Linux kernel in hypervisor and forward DRM/KMS /dev file from hypervisor to Haiku.
<zdykstra> Say what you will about Wayland, but I have smooth scrolling in my web browser in Sway
<PulkoMandy> I won't say anything because I failed at rebuilding things a few times :) it's just hard
<waddlesplash> x512[m]: that is a crazy idea, I'll give you that
<x512[m]> Can be done by some RISC-V emulator such as RVVM.
<badkeming[m]> sway (or, more properly, wlroots) is to wayland what xorg is to X11 is my impression.
<badkeming[m]> (more or less at least)
<PulkoMandy> but really the main problem for Linux on the desktop is there are no investors. People who pay for Linux dev are either on servers or on phones and embedded devices
<badkeming[m]> indeed.
<waddlesplash> x512[m]: I think freebsd does something like this for WiFi support on more obscure cards; they run a bhyve VM with Linux and PCI passthrough and then forward the network to the host
humdinger has quit [Quit: Vision[]: Oi with the poodles already!!]
<badkeming[m]> I've heard the passthrough thing on FreeBSD too.
<x512[m]> waddlesplash: This can be useful to investigate Linux GPU drivers behavior and simplify Haiku native drivers development.
<badkeming[m]> fair dos
<waddlesplash> it can
<waddlesplash> I still want to attempt the "DRM/DRI drivers in userland", though
<badkeming[m]> is it stupid to ask if Haiku has something that is roughly equivalent to io_uring?
<waddlesplash> that's a pretty ridiculous idea, but, having worked on the FreeBSD compat layer for a while now, I think it's possible
<waddlesplash> badkeming[m]: we don't, at present
<waddlesplash> actually we don't even have an equivalent to epoll/kqueue, which we really do need
<x512[m]> RISC-V hypervisor is technically in userland :)
<badkeming[m]> I was thinking that that might make the user space/kernel space less expensive ...
<waddlesplash> now that b4 is out, I should get around to the fd/select pool refactor
<waddlesplash> so we can at least have that
<waddlesplash> badkeming[m]: there's an asynchronous IO API in the kernel but it isn't even exposed to userland at present
<waddlesplash> and the other problem is, it's only "sometimes" asynchronous
<badkeming[m]> (i.e. make punting things to user space for convenience and robustness reasons somewhat less daunting from a performance perspective)
<waddlesplash> depends on whether the underlying device IO is being submitted to actually supports async IO or whether it will just block
<x512[m]> waddlesplash: I did some work for fd select notification by using ports.
<waddlesplash> I think I saw that, yes
<waddlesplash> it's interesting, but we should just put hamishm's event_queue work back together and merge it, it's simpler imo
<zdykstra> I just realized what the little hash/lines symbol next to a window entry in the Deskbar means - it indicates that it's on another desktop
<waddlesplash> and then implement kqueue in libbsd
<badkeming[m]> my money is on checking out io_uring for inspiration (if not downright copying) as I'm guessing stuff will begin to take advante of it for super high throughput stuff w/lower overhead
<badkeming[m]> *advantage
<waddlesplash> badkeming[m]: it's not necessarily as interesting as you might imagine
<waddlesplash> I suspect part of the reason it's a big optimization on linux has to do with their scheduler policies, but
<waddlesplash> it's definitely an advantage to avoid context switching between kernel/userland so frequently and batch up work
<waddlesplash> there's so much other low-hanging optimization work to be done in Haiku that I don't think it's worth adding, yet
<x512[m]> waddlesplash: I dislike idea of introducing new object. Why not use existing port?
<badkeming[m]> oh, I'm not qualified to judge that. I'll leave that to more capable people!
<waddlesplash> x512[m]: it doesn't introduce a new object, it just introduces a new variant of a FD
<x512[m]> Variant of FD -- new object type.
<badkeming[m]> again, not my wheelhouse so I'll trust Haiku's judgement in this regard. I just chip in to help you guys do whatever is necessary =)
<waddlesplash> yes, but then we can do things like easily share it across forked processes
<waddlesplash> which is something I/O libraries want to do for some reason
<waddlesplash> not so easy to do that with Haiku ports
<x512[m]> Using ports will better integrate with Haiku event loops.
<win8linux[m]> <PulkoMandy> "but really the main problem..." <- At the moment there is only one desktop-focused Linux investor:
<win8linux[m]> Valve
<PulkoMandy> if we're talking about performance, maybe we should look at recvmmsg first. At least in the use cases I deal with, there are not that many fds, so poll is okay. But there may be many events per fd and having to get them one by one is slow
<waddlesplash> x512[m]: Haiku event loops can be based on this new primitive
matt1 has left #haiku [#haiku]
<waddlesplash> x512[m]: already some are based on wait_for_objects which supports FDs, ports, semaphores, etc.
<PulkoMandy> epoll on linux isn't great because it's only FDs, that's a big limitation
<x512[m]> It can't. Using multiple object types waiting in event loop will break event scheduling fairness.
<PulkoMandy> it means they have signalfd for signals, timerfd for timers, eventfd for what we would use ports for (but more limited)
<x512[m]> Some event types will stall.
<PulkoMandy> and it also can't mix with other things (such as pthread locks)
<waddlesplash> PulkoMandy: yes, kqueue is better
<waddlesplash> x512[m]: what do you mean by "stall"?
<PulkoMandy> so yes I'd rather look at kqueue for that part if we want to do something
<waddlesplash> PulkoMandy: also recvmmsg doesn't look too hard to implement on Haiku
<x512[m]> Converting all events to port messages will guarantee fair event scheduling.
<waddlesplash> ?
<waddlesplash> the event_queue prototype hamishm made is still "Fair"
<waddlesplash> events come in via the select notifier, they're then queued individually
<waddlesplash> so it's still first-in-first-out
nosycat has quit [Quit: Leaving]
<x512[m]> waddlesplash: Consider you have wait_for_objects(obj1, obj2) and obj1 always trigger events. In this case events from obj2 will be never handled.
<waddlesplash> no?
<waddlesplash> the way wait_for_objects works is that it sets flags on the individual object structs indicating what events are pending
<waddlesplash> so unless your event loop is misdesigned, you'll get all events at once
<win8linux[m]> Related to epoll, what about a WaitForMultipleObjects() implementation that actually uses that and futex FDs?
<waddlesplash> and, in the event_queue scenario, events are queued as they come in, thus both obj1 and obj2 events will wind up in the queue
<waddlesplash> win8linux[m]: we already have this
<waddlesplash> well, not the "futex FDs" part, but
<x512[m]> Again why make new kind of queue if port queue already exists?
<waddlesplash> because existing linux/bsd applications expect event queues are shareable across threads
<waddlesplash> and processes
<waddlesplash> ports are not designed to be used by any more than a single thread at once on the receive end
<x512[m]> Why we care about Linux/FreeBSD. If we care, it would be better to just switch to Linux/FreeBSD kernel.
<waddlesplash> well, the point is that we want to port applications which already use kqueue?
<PulkoMandy> do you mean multiple threads waiting on the same epollfd? I don't see how that would work or be useful?
<waddlesplash> you mentioned WINE, there's also nodejs/libuv which really expect this model
<waddlesplash> either way we already have many "kinds" of FDs
<x512[m]> kqueue is FreeBSD specific. Haiku is not FreeBSD and it is not expect to support it. Linux use epoll. Solaris is also different.
<x512[m]> Haiku != FreeBSD.
<win8linux[m]> waddlesplash: Does Haiku's WaitForMultipleObjects() impl allow for waiting on any kind of object (NT-style) or only mutexes (Linux-style)?
<waddlesplash> a variety of kinds of objects, but not mutexes
<win8linux[m]> Oh, so a little bit closer to the NT style.
<x512[m]> waddlesplash: Wine event loop can be implemented as read_port based.
MrSunshine_ has joined #haiku
<x512[m]> wine_server is single-threaded.
<waddlesplash> ok
<waddlesplash> libuv isn't
<PulkoMandy> libuv is currently ported using poll so I'm pretty sure we can figure out something
<x512[m]> Multiple threads technically can use read_port for the same port.
<win8linux[m]> Thanks for the link waddlesplash, very enlightening!
<win8linux[m]> Not a fan of the Linux impl since it's very limited, perhaps even missing the entire point of WaitForMultipleObjects() really.
<PulkoMandy> Linux, missing the point since 1991 :p
<win8linux[m]> NT did it much better.
<win8linux[m]> lel
<x512[m]> Linux have most powerful async IO API today: io_uring.
<waddlesplash> yes, they finally got it (half) right after multiple decades
<win8linux[m]> So does Windows nowadays too, accessible via DirectStorage.
<PulkoMandy> yes, so basically we have 4 options: io_uring, kqueue, something using ports, or something entirely new
<win8linux[m]> Although the Windows (PC) implementation is more limited than the Windows (Xbox) implementation.
<PulkoMandy> I don't know any of these good enough to have an opinion
<win8linux[m]> Is all of the above a viable option?
<win8linux[m]> :D
<x512[m]> Ports based solution allows to gracefully reuse existing Haiku infrastructure.
<win8linux[m]> What effort will be needed to adapt ported software to that solution?
MrSunshine has quit [Ping timeout: 480 seconds]
<PulkoMandy> depends which software it is
<x512[m]> Kernel can send BMessage-compatible messages for BLooper when object select notification triggers.
<waddlesplash> I guess this is already how we do node monitoring
<CompanionCube> hasn't NT had the async IOCP for a long while?
<x512[m]> Yes, it is similar, but for any object select event monitoring. And send message directlty from kernel, do not use registrar relay.
<CompanionCube> huh, goes all the way back to NT 3.5
<x512[m]> BLooper can directly handle KMessage's.
<win8linux[m]> PulkoMandy: WINE, as one example.
<win8linux[m]> With this specific example though, the closer the behaviour is to Windows NT the faster.
<PulkoMandy> Wine is already ported, so it seems ok to do even with none of these APIs. Can only be easier with any one of them :)
<win8linux[m]> Other software may not necessarily be like this too, but WINE is one of the more user-facing possible examples.
<win8linux[m]> WINE may have been ported, but that doesn't mean it is performing optimally.
<PulkoMandy> yes but if it's only Wine and libuv, it sounds reasonable to write a specific backend for these two
<PulkoMandy> I don't think there are hundreds more using these APIs
<win8linux[m]> Linux still needed a bunch of patches to get WINE to perform almost at parity to beyond Windows on it.
<x512[m]> Again, wine-server can use port-based solution without problem.
<win8linux[m]> And even then, Linux kind of half-assed it.
<win8linux[m]> Out of curiosity, is is possible on Haiku to have interactions via in-kernel IPC?
<win8linux[m]> IIRC WinNT and DragonFly BSD can do this.
printedz has left #haiku [Error from remote client]
<x512[m]> ports can be used by kernel code.
<PulkoMandy> "BeOS did it 25 years ago" is the standard answer for these things :>
rennj has quit [Ping timeout: 480 seconds]
<waddlesplash> what's "in-kernel IPC"?
<waddlesplash> the kernel is one process, it doesn't need to use "IPC" to communicate amongst itself
<waddlesplash> but yes, you can use ports in the kernel
<x512[m]> user->kernel, kernel->user port message sending/receiving is also possible.
<win8linux[m]> BeOS already did that too?
<waddlesplash> yes
<win8linux[m]> Sorry, what I meant is having kernel interactions within rings.
<waddlesplash> they're not "rings" really, but yes
<waddlesplash> anyway, apparently ChatGPT has come up on the forums for the 3rd (4th?) time, and this time mentioning me, so I wrote a reply:
<win8linux[m]> ChatGPT and friends are just large language models (LLMs).
<win8linux[m]> They cannot actually comprehend what things mean.
<x512[m]> Intelligence is nothing more than language understanding and using.
<waddlesplash> win8linux[m]: yes
<win8linux[m]> Only AGI (Artificial General intelligence) can theoretically comprehend what things are.
<waddlesplash> x512[m]: mostly yes. but LLMs don't "understand"
<x512[m]> But ChatGPT still can't properly understand natural languages.
chuggy has joined #haiku
<waddlesplash> the "Chinese room" argument tends to be enlightening as to the actual issue at hand in this debate:
<waddlesplash> however the people arguing for and against that argument tend to seem like they're fumbling around in the dark for answers
<waddlesplash> I'm personally partial to classical philosophy here, but I know for most people that requires accepting premises that are very counterintuitive and are not easy to see the truth of
<waddlesplash> (I tend to think the premises aren't counterintuitive, or rather it's our intuition that's mistaken, but that's a whole other matter entirely)
rennj has joined #haiku
<x512[m]> In Chinese room human is basically and interpreter like CPU and a book is a program.
<waddlesplash> yes
jmairboeck has joined #haiku
<phschafft> let's asume that a brain is a real thing within our universe. then it needs to adhere to the laws of physics. \
austin__ has quit [Quit: Leaving]
<waddlesplash> phschafft: classical philosophy disagrees with your assumption
<phschafft> let's asume that at some point we understand all the laws of physic and have sufficiant calculation power. \
<waddlesplash> and even if your assumption is true, that doesn't mean consciousness is a Turing equivalent system
printedz has joined #haiku
<x512[m]> "have sufficiant calculation power" contradicts law of physics.
<phschafft> then it must follow that a brain can be emulated. it my also be possible to use shortcuts like doing higher level emulation (in contrast to physical model simulations).
<waddlesplash> (rather, I should say: a brain is a physical object, true, but classical philosophy suggests it's not the only thing required for consciousness)
<waddlesplash> phschafft: let me know when OpenWorm succeeds and provably so
<x512[m]> Consciousness is illusion.
<phschafft> waddlesplash: let's assume that a human brain is not part of our physical universe. \
<waddlesplash> if we can't actually emulate a roundworm brain we have no hope of emulating anything more complicated
<waddlesplash> x512[m]: I dunno, it seems pretty real to me. I think the arguments that it's an "illusion" are misguided.
<phschafft> then there needs to be a way for it to interact with it (as we can spot such interactions). therefore it must again be included in the laws of physic making this no different from the first case.
<x512[m]> Prove me that any human except me have consciousness. You can't.
<waddlesplash> x512[m]: depends what you mean by "prove", but indeed, maybe not. so?
<PulkoMandy> hey it can't be all in your head if it's in mine :D
<x512[m]> It only seems real.
<waddlesplash> unless you are going to deny your own consciousness, I think you can safely say that you, at least, are conscious
<waddlesplash> and if you are, we can at least hope everyone else is
<waddlesplash> PulkoMandy: lol, I forgot that one
<phschafft> I must furthermore state, that I don't think that many or maybe even any human posses any form of real intelligence. Just check your local metro in the rush hour.
<waddlesplash> seeing as most humans desire companionship of some sort (friends, family, etc.) and they don't desire it just with unintelligent animals, but equals, I think this is a pretty good indication that most people are operating on the implicit assumption that the consciousness of others is not merely a convenient illusion.
<x512[m]> Considering that I am working according the same physical principles as other people and other people have no consciousness (Occam's razor), I have not too.
<waddlesplash> phschafft: absence of evidence is not evidence of absence
<phschafft> waddlesplash: that is true. still all the data hints towards that humans are stupid on a large scale. ;)
<waddlesplash> x512[m]: But that's silly. You are merely assuming other people have no consciousness because you have no experience of their consciousness. Meanwhile, you do have experience of your own consciousness. Why reject your own experience based on an assumption about others?
<x512[m]> Illusion of self-consciousness is caused by self-referencing logic mistake.
<x512[m]> Something like "this sentence is false".
<waddlesplash> I don't know, I am pretty sure I am conscious without having to "prove" it to myself.
<waddlesplash> I don't think that's an illusion, if you ask me.
<x512[m]> I believe that physic law applies to human body, all existing brain and other human parts research show no evidences that some special physics exists there.
<waddlesplash> well sure, that's fine
<waddlesplash> the only question is if there's something non-physical involved in consciousness, as philosophy argued for thousands of years
<waddlesplash> including some rather brilliant scientists and mathematicians, as that Chinese room page notes
<x512[m]> Human brain is basically a virtual machine that simulate a model of environment, own and other minds.
<waddlesplash> I think there is something to that, but maybe not quite the way you mean it
<x512[m]> Consciousness exists only as an entity of a virtual world produced by brain.
<phschafft> if there would be something non-physical it would disprove thermodynamics.
<phschafft> thermodynamics are basically the part of the standard model we are most sure about.
<PulkoMandy> for me it makes sense that everything follows the laws of physics, but we're far from knowing and understanding all the laws yet
<PulkoMandy> so this leaves quite a few possibilities open
<win8linux[m]> Realistically, understanding the human brain fully is prolly the only truly unachievable goal for humans.
<waddlesplash> x512[m]: effects cannot be greater than their causes
<waddlesplash> so unless consciousness is somehow "less" than a "virtual world produced by the brain", you can't simulate it unless you already have it
<x512[m]> waddlesplash: What means "greater"?
<waddlesplash> and, if it is "less" anyway, then it can be produced in a "virtual world"
<win8linux[m]> Understanding fully how a brain works requires intelligence greater than what the brain being studied has.
<waddlesplash> either way, it's real and not an "illusion"
<waddlesplash> x512[m]: in the same sense as used in physics. If I throw a stone down a hill, its causes of motion are the energy I gave it, and gravity.
<netpositive> you can't be sure
<x512[m]> Consider that your mind and consciousness is only a small part virtual world produced by brain.
<waddlesplash> so? either way, it's still there
<x512[m]> As virtual thing like running computer program in PC.
<PulkoMandy> this seems a bit pointless to me. Even if it's a kind of dream, it's all we have, until proven otherwise. And there is more than enough to explore for a lifetime in it
<PulkoMandy> so, doesn't really matter
<waddlesplash> yes, and a virtual PC can be emulated because the host system is Turing complete, and the virtual machine has no other operations than the Turing ones
<netpositive> an offtopic question: why is video playing dog slow in Beta4?
<waddlesplash> if you have a greater-than-turing machine, you can't emulate it via a turing machine
<x512[m]> Maybe brain can handle multiple consciousness as can be observed with people with multiple personalities.
<waddlesplash> and my computer can handle multiple VMs, yes
<tqh> What about people with Bolzmann brains?
<win8linux[m]> Ah yes, the plural folk.
<waddlesplash> but it can handle VMs because, again, the VMs are not capable of anything the machine itself is not
<waddlesplash> and in fact, the VMs are always less capable than the host computer
<x512[m]> Brain seems not greater than Turing machine. Physics processes happening in brain are already explained by math.
<x512[m]> It is just too complicated.
<waddlesplash> seems?
<waddlesplash> that's the part people aren't so sure about. some physicists argue otherwise quite strongly:
<win8linux[m]> Then there's always the possibility that the math is incomplete or wrong.
<phschafft> as we all can predict our peers to some extent I find it likely that our brains can run multiple VMs to some extent.
<phschafft> that doesn't mean that it can do this very efficiently, or in parallel or any other fancy property.
<phschafft> but it seems that emulating someone else as a form of predicting their actions IS a possibility.
<win8linux[m]> Maybe the real issue here is assuming that the human brain operates like a computer.
<x512[m]> It doesn't but is don't mean that concept of virtual machines are applicable only to classical von Neumann architecture computers.
<phschafft> all we do is to watch inputs and outputs and assume that there is some kind of processing in between. e.g. when you see someone reading a note and then acting based on that information.
<phschafft> I would say this fundamental way of looking at it works exactly the same for brains as for binary computers.
<netpositive> is it normal that haiku has redraw issues with intel gma45 graphics?
* phschafft awards netpositive with the on-topic medal.
<netpositive> i'd prefer an answer ;)
<phschafft> netpositive++
<x512[m]> netpositive: I recently made a patch that reduce stamping artifacts:
<netpositive> x512[m]: i'm on R1 beta4, will i get the update for it too?
<x512[m]> waddlesplash: PulkoMandy Any interest on it?
<x512[m]> It was supposed to work in this way from beginning, but was broken for a long time.
<waddlesplash> I'm not really an expert in this code
<PulkoMandy> I'm not either, I read the change and didn't understand it
<waddlesplash> maybe madmax will understand it?
<waddlesplash> or do we need to ping axeld
<x512[m]> PulkoMandy: It draw view background color immediately without waiting when BView will redraw.
<PulkoMandy> lack of documentation and comments don't help. For example I don't know why MarkDirty now takes two arguments, why that's needed, if one of them is input and the other output (I can only guess from the "const" but I can't be sure), and so on
<PulkoMandy> so I could review it but it will take a lot of time to understand the code and for the moment I don't really have that kind of time
KapiX has joined #haiku
<PulkoMandy> I think that's where I stopped reviewing it, when I have so many questions after reading only the first two changed lines, I gave up :)
<PulkoMandy> since none of the parameters of MakeDirty are const, and the one-argument version passes the same region to both arguments, I wanted to check if that is safe. But I could not follow it through all the layers
<x512[m]> There are two types of updates: expose and user requested invalidate (BView::Invalidate). Expose means that pixels owned by other window are now transferred to our window, but still contains contents of previous window. So it is good to draw background color right now to avoid inconsistent window contents and stampling.
<x512[m]> PulkoMandy: One argument version used by Desktop always do expose. No user requested invalidates can originate from Desktop.
<x512[m]> There are 2 patterns where expose is not set: BView::Invalidate and BView resize.
illwieckz has quit [Read error: Connection reset by peer]
<x512[m]> Arguments are all inputs. const sometimes missing because function alter region before processing. Using const would require copying region that is inefficient.
illwieckz has joined #haiku
<PulkoMandy> ok, I will try to review it this or next week
rennj has quit [Ping timeout: 480 seconds]
dby has joined #haiku
rennj has joined #haiku
jmairboeck has quit [Quit: Konversation terminated!]
<badkeming[m]> <netpositive> "an offtopic question: why is..." <- no idea (repasting in case it was missed)
<badkeming[m]> Oh. Duh. IRC channel.
ClaudioM has quit [Quit: leaving]
gouchi has quit [Remote host closed the connection]
rennj has quit [Ping timeout: 480 seconds]
AD_MOS has joined #haiku
extrowerk has quit [Quit: Bye!]
extrowerk has joined #haiku
tqh has quit [Quit: Leaving]
<x512[m]> snmalloc? That is something new.
rennj has joined #haiku
KapiX has quit [Quit: KapiX]
dby has quit [Quit: Vision[]: i've been blurred!]
HaikuUser has joined #haiku
HaikuUser has quit []
rennj has quit [Ping timeout: 480 seconds]
vdamewood has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
rennj has joined #haiku
HaikuUser has joined #haiku
HaikuUser has quit []
mmu_man has quit [Ping timeout: 480 seconds]
mmu_man has joined #haiku