Author Topic: FreeBSD - Unfortunately not very TALOS-focused  (Read 17236 times)

Raion

  • Newbie
  • *
  • Posts: 12
  • Karma: +2/-0
    • View Profile
    • IRIX Network
FreeBSD - Unfortunately not very TALOS-focused
« on: November 24, 2019, 10:15:08 pm »
I've been talking with the FreeBSD PowerPC devs, and they're unfortunately making a mistake, in my humble opinion, regarding their support for the Talos. They are not interested in either a separate little endian version, or to consider migrating their ppc64 port to little endian. It's unfortunate, as the litany of evidence that I've read on POWER is that little endian POWER will probably be the future due to big-endian.

But then again, FreeBSD has made some dumb decisions in the past. Hopefully NetBSD or OpenBSD will step up.

I've considered once I get a POWER board on doing a fork of FreeBSD for POWER64el, but another consideration has been just doing that for illumos or something.

Probably going to just end up running Debian, in all likelihood until a BSD or illumos is available that is little-endian.

Jubadub

  • Newbie
  • *
  • Posts: 7
  • Karma: +1/-0
  • Ready for PowerPC upgrade
    • View Profile
Re: FreeBSD - Unfortunately not very TALOS-focused
« Reply #1 on: November 26, 2019, 05:43:20 pm »
I'm all for a little-endian variant of FreeBSD. However, I believe there are more accurate ways to describe the decision made by the FreeBSD devs.

In general, I believe there is no "mistake" in going for either endianness. But there are certainly advantages and disadvantages over picking one over the other:

- In the POWER and PowerPC world, big-endian is universal, meaning every processor is big-endian, but only POWER8 and later are capable of little-endian (though many were able to switch endianness during runtime, with the most notable exception being the PowerPC 970 subfamily, AKA "G5", which is strictly big-endian, but also 64-bit); +1 Big-Endian
- GNU/Linux and BSD have historically always been big-endian on PowerPC; +1 Big-Endian
- Porting of certain x86 software is easier to little-endian POWER than big-endian, as endianness becomes one less thing to worry about; +1 Little-Endian

Because we still live in an x86 world, and still will for a long time to come, little-endian has been a popular choice by many GNU/Linux distros and BSD flavors in making their move back to PowerPC, but not all. FreeBSD, in particular, never abandoned the PowerPC world (unlike nearly ALL the little-endian PPC systems popping up now), and are just sticking to the foundation they kept stable. On top of that, because every other PPC computer is big-endian since inception, this means they can be used as a "testing ground" of sorts for Talos II family owners, and especially future owners that don't quite have one yet. PowerMac G5 owners, in particular.

Regardless, it's great to see a great architecture having so many great system choices, and that too in both endiannesses. As a 970MP G5 Quad owner, I'll strictly stick to big-endian whenever I can, and because that's the foundation we have as inheritors of the POWER ;), but I also won't be so close-minded that I will refuse anything little-endian if it comes my way. In the end, it really doesn't matter, other than having the very choice of picking one or the other.
« Last Edit: November 26, 2019, 05:50:27 pm by Jubadub »

q66

  • Guest
Re: FreeBSD - Unfortunately not very TALOS-focused
« Reply #2 on: November 27, 2019, 05:30:29 pm »
Jubadub, this is not accurate. While I'm all for having a big endian variant of things, the lack of a little endian variant seriously hampers usability of the system on modern hardware; modern graphics cards will not work and the ones that do work are limited to OpenGL 3.2 (even if the hardware supports 4.5) because of missing features in Mesa (like rgb10 and fp64), and even if stuff gets implemented it will always be slower/less efficient and I suspect things like SDMA will be mostly impossible, because of the GPU hardware being little endian. Additionally, having LE supports lets you assume that POWER8 is the baseline, which allows the system compiler to employ a more modern instruction set by default; runtime checks will only work for checking stuff like AltiVec/VSX presence and not everything implements them and they don't always work well.

I understand that not everybody cares about these things, but forcing your choice on users is IMO not wise.

Jubadub

  • Newbie
  • *
  • Posts: 7
  • Karma: +1/-0
  • Ready for PowerPC upgrade
    • View Profile
Re: FreeBSD - Unfortunately not very TALOS-focused
« Reply #3 on: November 27, 2019, 08:32:22 pm »
Those are all excellent points. However, I must ask: what part of my post was inaccurate, exactly? Could you quote it for me?

When you say "forcing your choice on users is IMO not wise", do you mean the FreeBSD devs? Because as far as I go, I stated that "having the very choice of picking one or the other" is what really matters, regarding endianness, meaning I'm entirely with you there.

Anyway, I don't think all those points, which seem to sum up to "better GPU support" and "more compiler assumptions", invalidate any of the previous points. The GPU situation, in fact, goes hand in hand with my earlier statement, "we still live in an x86 world", and is definitely a very good argument pro-little-endian.

But I must say that although it doesn't concern earlier PPC hardware, because they can't use modern GPUs due to being stuck to earlier revisions of PCIe (and many still-great big-endian GPUs are available for them), it certainly concerns Raptor computers with their amazing PCIe 4.0 interface, and that's a point I hadn't realized before (modern GPU endianness), so I thank you for bringing that up. Of course, nothing prevents all of it to work just as well with big-endian (flipping byte order aside, unless if new BE GPUs are made), but as you pointed out, new work would be required, and who would volunteer to do it? With this, the thread title finally sort of makes sense in at least one point (which otherwise doesn't, as either big or little-endian are equally Talos-focused).

Also, just to make sure I understand you correctly, when you say "and even if stuff gets implemented it will always be slower/less efficient", you exclusively mean the byte-order flipping from little to big-endian in modern GPUs, right?

Regarding compiler assumptions, on the other hand, I don't think that is much of a point, because you can always compile assuming CPUs of a specific "range" or "category" are being used regardless of endianess. For example, you can always compile and assume POWER8 and later is being used, with AltiVec, VSX and all the latest POWER ISA, and still choose big-endian, no runtime checks required. There's absolutely nothing stopping the developer there, as far as endianness is concerned. In fact, that's what Fedora ended up doing, around version 24 or so: they offered the system for big-endian PPC systems, but they weren't, say, fully G5-compatible anymore, even though it has AltiVec and so on; Only later CPUs were officially supported.

q66

  • Guest
Re: FreeBSD - Unfortunately not very TALOS-focused
« Reply #4 on: November 27, 2019, 11:51:53 pm »
Yes, I mean systems that do that, not you.

It'll be slower/necessary because of the requirement for staging buffers and copying along the way, and that's assuming somebody will implement this stuff at all. Endian flips by themselves are actually pretty much free on POWER, it's more of an API boundary causing extra copying where not necessary, which however also means this will probably never be ideal. And that's also why I say the earlier points are not accurate; if there are reasons why this will never be ideal, it means big endian *is* a practical usability problem, and it's not a simple matter of choosing one or the other, there are actual considerations you have to keep in mind.

You can totally use any GPU you wish on earlier PPC hardware like the PCIe G5. I have an R5 235 in my G5, which was never supported by Apple, as it was released many years after the deprecation of the G5, PCIe is backwards compatible. Similarly, I also have an NVMe SSD in mine, it works alright.

Yes, you can compile for newer hardware, nothing is preventing you from doing that; however, distributions won't do it for you, unless you use specifically a source distro, and once you need to compile your own stuff, you're kinda on your own.
« Last Edit: November 27, 2019, 11:53:46 pm by q66 »

Jubadub

  • Newbie
  • *
  • Posts: 7
  • Karma: +1/-0
  • Ready for PowerPC upgrade
    • View Profile
Re: FreeBSD - Unfortunately not very TALOS-focused
« Reply #5 on: November 29, 2019, 08:51:12 am »
You can totally use any GPU you wish on earlier PPC hardware like the PCIe G5. I have an R5 235 in my G5, which was never supported by Apple, as it was released many years after the deprecation of the G5, PCIe is backwards compatible. Similarly, I also have an NVMe SSD in mine, it works alright.

Yes, I'm aware, sorry for not making my point clear earlier. What I meant was that PCIe 2.0+ GPUs will be limited to PCIe 1.0's bandwidth and not be able to show their true potential. (I, too, have an unsupported GPU in my G5, though it's flashed with modified firmware to still be usable under Mac OS X, and is still just a PCIe 1.0 card, namely an ATI X1950XT 256MB VRAM.)

It'll be slower/necessary because of the requirement for staging buffers and copying along the way, and that's assuming somebody will implement this stuff at all. [...] it's more of an API boundary causing extra copying where not necessary, which however also means this will probably never be ideal.

That doesn't seem to be an inherent big-endian issue, but just the API not being updated for it. That is indeed a "practical usability problem" (though I'd be wary of overemphasizing that argument, because people could try to justify using x86/ARM over anything else for that same reason, and that's something we don't want to happen). However, that doesn't mean any of it "will always be slower/less eficient" nor that "this will never be ideal", nor does it make the earlier points inaccurate. But now I understand better where you are coming from, so thanks for taking the time to explain your thoughts to me.

[...] it's not a simple matter of choosing one or the other, there are actual considerations you have to keep in mind.

Oh, absolutely. That is why I stated earlier that "there are certainly advantages and disadvantages over picking one over the other". (Some low-level assembly techniques also exploit each endianness differently, so each has its superior use cases.)

What I meant by saying "either is fine" is that, although each has its own advantages, they both work great, and will be desirable in different situations. Bottom-line is that I do agree FreeBSD, although already 100% Talos-focused, could still additionally offer more builds, in particular little-endian. Of course, the same issue applies to all those other distros like Fedora and Debian and their lack of big-endian options (as tier 1, at least).

q66

  • Guest
Re: FreeBSD - Unfortunately not very TALOS-focused
« Reply #6 on: November 29, 2019, 09:04:39 am »
That doesn't seem to be an inherent big-endian issue, but just the API not being updated for it. That is indeed a "practical usability problem" (though I'd be wary of overemphasizing that argument, because people could try to justify using x86/ARM over anything else for that same reason, and that's something we don't want to happen). However, that doesn't mean any of it "will always be slower/less eficient" nor that "this will never be ideal", nor does it make the earlier points inaccurate. But now I understand better where you are coming from, so thanks for taking the time to explain your thoughts to me.

No, it quite literally will be. These things are required to present you with everything in host (CPU) endianness. This is not going to change (especially with big endian being more or less dead on client hardware, and these APIs being very much established at this point, so they can't change without actively breaking applications), and as long as it's not going to change, it's pointless to argue what it is inherent to or not. The only thing that could change the situation is having bi/big-endian GPU hardware, and have fun convincing GPU vendors to do that (if anything, it seems to be moving in the *opposite* direction)

Raion

  • Newbie
  • *
  • Posts: 12
  • Karma: +2/-0
    • View Profile
    • IRIX Network
Re: FreeBSD - Unfortunately not very TALOS-focused
« Reply #7 on: November 30, 2019, 05:17:04 pm »
As somebody who dislikes Apple hardware and has no use for anything that is big endian in a modern work load capacity, their refusal to even consider a separate platform for little endian POWER upsets me. personally though I am always the type of person who believes that leaving behind older systems is a reasonable use case. People who are familiar with me on other forums would know that I abandoned powerpc years ago, even at one point having to destroy several powermac g5s because I couldn't pay for somebody to take them away. Living in a rural area will do that so they became tannerite targets.

I think that like with 32-bit x86, it's pretty unreasonable at this point to hold back little endian POWER because of systems that are over a decade old at this point. There are no consumer-grade PowerPC systems currently being manufactured other than the A-eon systems and you would be daft to pay $2,000 for one of those when you could already buy a blackbird for the majority of that price and have a very respectable configuration.

q66

  • Guest
Re: FreeBSD - Unfortunately not very TALOS-focused
« Reply #8 on: November 30, 2019, 05:41:00 pm »
that's kind of a bad attitude to have, considering it's largely thanks to those older systems that the ppc desktop stack is in as good of a shape as it is (IBM doesn't give a shit about anything but headless server/HPC stuff) as well as that support for the platform exists on minority OSes like freebsd at all

besides, i see no reason to kill off older hardware that still serves its purpose perfectly fine for many people - doing otherwise just reeks of planned obsolescence

there's a sizeable community of people running older ppc machines who often couldn't afford buying a blackbird or whatever in the first place

nglevin

  • Newbie
  • *
  • Posts: 16
  • Karma: +4/-0
    • View Profile
Re: FreeBSD - Unfortunately not very TALOS-focused
« Reply #9 on: November 30, 2019, 10:10:07 pm »
I've considered once I get a POWER board on doing a fork of FreeBSD for POWER64el, but another consideration has been just doing that for illumos or something.

Probably going to just end up running Debian, in all likelihood until a BSD or illumos is available that is little-endian.

That's probably wise. I have a soft spot for minority operating systems. Those tend to be dominated by, what they have hardware available to do, and what their maintainers are interested in supporting.

In a past life, I expressed an interest in FreeBSD. The opinionated CTO (at a startup) shot that down pretty quickly on the grounds that I needed to have what their core contributors were using as daily drivers for it to be useful as a desktop OS. Which is fair.

FreeBSD has also had a stigma stated in the past by co-founder Jordan Hubbard of supporting hardware platforms that aren't "genuinely relevant in terms of mass appeal" (YouTube link, 2014). Not a problem for a platform like Linux with many heads, many hands floating around the space, where support for minority platforms comes with corporate sponsorships and a bigger community of volunteers.

Whether those factors work for or against POWER9 and 10, I don't know exactly. It sounds like they're some ways away from solid GPU support for OpenPOWER platforms.

Debian's nice. I'll probably give Fedora a try sometime down the road. If a smaller OS can be convinced that OpenPOWER is worthwhile, that'd be great.


besides, i see no reason to kill off older hardware that still serves its purpose perfectly fine for many people - doing otherwise just reeks of planned obsolescence

there's a sizeable community of people running older ppc machines who often couldn't afford buying a blackbird or whatever in the first place

Indeed. From a hobbyist PoV, the first computer I bought without borrowing credit was an old, beat up Macintosh Quadra to help learn the ins and outs of a system. I didn't have to worry about breakages from system updates, nor did I have to worry about accidentally junking the system when the whole shebang cost less than $50 to replace.

I'd say that basing your product roadmap off of yesterday's baggage isn't the wisest. However, if the only person really pushing to do the porting work for (XXX) OS gratis happens to do so because they really love their AmigaOnes. And nobody else is stepping up to that plate? Well, we can't be surprised with the outcomes.
« Last Edit: November 30, 2019, 11:03:15 pm by nglevin »

Raion

  • Newbie
  • *
  • Posts: 12
  • Karma: +2/-0
    • View Profile
    • IRIX Network
Re: FreeBSD - Unfortunately not very TALOS-focused
« Reply #10 on: December 03, 2019, 01:03:45 am »
that's kind of a bad attitude to have, considering it's largely thanks to those older systems that the ppc desktop stack is in as good of a shape as it is (IBM doesn't give a shit about anything but headless server/HPC stuff) as well as that support for the platform exists on minority OSes like freebsd at all

besides, i see no reason to kill off older hardware that still serves its purpose perfectly fine for many people - doing otherwise just reeks of planned obsolescence

there's a sizeable community of people running older ppc machines who often couldn't afford buying a blackbird or whatever in the first place

It's mostly a situation where you either hobble the new hardware, split your time between two incompatible ABIs/platforms, or you cut your losses and take the old systems off life support.

OPENPOWER is quite good as an x86 alternative, and I think with further refinements and cost reductions, especially with Raptor being the innovator, as long as they continue to turn a profit somehow, we'll see it through to have this be the new era.

I'm not a hater of old hardware. i have an SGI Onyx2 here in my office alongside many other systems - but I don't care for PowerPC macs. They're in a bad place for me - too old to do anything useful or modern with, and too new to offer any gaming potential that's unique to them or have any serious advantages over alternatives from around the same time. Not to mention a million issues I have with macOS and MorphOS - the two most common OSes for machines of that era.

Considering my Onyx2 is nearly a decade older than say a PowerMac G4 MDD and can do 4G of RAM, 4 CPUs, and more than 512M of graphics memory, it's a clear choice for me. No judgment if you enjoy those systems, of course, you do you, but I can't see the appeal. Then again, I don't "hate" windows the way some people do. I just find it boring, moreorless.

q66

  • Guest
Re: FreeBSD - Unfortunately not very TALOS-focused
« Reply #11 on: December 03, 2019, 08:19:02 am »
The G5s are pretty capable, especially the late 2005 PCIe ones. Up to 4 cores and 16GB RAM, can use a modern GPU with Linux, can use NVMe SSDs, USB3, and so on. The 32-bit stuff is dated, but still makes for reasonable testing machines at least (there isn't any better 32-bit PowerPC hardware out there unless you count the Wii U, which doesn't let you run mainline kernels at least yet, has no accelerated graphics drivers and has the 1 core limitation)

Raion

  • Newbie
  • *
  • Posts: 12
  • Karma: +2/-0
    • View Profile
    • IRIX Network
Re: FreeBSD - Unfortunately not very TALOS-focused
« Reply #12 on: December 09, 2019, 10:57:38 pm »
The G5s are pretty capable, especially the late 2005 PCIe ones. Up to 4 cores and 16GB RAM, can use a modern GPU with Linux, can use NVMe SSDs, USB3, and so on. The 32-bit stuff is dated, but still makes for reasonable testing machines at least (there isn't any better 32-bit PowerPC hardware out there unless you count the Wii U, which doesn't let you run mainline kernels at least yet, has no accelerated graphics drivers and has the 1 core limitation)

I've owned them, and no, they're not capable. When a low-end Nehalem desktop can blow them out of the water in terms of performance, keeping in mind you can usually get these for free, that's a problem in my eyes. If the G5 could run el kernels, I'd say it's worth supporting, but clearly Apple's inability to juggle BE and EL ports of macOS, and other things, really hobbles it.

also, G5s are loud, even the watercooled models that I've owned. Granted, according to ClassicHasClass (I sold him a G5 which sadly got banged around in shipping by FedEx) the one I sent him needed a pump rebuild. They sound like keurigs drawing in water, and they output crazy heat, can't do 2k, 10-bit video (most of the stuff I watch is anime in 10-bit) and are all around crap for anything GP—I applaud ClassicHasClass for his dedication for sure, but sadly the sacrifices he is/was able to make to run Bruce as a daily (dunno if he still does or he mostly uses the T2 he has) don't work for me.

(Note, I realize that my case isn't the necessarily perfect way, but as someone who prefers BSD or illumos, not being el on an arch prevents me from using it, this is the reason I sadly sold my SPARC64 fujitsu systems)
« Last Edit: December 09, 2019, 11:00:37 pm by Raion »

q66

  • Guest
Re: FreeBSD - Unfortunately not very TALOS-focused
« Reply #13 on: December 10, 2019, 12:44:09 pm »
The G5s are pretty capable, especially the late 2005 PCIe ones. Up to 4 cores and 16GB RAM, can use a modern GPU with Linux, can use NVMe SSDs, USB3, and so on. The 32-bit stuff is dated, but still makes for reasonable testing machines at least (there isn't any better 32-bit PowerPC hardware out there unless you count the Wii U, which doesn't let you run mainline kernels at least yet, has no accelerated graphics drivers and has the 1 core limitation)

I've owned them, and no, they're not capable. When a low-end Nehalem desktop can blow them out of the water in terms of performance, keeping in mind you can usually get these for free, that's a problem in my eyes. If the G5 could run el kernels, I'd say it's worth supporting, but clearly Apple's inability to juggle BE and EL ports of macOS, and other things, really hobbles it.

also, G5s are loud, even the watercooled models that I've owned. Granted, according to ClassicHasClass (I sold him a G5 which sadly got banged around in shipping by FedEx) the one I sent him needed a pump rebuild. They sound like keurigs drawing in water, and they output crazy heat, can't do 2k, 10-bit video (most of the stuff I watch is anime in 10-bit) and are all around crap for anything GP—I applaud ClassicHasClass for his dedication for sure, but sadly the sacrifices he is/was able to make to run Bruce as a daily (dunno if he still does or he mostly uses the T2 he has) don't work for me.

(Note, I realize that my case isn't the necessarily perfect way, but as someone who prefers BSD or illumos, not being el on an arch prevents me from using it, this is the reason I sadly sold my SPARC64 fujitsu systems)

1080p 10-bit video works perfectly fine with no framedrops on mine (aircooled dualcore 2.3GHz) - using mpv. The bottleneck there was GPU - after putting in a more modern Radeon (currently HD4670), there are no issues. It's not loud either, unless you load it a lot. The performance seems generally alright as well. I mostly use it for testing, and occasionally I need to trigger a build job on it or something, and it handles that fine (though obviously nowhere near as fast as my POWER9 metal)

edit: just tested pure CPU decoding performance on a 10bit 1080p h264 sample, it averages at ~40FPS, which is plenty headroom for 24fps video...)
« Last Edit: December 10, 2019, 12:55:24 pm by q66 »

Raion

  • Newbie
  • *
  • Posts: 12
  • Karma: +2/-0
    • View Profile
    • IRIX Network
Re: FreeBSD - Unfortunately not very TALOS-focused
« Reply #14 on: December 10, 2019, 06:27:00 pm »

1080p 10-bit video works perfectly fine with no framedrops on mine (aircooled dualcore 2.3GHz) - using mpv. The bottleneck there was GPU - after putting in a more modern Radeon (currently HD4670), there are no issues. It's not loud either, unless you load it a lot. The performance seems generally alright as well. I mostly use it for testing, and occasionally I need to trigger a build job on it or something, and it handles that fine (though obviously nowhere near as fast as my POWER9 metal)

edit: just tested pure CPU decoding performance on a 10bit 1080p h264 sample, it averages at ~40FPS, which is plenty headroom for 24fps video...)

Well, my test was in macos on the last build of VLC. As I've said, I don't use Linux, and that limited my GPU selection as well. But if it works for you and you like it that's what's important. Me, they're ugly, loud and have nothing redeeming them in my eyes.