Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
96 user(s) are online (69 user(s) are browsing Forums)

Members: 0
Guests: 96

more...

Headlines

Forum Index


Board index » All Posts (Hans)




Re: Virtio GPU, QEMU, KVM, etc.
Home away from home
Home away from home


@AlexC

I don't think it's complicated. A lack of OS updates (and massive blunders) have bought us to a place where even Trevor is saying it might not make sense to continue investing in hardware projects. Either we get an influx of new users & developers soon, or it's as dead a platform as geennaam declared.

Also, please don't get too fixated on hardware vs emulation. The first post in this thread being primarily about the possibility of running AmigaOS 4 natively inside a Virtual Machine (VM), using virtio drivers to access hardware devices via the host OS' drivers.


Quote:
When considering cost alone, the first approach is definitely preferable, but there is a middle ground which can benefit everyone including people outside of the Amiga universe, and that would be open source hardware. That approach is working very well in the MCU/IoT world. It allows people with talent to design useful hardware and drivers, while people with enough funds can get the hardware mass-produced, and is typically done with some royalty scheme as it's important to keep the designers/coders on-board to continue improving/expending the product. It works quite well for companies like Sparkfun, Olimex, AdaFruit, and SeeedStudio to name a few.

Interesting idea. I've bought hardware from all of the companies you listed above. That said, none of that hardware comes close to a new 2+ GHz PowerPC board.

Quote:
Maybe that's how Amiga hardware will be produced in the future, I don't know, but I like the idea.

That would be nice. Bear in mind that porting AmigaOS 4 to any new hardware requires the cooperation of at least the ExecSG team, if not Hyperion too. Using virtio drivers and a VM would actually make it more feasible to get the OS working on the new hardware. It might even be possible without any changes to ExecSG...

Hans

http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more.
https://keasigmadelta.com/ - more of my work
Go to top


Re: QEMU branches
Home away from home
Home away from home


@balaton

Quote:
I don't know virtio-gpu but I think what's currently in master supports virgl and maybe shared buffers were already merged but I haven't seen patches yet to add Vulkan support so at the moment it's probably uses OpenGL. This is a bit old status report but maybe still mostly the case:
https://www.kraxel.org/blog/2021/05/vi ... gpu-qemu-graphics-update/

The master branch supports blobs and Virgl, but NOT at the same time. It's either one or the other. I see no shared memory support for Virtio GPU.

What's concerning about the Vulkan forks, is that some of them haven't been touched in three years. This includes code in other repositories, such as mesa3d, and virglrenderer. I don't want to be using the remnants of someone else's abandoned experiments.

Quote:
... So if you need something that's currently off-tree but has s signed-off-by already you can ask the author if plans to upstream it or take it yourself and do the upstreaming (see https://www.qemu.org/docs/master/devel/submitting-a-patch.html).

No thanks. I've got way too much on my plate already without adding that on top. There are multiple branches, multiple projects, and I have no idea what state any of them are in. It looks like none of them forked/merged QEMU recently enough for AmigaOS 4 to run.

Based on your response, I think I'd better stick with what's in the master branch.

Hans

http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more.
https://keasigmadelta.com/ - more of my work
Go to top


QEMU branches
Home away from home
Home away from home


QEMU's master repository doesn't support Virtio GPU blob resources and Virgl 3D acceleration at the same time. Has anyone tried a branch that does with AmigaOS?

QEMU's Virtio support looks like it's still rather rough, and under development. I know that there are branches with experimental Vulkan support (codenamed Venus), but they seem to be based on old QEMU versions. Plus, there's no indication that the code will make it back to the master project. To complicate things further, the Vulkan capable branches seem to support other extensions like shared-mem. Again with no indication these will become official parts of QEMU.

It's all rather messy, and makes figuring out what to use rather difficult.

Hans

http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more.
https://keasigmadelta.com/ - more of my work
Go to top


Virtio GPU, QEMU, KVM, etc.
Home away from home
Home away from home


Interesting comments and discussion regarding the Virtio GPU driver announcement. So much so that it's taken over the Amiga38 thread. Let's separate it out.

From here:
Quote:
Anyway another way to use real hardware could be to buy an old powerpc mac, install some distro of linux ppc on it and hope for a full compatibility with kvm-pr mode.
I tried some months ago on my powermac g5 quad with an old linux ubuntu ppc distro and an old version of qemu (between 3.x / 5.x if I remember well).
The Sam 460ex virtual board emulated in quemu was not compatible with this feature.
I have never understand if the limit was inside linux kernel, qemu kvm or both.
Anyway it's for sure a software limit and it's fixable with some work.
With kvm-pr you can get a full speed and use real hardware, having fun with linux ppc, amigaos 4 and mac os leopard at same time.

@flash
I'm glad some have realized that Virtio is useful for more than just emulation. Yes, it's possible that we could run AmigaOS 4 natively within a KVM, and take advantage of the host OS' drivers via Virtio drivers. Nobody has tried it yet, but I'm sure someone will in due course.

This might allow us to bypass the "driver problem." A consistent problem for us has been getting working drivers for AmigaOS. It's delayed the release of motherboards by years, and we still end up with unused hardware (e.g., the X1000's onboard ethernet).

I'm envisioning a minimal host OS whose only job is to run the Virtual Machine (VM) containing AmigaOS, and run the actual device drivers. AmigaOS could use any GPU, ethernet, scsi device via their respective drivers. Got an nVidia graphics card? No problem!

Running the OS in a VM isn't ideal, but it's a lot better than new hardware being delayed repeatedly because porting the OS and writing the drivers took forever. In the A1222's case, those delays are so long that they caused a 3-4x price hike. If it had been released when the hardware was ready (pre-supply-chain issues), then it would have been a low-cost entry machine.

@all
This brings us to the "will emulation kill future OS4 hardware" question. They way I see it, we won't get future new hardware without a (large) influx of new users and developers. We need enough users & developers to be able to fund the hardware development (and OS porting) costs. I don't see that happening with existing hardware. The A1222 could have made a difference if it had been released years ago at its original target price.

I much prefer real hardware with the OS running natively, but emulation gives us a much better chance of getting new users and developers. KVM + virtio drivers potentially drops the upfront development costs for porting to newer hardware. Lower upfront costs in turn, could make newer hardware at small volume more feasible. When/if the userbase grows enough,** then we can consider ditching the VM and going "fully native" again (on whatever ISA makes sense).

Hans

** The userbase growing enough would probably have to be more than 20x.

http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more.
https://keasigmadelta.com/ - more of my work
Go to top


Re: Trouble building GCC 11 cross-compiler on Ubuntu
Home away from home
Home away from home


@all

I've managed to get gcc 6 built too by using the SDK's clib2. The adtools project is suffering from a bit of bitrot, with things that used to work breaking.

Ideally we'd just use the latest GCC. Unfortunately, support for the SPE was deprecated in GCC 8, and removed in GCC 9. So, we need version GCC 7 or older.

Hans

http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more.
https://keasigmadelta.com/ - more of my work
Go to top


Re: Trouble building GCC 11 cross-compiler on Ubuntu
Home away from home
Home away from home


I got past the ISL problem by using the patch in the link I shared above. Now it's failing while building clib2 with:
native-build/gcc-cross-build-6.4.0/gcc/as: 106exec: -mppcnot found


This is when assembling crt0.S

Hans

http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more.
https://keasigmadelta.com/ - more of my work
Go to top


Re: Trouble building GCC 11 cross-compiler on Ubuntu
Home away from home
Home away from home


... and GCC 6 is failing in a similar manner:
code]graphite-isl-ast-to-gimple.c:2903:16: error: ‘isl_id_alloc’ was not declared in this scope; did you mean ‘isl_vec_alloc’?
2903 | isl_id *id = isl_id_alloc (isl_ast_build_get_ctx (build), "", for_info);
| ^~~~~~~~~~~~
| isl_vec_alloc
[/code]

Any idea on what broke? What do I have to do to make this work?

EDIT: This seems to be caused by an external dependency:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=248674

Hans

http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more.
https://keasigmadelta.com/ - more of my work
Go to top


Re: Trouble building GCC 11 cross-compiler on Ubuntu
Home away from home
Home away from home


@all

I have now successfully built the GCC 11 cross-compiler. Thanks for your help.

Building GCC 5 failed, though, with compiler error such as:
adtools/gcc/repo/gcc/graphite-interchange.c:443:19error‘isl_space_add_dims’ was not declared in this scopedid you mean ‘isl_set_add_dims’?
  
443 |   isl_space *d2 isl_space_add_dims (d1isl_dim_inn);


I tried building it because I need a compiler that still supports the P1022's SPE. Trying GCC 6 now...

Hans

http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more.
https://keasigmadelta.com/ - more of my work
Go to top


Re: NVMe device driver
Home away from home
Home away from home


@Rolar

Quote:
I noticed the nvme driver has disappeared from the OS4Depot. I hope this does not mean that you have abandoned the project...?! I have been waiting for an update as I had to disable the old version because the WB boot hangups were far too frequent.

Yes, they'll be back. Geennaam said so here.

Hans

http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more.
https://keasigmadelta.com/ - more of my work
Go to top


Re: NVMe device driver
Home away from home
Home away from home


@LiveForIt

Quote:
But I’m thinking more about benchmarks on Hans webpage,
we are bombarded with 16bit benchmarks from emulation, while most of real hardware uses 32bit modes in the benchmarks. I feel it needs to be split into different categories.

With GfxBench2D, I intended to add some statistical analysis and filtering to the website. So, you'd be able to see the spread of results for similar hardware and software combinations. However, I've never had the time to implement it, nor the money to hire someone else to add it.

Hans

http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more.
https://keasigmadelta.com/ - more of my work
Go to top


Re: PCI device memory from BAR under qemu alwys zero
Home away from home
Home away from home


@MigthyMax

Great that you got it working.

Quote:
Another topic which comes to my mind. do I have take care of the cpu caches? Maybe I just writing/reading into/from the cache and the real memory isn't updated?

No. Cache behaviour isn't emulated. You can assume that the caches are always coherent, and flushing/invalidating isn't necessary.

At least, I've never seen physical virtio hardware (which could theoretically be done).

Hans

http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more.
https://keasigmadelta.com/ - more of my work
Go to top


Re: Trouble building GCC 11 cross-compiler on Ubuntu
Home away from home
Home away from home


@rjd324

Quote:
lhasa _does not work_ for later version of the SDK. It will not report an error either, it will just not correctly extract.

Good to know, albeit annoying.

Quote:
You should notice that the ReadMe.md has updated since last night too.


It hasn't been merged back into the main adtools repository yet. That still says:

"The building should succeed, if all dependencies are met (e.g., libgmp-dev, libmpc-dev, libmpfr-dev, lha | lhasa)."

Hans

http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more.
https://keasigmadelta.com/ - more of my work
Go to top


Re: Trouble building GCC 11 cross-compiler on Ubuntu
Home away from home
Home away from home


@rjd324

Quote:
Fine. I think Coreutils is a red-herring anyway. Your initial error is complaining during the build of clib2 due to the use of a subpar version of LHA.

I doubt that's the problem. I installed lhasa, as per the instructions in the adtools readme. I can also literally see it unarchiving the SDK's archives in the output printed to the terminal. The files were there.

However, the above doesn't matter, because that error went away after I executed: bin/gild checkout gnulib for-coreutils-8.27

After that, "make -C native-build gcc-cross" completed without error, but ppc-amigaos-gcc and ppc-amigaos-g++ were missing. At least, I didn't see an error at the time.

Quote:
- or, use adtools_testing with ./adt -b
- and know that coreutils 8 should not be used for now

I'll try the last one first. Might need to delete everything and start from scratch.

http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more.
https://keasigmadelta.com/ - more of my work
Go to top


Re: Trouble building GCC 11 cross-compiler on Ubuntu
Home away from home
Home away from home


@rjd324

Quote:
You probably did not specify the "gcc-cross" target when invoking make.

Nope. I did specify the gcc-cross target. And, there's no way to build the OS4 native compiler without ppc-amigaos-gcc and ppc-amigaos-g++...

Hans

http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more.
https://keasigmadelta.com/ - more of my work
Go to top


Re: Trouble building GCC 11 cross-compiler on Ubuntu
Home away from home
Home away from home


@rjd324

Docker is a backup option, but I'd rather have the cross-compiler run directly instead of in a container.

Quote:
Otherwise, you can clone https://github.com/3246251196/adtools_testing and, tldr:

Thanks. I wasn't aware of that.

Quote:
You also do not need to checkout coreutils unless you are actually interested in building them, or, you are trying to create a native version of the compiler package to transfer to an AmigaOne machine. Further, coreutils 8 needs to be fixed in ADTOOLS since it will not successfully build right now.

It would be nice if such things could be in the readme...

So, I need to switch back to coreutils 5? If coreutils isn't needed, then why would it interfere with building the cross-compiler? First, I had the missing SDK headers error (despite the SDK being unarc'd), then gcc and g++ don't get built after I executed: bin/gild checkout gnulib for-coreutils-8.27

Hans

http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more.
https://keasigmadelta.com/ - more of my work
Go to top


Re: have you seen this?
Home away from home
Home away from home


@kas1e

Quote:
Can anybody explain what going on wrong there, and why is such a low fps with such a simple game we do have now ?

Is it because we compiled it now with not pure gl4es, but glew+egl_wrap going some other than casual gl4es route ?

That is bizarre. I have to enable frame-rate limiting with the old WipeOut 2097 port to make it playable. Otherwise the game is too fast. This is via the old Warp3D API and all its limitations...

Hans

http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more.
https://keasigmadelta.com/ - more of my work
Go to top


Re: PCI device memory from BAR under qemu alwys zero
Home away from home
Home away from home


@MigthyMax

Is the value of BaseAddress 0? Or are you talking about the memory dump being 0?

If it's the latter, then check whether the master and memory enable bits are set in the PCI_COMMAND register (enable I/O accesses too if you have an I/O BAR). You need to enable those bits in order to access the memory.

Hans

http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more.
https://keasigmadelta.com/ - more of my work
Go to top


Re: Trouble building GCC 11 cross-compiler on Ubuntu
Home away from home
Home away from home


@Hans

Ugh! The build finished, but only some of the tools are there (e.g., ppc-amigaos-addr2line, ppc-amigaos-ld). The actual compiles (ppc-amigaos-gcc & ppc-amigaos-g++) are missing.

That's enough for today...

Hans

http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more.
https://keasigmadelta.com/ - more of my work
Go to top


Re: Trouble building GCC 11 cross-compiler on Ubuntu
Home away from home
Home away from home


@Hans

Looks like I missed:
bin/gild checkout gnulib for-coreutils-8.27

Hans

http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more.
https://keasigmadelta.com/ - more of my work
Go to top


Trouble building GCC 11 cross-compiler on Ubuntu
Home away from home
Home away from home


I'm trying to build the GCC 11 cross-compiler from adtools, and am stuck. AFAIK, I've installed all the dependencies. However, it's failing with the following error:
crtbegin.c:59:15note: while referencing ‘__DTOR_LIST__’
   59 
| static void (*__DTOR_LIST__[1]) (void__attribute__(( usedsection(".dtors"), aligned(sizeof(void (*)(void))) ));
      |               ^~~~~~~~~~~~~
Compiling crtend.[lib.threadsafe]
Compiling crtend.[lib.threadsafe/soft-float]
Compiling crtend.[lib.threadsafe/small-data]
Compiling crtend.[lib.threadsafe/baserel]
Compiling c.lib_rev.[obj/libc]
Compiling ctype_isalnum.[obj/libc]
In file included from ctype_headers.h:40,
                 
from ctype_isalnum.c:35:
locale_headers.h:44:10fatal errorlibraries/locale.hNo such file or directory
   44 
#include <libraries/locale.h>
      
|          ^~~~~~~~~~~~~~~~~~~~
compilation terminated.


Yes, the AmigaOS SDK has been successfully downloaded, and I saw the SDK being unarchived.

I'm building with:
- binutils 2.23.2
- coreutils 8.27
- gcc 11

Has anyone encountered this? If so, how do I fix it?

Hans

http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more.
https://keasigmadelta.com/ - more of my work
Go to top



TopTop
« 1 2 3 4 (5) 6 7 8 ... 127 »




Powered by XOOPS 2.0 © 2001-2023 The XOOPS Project