I know that developping a driver is costly (not only with money since Linux Radeon drivers are made freely by *lots* of developpers whereas you are alone working on it for AmigaOS 4.1). Thanks for your work :)
You're welcome.
These days, AMD's own developers work on the Linux drivers, so there's a fully paid team involved. A lot of money gets spent on Linux development...
Quote:
Well, it's been done before. With the ZZ9000 and Vampire SAGA. And the Vampire now has a 3d engine with Maggie above the AMMX feature.
True. I don't have the luxury of starting side projects of this scale. So, for me to embark on such a project I'd have to be confident that it'll do more than just pay the bills (and I'd need to convince an investor or two that it's worth spending money on).
Can you set up Go Fund me, Patreon etc? or something.
I'd better finish some of my existing projects first...
A few other things to bear in mind in terms of developing a GPU specifically for AmigaOS 4.x: - An FPGA based GPU is unlikely to reach anything near commercial GPU performance (e.g., have a look at the Apollo Maggie 3D demo). We're not talking about slightly slower, but a lot slower than what we're using now - Performance could be greatly improved my making an ASIC, which requires lots of $$$ - The GPU alone wouldn't provide hardware accelerated video encoding/decoding. Video codecs are complicated, and I have no idea if a video codec core could be obtained from somewhere
Such a GPU would be more suited to the electronics hobbyists crowd, and modern 8/16-bit retro computers where the needs and expectations are much lower. At least, unless some major funding could be put behind it (which you'd need a compelling case for given the GPUs already available).
Another idea, get a contract from the AMD crowd, sign an NDA, work with and for the Linux driver source and port that (you'd still be a one man show, but you wouldn't need to do guesswork as much *and* you could pester the Linux devs if something doesn't work)
Probably completely bull as i don't know how driver development works
I'm little surprised that various software/driver developers don't have a donate "button" next on thier websites.
I was wondering if Os4Depot could add "donate" button next to download. I'm using e.g. driver for Sound Blaster or it become to complicated due to various issue due to donors wanting e.g. refunds), sure it free but even if I wanted I have no way support it. Or take e.g. ignition development.
Not my area of expertise.
Your work (I hope!) is supported by sale of Enhancer /v5 driver, but what about supporting RadeonRx development? Is it going to be sold separately as RadeonHD driver?
Another idea, get a contract from the AMD crowd, sign an NDA, work with and for the Linux driver source and port that (you'd still be a one man show, but you wouldn't need to do guesswork as much *and* you could pester the Linux devs if something doesn't work)
No thanks. I have no desire to work for a large corporation like AMD, nor do I want to make graphics drivers my life's work. Besides, we can already use the Linux AMDGPU source code, and AMD have a GPU driver dev. email address where I can ask for help.
What I'd love to see, is a linux driver wrapper so that we can use their code almost unchanged. This would reduce the workload to get drivers working considerably.
One snag: we're almost the only ones still using big-endian, so both the GPU hardware and drivers no longer support it. This adds to the workload of porting driver code. I've been suggesting we switch to little-endian for this reason.
@PixelHi Quote:
Your work (I hope!) is supported by sale of Enhancer /v5 driver, but what about supporting RadeonRx development? Is it going to be sold separately as RadeonHD driver?
That's a question for A-EON to answer. My impression is that it'll continue to be bundled with the Enhancer Pack.
One snag: we're almost the only ones still using big-endian, so both the GPU hardware and drivers no longer support it. This adds to the workload of porting driver code. I've been suggesting we switch to little-endian for this reason.
Using an endian-swapping version of GCC might help, like the one which was used for building native x86/x64 Amithlon software. That way you don't need to adopt the sources, such special GCC versions will add the required code to swap any 16, 32 and 64 bit reads and writes, and since most (or even all?) PowerPC and POWER CPUs have special endian swapping instructions there wouldn't even be a speed penalty unlike with the Amithlon x86/x64 GCC which had to add additional instructions for it.
I tried use the reverse load and store instructions I was disappointed with results. If remember correct, I got as poor results as bit mask bits, then shift & Or result code. Yeh it might be I don’t have the instruction, or maybe some trap instruction interrupt bug, some forgot check what CPU has or has not the instructions, not sure how that works.
Wont you just get lot of conversions all over place, where did not need them, if use LE GCC compiler, most cases you load 32bit and store 32bit, the order of what is stored and loaded is irrelevant, because you’re not doing anything with content.
Also if part of the code is LE format (the driver), and other part is BE format (the OS), you need to do some conversion between the two. You have only moved problem from between GFX card and the Driver to between the driver and OS.
Also pretty sure the GCC linker will refuse to link LE code with BE code, as detect its not correct ELF format.
Big brother “Power” I believe can map some memory ranges to LE or BE format, where if you put a struct in one memory range it can be LE format, and in other memory range BE format, this approach be simplest, can it be heck’ed in with a fast small FPGA? Or approach like give too much latency. Just telling CPU that the PCIe bus is LE format, that be sweet.
Edited by LiveForIt on 2023/2/5 10:55:37
(NutsAboutAmiga)
Basilisk II for AmigaOS4 AmigaInputAnywhere Excalibur and other tools and apps.
You can't use standard LE GCC versions but would have to build a special one like the Amithlon GCC. May be a lot of work to port more than 20 years old GCC code to current GGC versions, but would be "just" a one-time-job, unlike the changes Hans has to to for each update of the LE Linux AMD sources.
Mixed endian isn't not only supported by POWER CPUs (like the one used in the X1000), at least the 7xy and 74xy PowerPC CPUs (as used in the EyeTech A1 and Pegasos 1+2) had segment (IIRC 256 MB on AmigaOS 4.x) based endian flags as well, i.e. parts of the memory (or PCI I/O space) can use big endian while others use little endian accesses instead. Not sure about the 6xy (classic Amiga CyberStormPPC and BlizzardPPC) and 4x0 CPUs (SAM), there might be a problem with them, and I don't know if QorIQ CPUs (X50[24]0) support it.
Can't answer that. But Looks like the Sam460ex version may not be available via Amistore until some bug fixes are released. I would say that is a good think though.
Quote:
PixelHi wrote:@Spectre660
Is there a way to get V5 for Sam460? AmiStore only have versions for X1000 and X5000.