Post B6Sy2bukUeGD38S3IO by TheOneDoc@tech.lgbt
(DIR) More posts by TheOneDoc@tech.lgbt
(DIR) Post #B6SHyBUSbCqjrcMVg8 by q66@gts.q66.moe
3 likes, 1 repeats
i'm not really sure how to feel about people creating chimera forks that use glibc or whatever for the sake of compatibilitythe thing isi'm not gonna diss the effort if someone thinks it's worthwhile butchimera's toolchain is very purpose-built and most of its choices were already driven by specific reasons and it's all put together to be clean, work well, be highly portable (hence why we still support like 7 archs), etc.now someone goes and pulls glibc into the mix; assumptions break, so one has to also pull in gcc and binutils at some stage, and of course since glibc dlopens an unwind library do do stuff like non-portable pthread_exit stack unwinding, pull in the hacky llvm-libgcc and effectively revert to making the base toolchain layout gcc-centric again (and break portability as llvm-libgcc has to closely simulate per-arch symvers and do that individually for each arch, which is another thing glibc pulls in that is unnecessary with musl)now, this still does not get you proper compatibility with existing binaries as you're missing libstdc++; if you want libstdc++, you can't have libc++ with libc++abi in the base, as libstdc++ does not allow you to replace its abilib symbols, which are folded into libstdc++ itself; it may look like it "works" if you just pull in a libstdc++ build into such system, but effectively you are pulling two sets of core abi symbols into the same process in a very unsafe way, so if you want to make this safe, you *have to* make libstdc++ always present, and build libc++ against it, at which point you're pulling more gcc dependency into the core and at which point you may as well decide to just use libstdc++ in the first place (why pull in two c++ libs?)at this point you may notice you're pulling more and more of the general gnu/linux stack in because you don't have any other choice, and things get hackier, uglier, etcand the compatibility argument is imo inherently flawed, because where do you actually stop? everyone has a different line defining what is "compatible enough"eg the chimerautils tools will break a ton of preexisting scripts, and there is a ton of other unconventional stuff in chimera as is, that is not intended to be backwards compatibleif you want a system that is fully compatible with existing stuff, you might as well use like, debian or fedora or whateverOR, you can just accept things as they are and help work towards making the stuff you want workin userland, you have containers etc which you can use to get stuff that doesn't work yet to work (or for proprietary software), and there are ways to make that pretty seamlessi guess if you have like, an nvidia graphics card that's one of the unfortunate cases, but everything else should be pretty much doable...i'd much rather like to see the work go into improving what we have
(DIR) Post #B6SWwFlfDts7rawj32 by wezm@mastodon.decentralised.social
0 likes, 0 repeats
@q66 clearly my inexperience is showing. I feel like I'm years behind, slowly discovering bit-by-bit why each part of Chimera is built the way it is. My motivation was wanting to be able to use my tools and do my job without having to basically run a distro inside a distro. You're right that if making things work means swapping out more and more of what makes Chimera appealing I may as well be using Arch or whatever. 1/2
(DIR) Post #B6SWwGNwvYUrmKrIiu by wezm@mastodon.decentralised.social
0 likes, 0 repeats
@q66 Really not sure how to proceed from here. Maybe Casuarina was a good learning experience and ran its course. Or maybe switching to libstdc++ is enough of a middle ground, even if it is a bit unsatisfying. Guess I'll have give it some thought. Sorry if the whole thing has been frustrating for you. 2/2
(DIR) Post #B6SWwGbQ7TGwS7A3ii by q66@gts.q66.moe
1 likes, 0 repeats
@wezm i don't really mean to dissuade you from doing stuff, you should do what you feel like is an interesting/worthwhile thing for you (and the learning experience from maintaining a distro is always nice but it's also a lot and especially if you do downstream stuff, i basically burnt out maintaining a downstream void fork some years back)but i can't be totally happy about it because it's sort of taking apart stuff i put a lot of thought into and in the process turns it into something i explicitly wanted to avoidbut also that's me; it's not like my opinion on the matter is absolute or anythingi'm mostly posting this to provide some more insight into why things are as they are
(DIR) Post #B6SX2DGbR0sDqPG90C by wezm@mastodon.decentralised.social
1 likes, 0 repeats
@q66 > but i can't be totally happy about it because it's sort of taking apart stuff i put a lot of thought intothat makes a lot of sense, I guess I hadn't really thought of it quite like that before.> i'm mostly posting this to provide some more insight into why things are as they areI do appreciate the insight for sure.
(DIR) Post #B6SX56KLgzEFBrOAC0 by q66@gts.q66.moe
1 likes, 0 repeats
í'm looking again if there is any possibility to reconcile libc++ and libstdc++ and i've come to the conclusion that doing so in a way that would permit using libc++abi in the system but have compatibility with libstdc++ binaries is probably outright impossible btwlibc++abi does provide the full set of __cxa_* symbols that libstdc++ expects (except some stuff for gcc itm), but the abi of the c++-mangled symbols differs quite considerably but not for *all* symbols (e.g. some of the exception handling abi mangles entirely differently, e.g. std::bad_exception, while other stuff, e.g. std::set_terminate, mangles the same)you could make a build of libstdc++ that uses libc++'s abi library, of course (in theory anyway, in practice it's a lot of work) but it will never provide total abi compatibility with libstdc++ proper, unless libstdc++ shimmed its own stuff to be provided only when an external abi lib is in place (and for stuff not relying on any global memory, make sure all the struct layouts etc match perfectly the other thing)so i don't see this ever safely happening and the only way to get compatibility is to switch globally to libstdc++cc @wezm
(DIR) Post #B6Sy2aBKw0LBg0CGsC by TheOneDoc@tech.lgbt
0 likes, 0 repeats
@q66 low level you are correct, of course but just considering everything else in chimera like cports packaging, apk, dinit etc is very nice on it's own .The NV GPU would be my only use case for such a beast as the 1050TIs in some of my laptops don't give me a choice in that regard. That's why they still run TUXEDO OS and not Chimera like my other machines
(DIR) Post #B6Sy2bFGyr5EyV2veC by daemonspudguy@app.wafrn.net
0 likes, 0 repeats
@q66@gts.q66.moe @TheOneDoc@tech.lgbtAn Nvidia GPU is also the only reason I'm even still fully tethered to the glibc world. I know how to run shit like Steam in a chroot if need be (yes I'm one of those people who avoids Flatpak like the plague and doesn't even have it installed on my Artix Linux system) but you can't do that with graphics drivers. And having actually working graphics drivers is, for obvious reasons, a hard requirement.
(DIR) Post #B6Sy2bZpkPWw0GfLhA by TheOneDoc@tech.lgbt
0 likes, 0 repeats
@daemonspudguy @q66 the nproblem specifically with 10xx is that they can't be fully supported by nouveau.That's, of course, fully on Nvidia and what'' supported is good enough to run the DE but not good enough for gaming.
(DIR) Post #B6Sy2bkp5YJwYLo7pA by daemonspudguy@app.wafrn.net
0 likes, 0 repeats
@q66@gts.q66.moe @TheOneDoc@tech.lgbtI'm on a 3070 which from what I've read is even less supported.
(DIR) Post #B6Sy2bukUeGD38S3IO by TheOneDoc@tech.lgbt
1 likes, 0 repeats
@daemonspudguy @q66 https://nouveau.freedesktop.org/FeatureMatrix.html is depressing.The big problem for 10xx is that the driver can't switch the clock rate of the gpu so it#s permanently stuck in low poer mode and that's the reason for bad gaming performance. so bad that on the laptops the anemic iGPU in the intel cpu delivers more.
(DIR) Post #B6T3v8vaSv38qbfLuK by weirdtreething@donotsta.re
0 likes, 0 repeats
@q66 potentially a hot take but I'd like to see a generic gnu distro using apk. apk is the best package manager I've ever used and it's always a shame to not have it when I have to use a gnu distro for reasons
(DIR) Post #B6T3v9iVX2BJIKYQ9w by q66@gts.q66.moe
1 likes, 0 repeats
@weirdtreething i don't see any reason why i'd need to use a gnu distro so this is just someone else's problem