Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
75 user(s) are online (41 user(s) are browsing Forums)

Members: 3
Guests: 72

BillE, VooDoo, cygnusEd, more...

Headlines

Forum Index


Board index » All Posts (Hans)




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


@balaton

Quote:
Maybe an improvement could be getting a virtio-net driver. Somebody could look at that if you at least published your virtio.library to avoid someone writing another version which then will be incompatible with your drivers. So for that having at least one standardised virtio.library would eb helpful for which a good way is to make it available for others to use and maybe contribute too.

How and when to release the virtio.library + developer files is up to A-EON. I'm working under contract with them, so it's their IP. I've already recommended that they make it available to other developers.

Hans

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


Re: Xena questions
Home away from home
Home away from home


@geennaam

AFAIK, @Lylehaze has the most experience with XENA/XORRO. He was working on a debug logger. He is the best one to ask about 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: QEMU branches
Home away from home
Home away from home


@balaton
Quote:
Virgl should also work on windows but maybe you need to build it yourself. (Probably because nobody bothered to upstream the needed patch.) There are some tickets:
https://gitlab.com/qemu-project/qemu/-/issues/564
https://gitlab.com/qemu-project/qemu/-/issues/1461
and a blog post about it:
https://guanzhang.medium.com/running-a ... indows-10-11-4eea9be9a06b
If this works and want others to be able to use it without having to build a patched version consider upstreaming the patch by submitting it to the qemu-devel list following the patch submission guidelines.

Good to know. I'll leave experimenting with it and submitting patches to someone else. I have drivers to write...

Quote:
By the way did you test the emaculation.com windows builds vs. the welnetz.de builds and is there a differentce between those?

No. I wasn't aware of the different builds. I downloaded the Windows version from qemu.org (so the welnetz.de builds). I had to build my own version on Linux, because Ubuntu's official packages are far too old.

Quote:
Also if you have real hardware and also used AmigaOS on QEMU so you can compare the experience what are the points you think is still behind on QEMU (apart from slower FPU that I already know aobut and gfx which is being worked on).

I have an X5000 and A1222. The X5000 is so much faster than QEMU, which feels sluggish on my laptop. My hardware systems also have 3D and hardware video decoding support. I also have reliable networking on real hardware IIRC, you already know about the problems with the emulated RTL network card; the network regularly fails.

The emulated machine will randomly lock up when playing videos, with the last sound being repeated a tight loop. On real hardware (with a RadeonRX card) I can watch UHD videos smoothly, without problems

QEMU is also rather difficult to set up compared to actual hardware.** You need to create a custom ISO, and fiddle with custom parameters. Then there's setting up BBoot, which also has the added difficulty of updating kernel modules (on real hardware AmiUpdate & A-EON's Updater can update modules directly).

There are probably other differences, but I only use QEMU for testing the Virtio GPU drivers.

Hans


** Installation on real hardware is bad enough. The OS installer should be able to partition & install the system with little to no input required. In particular, the installer should be able to partition the system automatically (or with a little guidance), with the full-blown partition editor being an option for "power users."

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


@Maijestro

Quote:
Ok, thanks for the information...Hans ok, it looks like you prefer to use Linux as a test system.

Not really. I'd stick to Windows if I could. Unfortunately, VirGL doesn't work on Windows yet. This made Linux a must. So, I installed Linux on an external hard drive for my existing laptop. Not ideal, but much cheaper than buying a new machine.

VirtioGPU.chip will work on systems without VirGL. The screenshots that Trevor showed at Amiga38 & AmiWest were captured on Windows. Of course, you won't get hardware acceleration or 3D drivers without VirGL.

Quote:
For MacOs I found this, which should be pretty easy to install using the homebrew package manager. I haven't tested it yet. When this driver is released, 3D acceleration will be added with later versions, so it's not that important for now.

https://github.com/knazarov/homebrew-qemu-virgl

Good that you've found an option for MacOS X.

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

True. Some of those dependencies are needed simply to build QEMU at all. Others are needed for modules that you're likely to want (e.g., slirp networking). Others I added because I wanted certain modules enabled (e.g., SDL2 & GTK backends).

If someone wants the minimum dependencies only for VirGL, then they're welcome to do the work needed to trim down the list, and figure out which dependencies go with what.

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


@Maijestro

Quote:
I don't understand much about it, but which dependencies under Qemu have to be fulfilled for the VirtIO GPU driver to be used under AmigaOs4.1. ?

You don't need much for basic framebuffer support (with no hardware acceleration). Assuming you do want hardware graphics acceleration, then the following should be enough to enable VirGL:
sudo apt-get install git libglib2.0-dev libfdt-dev libpixman-1-dev zlib1g-dev ninja-build meson
sudo apt
-get install git-email libslirp-dev
sudo apt
-get install libaio-dev libbluetooth-dev libcapstone-dev libbrlapi-dev libbz2-dev
sudo apt
-get install libcap-ng-dev libcurl4-gnutls-dev libgtk-3-dev
sudo apt
-get install libibverbs-dev libjpeg8-dev libncurses5-dev libnuma-dev
sudo apt
-get install librbd-dev librdmacm-dev
sudo apt
-get install libsasl2-dev libsdl2-dev libseccomp-dev libsnappy-dev libssh-dev
sudo apt
-get install libvde-dev libvdeplug-dev libvte-2.91-dev libxen-dev liblzo2-dev
sudo apt
-get install valgrind xfslibs-dev 
sudo apt
-get install build-essential libepoxy-dev libdrm-dev libgbm-dev libx11-dev libvirglrenderer-dev libpulse-dev libsdl2-dev libpixman-1-dev


Not all of those are for VirGL (e.g., libbluetooth-dev certainly isn't). Some of them are needed for QEMU, and others are for optional modules that you're likely to want.

@balaton
Quote:
I get what you say. What I meant was just in case it's more difficult to implement this with virgl then maybe gfxstream might be a better match. But since that's new and experimental in QEMU it may be less well documented and not so easy to use at the moment.

VirGL should be doable.

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

Beware the shiny new object, especially in tech.

Gfxstream sounds nice, but it's just been added to QEMU. I can't rebuild QEMU to use it because I can't find the external dependencies. I also haven't found any documentation on the protocol, either. It sounds like the protocol hasn't been fully nailed down, and may still change (although they're close). There's no guarantee that gfxstream will replace VirGL, or supplant the still experimental Venus protocol.

At the moment, gfxstream isn't any more generic than VirGL. It's supported only by Android, and works by piping high-level graphics API calls directly to the host driver (e.g., GLES & Vulkan, Wayland). Yes, the VirGL protocol is based on how Gallium3D works.** However, Gallium3D is based on how modern GPUs work, and there's no reason why VirGL's command stream couldn't be used on other platforms. The basic commands sent to the GPU are the same regardless of which API you use: you give the GPU a render state, a vertex array, a shader program, and tell it to go.

Most if not all of Gurchetan Singh's critique of VirGL look like implementation issues. Performance, memory use, and render errors are a product of how VirGL has been implemented rather than a flaw in the protocol itself.

VirGL is ready to use on my machine, and is stable. I have documentation on the protocol. It's ready to go.

Hans


** Ironically, this makes the protocol lower level than piping OpenGL ES calls directly.

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


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


@tlosm

Quote:
KVM and Virtio is only for Linux users.

No. I have tested software running in a virtual machine under Windows. Likewise, I have tested my VirtioGPU.chip driver on Windows too.

Unfortunately, VirGL isn't available on Windows, so that is currently Linux only, and possibly MacOS X.


@LiveForIt

I'm not sure what you're suggesting, but I think reintroducing the classic chipset to newer AmigaOS 4 hardware would be a bad idea. It won't entice hardcore classic Amiga enthuisiasts for whom the Amiga is classic chipset + 68K. They're just not interested. It would actually be easier to move the OS forward if we could finally remove all the old legacy chipset code.

Anyone interested in a nouveau-retro Amiga is unlikely to care too much about copper lists and old joystick ports. More seamless integration with UAE for legacy hardware banging stuff may well have its place. Ultimately, though, I expect those interested in a modern(ish) Amiga to want more modern computer capabilities.

The big question is still: what would it take to get them onboard?

Quote:
but at the end its way more expensive then a classic system is, getting price down to a price people are comfortable is also important.

Agreed. The price of admission is still too high.

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

Good to see it actually get merged. I've looked at the code. Still no blob support with VirGL. Only with Rutabaga (gfxstream). Rutabags/gfxstream appears to only be available in Android emulators for now, so no Linux backend. It's developed by Google, so no surprise. I'm sure Linux support will come later, but it's not there right now.

Thinking about it a bit more, even blob resources won't help me, because Virtio GPU only supports 32-bit pixel formats. Blobs can't be used for direct VRAM access to 8 and 16-bit bitmaps. So, I still need to work around P96 expecting direct access to VRAM and Virtio GPU not being able to provide it.

It looks like I best proceed with VirGL minus blobs for 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: Virtio GPU, QEMU, KVM, etc.
Home away from home
Home away from home


@MartinW

Quote:
Will Qemu and virtio bring in a lot of fresh new users? Debatable, I guess the question really is how many OS4 classic licenses were sold because I would think that most of those users can't be happy with it and may want an upgrade. Obviously depends what they thought they were going to use it for before they found out it was slow.

I don't have direct numbers, but there are some hints on UAE users in two surveys I did:
- 2019 graphics survey. There were over 100 people using OS4 classic via WinUAE in 2018. That dropped by roughly half in 2019
- OS4 hardware vs emulation survey - 175 people said they use/tried UAE. 56 said they use/tried QEMU, with an overlap of 34 who have used/tried both (197 emulation users in total)

One interesting question would be: what would entice more 68K AmigaOS users to upgrade to OS4? And how many might be interested? I get the impression that many are interested in the classic Amiga as a retro machine. The classic chipset is a must to them. Likewise, Vampire users are living their alternative future with an upgraded custom Amiga chipset. There should be some classic users who would be interested in a "nouveu-retro" AmigaOS experience if there were a compelling enough offer.

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

Thanks. I took a look at the documentation you mentioned. So, Venus is out, and gfxstream + Rutabaga are in (whatever those are). I don't see an updated Virtio GPU specification covering those, so they're probably still under development. It's a pity that each graphics API seems to need its own pass-through protocol.

I've sent an email to the mailing list. Will see what they say...

Hans

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


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


@Skateman
Quote:
What a depressing topic.... i feel sad, and will not accept.

The topic itself isn't depressing, but the conversation has certainly headed that way. It is good to be real about the current situation, but I hope that people will be solutions focused.


@kas1e
Quote:

Next thing, is about whole AmiWest fiasco: There wasn't anyone who can says about OS4 progress, because there weren't persons involved in. Matthew is against anything Hyperion, and he has no access to the progress of Hyperion to know about. Steven and he's facepalm presentation about nothing, seems just to be a cause that he also can't talk about progress on OS4 from Hyperion's side by any of reasons (I don't know why). And don't ask me why he's presentation were called with words "OS4 updates", he says nothing about, while there are OS4 updates. Just there also wasn't any real OS4 developer involved to talk about something interesting of late progress. Damn, even no one were able to make some “OS4 Gaming” presentation, it has no needs to have anything internal and new to know, to make some tasty presentations showing some of OS4 latest stuff of year, just there wasn't anyone willing to do so.

That's a shame. I didn't present anything this time, because it's been a tough year and I don't have anything ready. Interest in ZitaSync and ZitaFS seems to be weak anyway, so I expect most won't even notice. Some of the work I'm doing for A-EON is taking much longer than anticipated, so it wasn't ready to show.

I didn't know that geennaam presented something at the devcon. I'll try to check that out later.


@LiveForIt
Quote:
That’s latterly shame, hope any relationships between developers and Ben can be restored, then I hoper fore better cooperation between different companies, and less legal nonsense.

IMHO, the best thing Ben could do for AmigaOS 4 would be to sell Hyperion to someone with more time and resources to devote to it (and a decent plan). His day job takes up too much of his time and attention, and yes, the burnt bridges are an obstacle.


@Primax
Quote:
Although I am not quite convinced that this "new branch" will give us a big glut of new developers, since: this has been already possible using WinUAE and, yes, also QEMU.

Better colour depths and screen resolutions may be important for gamers. But for developers?

I tried using WinUAE for development and quickly abandoned. It was slow and buggy (as in crashing a lot). Hopefully it's become more stable since then.

Developers working on software that needs higher resolutions and 3D drivers are going to need a system that supports those features. It's very hard to develop software when you don't have the ability to test things directly.

Plus, even developers may want to try out everything the platform has to offer, and emulation still has some gaps (e.g., 3D support).

Hans

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


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



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




Powered by XOOPS 2.0 © 2001-2023 The XOOPS Project