Great to hear you've got a working setup. I'm going to take a peek at Filezilla's source-code because it's the default option for a lot of people.
Quote:
I am already in contact with someone who could write virtio network drivers for AmigaOs4.1 and maybe some things will improve again for the excellent Qemu emulation.
Almost missed this. I suggest anyone considering writing virtio drivers contact me. All virtio drivers have a common method of communicating with the virtual hardware. So, we could potentially share code.
@Hans I think designing a common virtio.library to support the communication method basics that can be shared could be rally helpful. The virtio headers are BSD licensed so such library could also be inder a BSD license and thu free to be used in commercial projects as well but keeping the virtio.library open could help different driver writers to share and improve it together. I've considered writing such library before but did not get very far so I can't help much with it but coming up with a standard shared way for this in a shared library would be useful in my opinion.
What's your current full command line for Qemu on your Mac? I have a MacBook Air (base M1) just for sitting on the sofa playing about and it's not great. I have a feeling that a lot of your success is simply down to the pure power of your M1 Max CPU?
This is what my command line looks like for Qemu 8.1 RC0:
I have no compare how it runs on other machines except the videos from @White where it also seems to run fine.
@smarkusg uses Qemu on a MacMini M1 and it runs great on him too. Maybe it is also due to the correct setup of AmigaOs4.1, I installed AmigaOs4.1 the way the developers told me to. All partitions use SmartFileSystem and only my boot (kernel) partition uses FastFileSystem.
Also I can confirm that older SDL software cause problems. But this refers to SDL 1.x.x since SDL2.x these problems do not exist anymore.Some things have already been adapted by the Amiga community:
This is OT for this thread really so if this goes on for more than a couple of posts I'll start a new one.
Performance on the MacBook Air is poor. I mean, general opening windows, copying files, using the internet etc. is fine. Break Hack needs the sound to be disabled to get reasonable performance otherwise it's too slow to use really.
Interesting that you mention LiteXL. I discovered that the other day. At the moment I am experimenting with a number of machines:
- Intel i7 6700K with GPU passthrough. Purely testing. - Mac Mini M1. This is my main machine. - MacBook Air 13" Base model (7core GPU, 8GB Ram, M1 chip)
The MacBook air was bought for the winter months really where it's too cold to do much other than sit in the living room in front of the fire. Anyway, I digress.
I installed Lite XL on the MacBook air. It takes a while to open and when it opens it is just a grey screen. On the i7 machine with HD5450 card it works but screen refresh is too slow for it to be usable. The only machine that I have installed Enhancer 2.2 on is the i7 with GPU passthrough. The two Mac's are on FE Update 2. Maybe this has something to do with it?
On all of these machines I use SFS/00 for the boot / system partition. I've never had a problem booting from this and didn't know otherwise. I did just notice that the Work partition is DOS/07 whatever that is. I'll swap that out in a bit for SFS/02 and see if it improves performance.
Ultimately I intend to settle on an X5000 plus one Mac, probably the laptop, if it's good enough to do some development from the sofa.
MartinW wrote:This is OT for this thread really so if this goes on for more than a couple of posts I'll start a new one.
Performance on the MacBook Air is poor. I mean, general opening windows, copying files, using the internet etc. is fine. Break Hack needs the sound to be disabled to get reasonable performance otherwise it's too slow to use really.
Interesting that you mention LiteXL. I discovered that the other day. At the moment I am experimenting with a number of machines:
- Intel i7 6700K with GPU passthrough. Purely testing. - Mac Mini M1. This is my main machine. - MacBook Air 13" Base model (7core GPU, 8GB Ram, M1 chip)
The MacBook air was bought for the winter months really where it's too cold to do much other than sit in the living room in front of the fire. Anyway, I digress.
I installed Lite XL on the MacBook air. It takes a while to open and when it opens it is just a grey screen. On the i7 machine with HD5450 card it works but screen refresh is too slow for it to be usable. The only machine that I have installed Enhancer 2.2 on is the i7 with GPU passthrough. The two Mac's are on FE Update 2. Maybe this has something to do with it?
On all of these machines I use SFS/00 for the boot / system partition. I've never had a problem booting from this and didn't know otherwise. I did just notice that the Work partition is DOS/07 whatever that is. I'll swap that out in a bit for SFS/02 and see if it improves performance.
Ultimately I intend to settle on an X5000 plus one Mac, probably the laptop, if it's good enough to do some development from the sofa.
It's great to be able to share some experience. The problem with LiteXL could be an old version, do you also have the last version of SDL2 installed under AmigaOs4.1?
I find it hard to believe that there are such differences when using Qemu. The MacStudio is really a nice piece of hardware, but I can't imagine that it is so superior fast that the differences are so huge. That's maybe why I'm so enthusiastic about Qemu Pegasos 2, because apart from the lack of 3D acceleration and the use of 32 bit windows, I don't miss anything, because it's even possible to work with such a system because of the speed.
In this video I show again the usability under my machine with BBoot and Qemu 8.1 Rc0. But I agree with you, if this emulation would not be as fast as it is on my machine, I probably would have already played with the idea of buying an x5000.
You are right because we have gone very far from the actual topic we should create a new one and finish this thread here.
Edit: I too have installed Enhancer Software 2.2 and it is currently working without any problems. I don't think it is due to this additional software package.
Edited by Maijestro on 2023/7/22 14:01:41
MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE / AmigaOne x5000/40 AmigaOs4.1 FE
There should be no difference between your MacBook Air 13 and my Mac Mini M1. It only has and one less GPU core and no ventyrate. From your description, it appears that you also have a Mac Mini M1. Do you have problems on it too ? There is another rumour about a cheaper MacBook Air M1 ..but it is just a rumour.
"Where did GPU processors with seven cores come from? As Ben Lovejoy of 9to5Mac explains, it is simply... a manufacturing flaw.
Apple did not contract the maker of its processors, TSMC, to produce two variants of the M1 chip. A single, 8-core version is produced, of course. But the manufacturing process for the new processors is insanely high-tech and technically challenging, with miniaturisation pushed almost to the limit - operating at the nanometre level. This requires extreme precision and very sterile conditions.
Even the smallest machine error, or a microscopic speck of dust, means that the piece being produced will not be 100% perfect. Every manufacturer carries out quality tests to catch sub-standard pieces. And categorises them accordingly (a phenomenon known as 'binning'). If they are unusable at all, they are discarded. If the defect is not large - they can be used as lower-performance components than originally intended (and sold more cheaply).
This is where the 7-core GPU in the cheapest version of the MacBook Air came from. Of course, it's not that TSMC produced several million chips with exactly the same flaw - one GPU core not working. Rather, the point is that tests showed that some units did not work 100% smoothly at higher voltages; they could, for example, overheat. The remedy for this was therefore to switch off one core and - perhaps - also to lower the clock frequency. As a result, the processors stopped overheating, but at the same time they achieve less performance than the 8-core versions. This is why they are sold more cheaply"
Great to hear you've got a working setup. I'm going to take a peek at Filezilla's source-code because it's the default option for a lot of people.
If you can improve FileZilla to be compatible with ZitaFTP, that would be a good way. I would be happy to use both solutions combined Cyberduck does what it should do, but FileZilla is a bit more structured.
Quote:
Almost missed this. I suggest anyone considering writing virtio drivers contact me. All virtio drivers have a common method of communicating with the virtual hardware. So, we could potentially share code.
Like you, he is in the process of setting up a Qemu system. Once work starts on those drivers, I'll point him to them so you two could work together.
MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE / AmigaOne x5000/40 AmigaOs4.1 FE
I've not had any time today beyond an hour in the morning to "play" with this stuff and I probably won't until maybe Monday night.
I did start to test the Mac Mini but didn't get to the point of it booting from BBoot before I realised I was late in being somewhere and had to rush out. You're right on the MacBook Air. I just couldn't justify spending more money for the purpose so it really is the lowest spec 8GB ram, 256GB disk, to replace my 11" 2013 model. I also didn't fancy spending an extra £300 to have a chunk missing from the top of my display - I'll leave that to my phone
A new thread would be good for relative noobs like me on just how to set OS4 up. I'm sure one exists already somewhere but is it up to date? So far, I've installed from CD, followed by update 1, update 2, update 2 hot fix and that's that. On the machine I'm testing the GPU passthrough I also installed everything from Enhancer 2.2. The graphics stuff is a minefield I don't really understand and I've just installed what I think is right to get things to work.
I will be wanting to get going on a game engine type project I was working on with someone before. For that I've got choices between SDL1, SDL2 or Raylib. I don't recall seeing a Raylib port so I'll probably go SDL2 for that. I'd like to get that building to see what the performance is like under emulation but I need to tackle conversion from cmake to make since I don't recall seeing a cmake for AOS4. I could cross-compile of course but where's the fun in that?
[edit] I just created a new data (work) disk using SFS/02 and copied everything to it. it seems to have made a significant difference to performance. No idea if it's expected or just coincidence. BreakHack runs well with music on now for example.
MartinW wrote:@smarkusg [edit] I just created a new data (work) disk using SFS/02 and copied everything to it. it seems to have made a significant difference to performance. No idea if it's expected or just coincidence. BreakHack runs well with music on now for example.
There are some things to consider as well as on real hardware to be able to use AmigaOs4.1 decently.
After installing AmigaOs4.1 FE I did not install update 1 and 2 manually but I used AmiUpdate which works very well. AmigaOs4.1 Update HotFix is not needed because it is already included in Update 2.
And then of course using SFS for all my partitions which is crucial for optimal speed. I copied the whole thing to a very fast SSD.
Blockzise and Buffer in the Media Toolbox for all portions should also check it. The default settings as far as I remember have a much too high value. With this configuration below in the picture runs here on my machine with Qemu very well.
Under AmigaOs4.1 Prefs/Gui Effects I set the optimization to performance and reduced the transparency in the window settings.
Enhancer Software 2.2:
I have only installed selected things from the Enhancer software package, all that I personally like. I installed everything piece by piece and then checked later to make sure AmigaOs4.1 can handle the changes and the system remains stable.
I didn't install all the graphics stuff as it is not needed for the emulation without decent graphics card drivers including Warp3d/Nova support.
I have not yet dealt with direct development under AmigaOs4.1, but what I wanted to do already failed because I could not set up a reasonable developer system with all the necessary components. It would be nice to be able to compile a few things myself under AmigaOs4.1.
Edit: Important! Under AmigaOs4.1 you should choose a theme which doesn't need 3d acceleration, because we don't have it. Go to SYS:Prefs/Presents/Default and choose a theme for your desired resolution with "no hwaccel" As already mentioned above you can also deactivate the effects in Sys:Prefs Gui and you will see that AmigaOs4.1 gets more speed.
Maybe it will help them understand everything a little better.
Edited by Maijestro on 2023/7/23 17:24:00
MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE / AmigaOne x5000/40 AmigaOs4.1 FE
I will be wanting to get going on a game engine type project I was working on with someone before. For that I've got choices between SDL1, SDL2 or Raylib. I don't recall seeing a Raylib port so I'll probably go SDL2 for that. I'd like to get that building to see what the performance is like under emulation but I need to tackle conversion from cmake to make since I don't recall seeing a cmake for AOS4. I could cross-compile of course but where's the fun in that?
I'm hoping that someone will port Raylib. Afxgroup has a partial glfw3 port (one of raylib's dependencies), so the effort required is reducing.
There is a cmake port, but it's rather old now and more and more build scripts rely on newer features (because they're easier to use). Hopefully alfkil will get round to updating the port...
sudo ip tuntap add user "your user" mode tap sudo ip link set tap0 up sudo ip addr add 192.168.0.1/24 dev tap0 sudo iptables -t nat -A POSTROUTING -s 192.168.0.2 -j MASQUERADE
add to your qemu line this: -device rtl8139,netdev=tap0 -netdev user,id=tap0,net=192.168.0.1/24,dhcpstart=192.168.0.1
repeat the wizard of your internet connection automatically with AmigaOS
you should get an "external IP 192.168.0.1" automatically
@white Maijestro is on macOS where there's no tap so the commands for Linux don't work. The equivalent on macOS is vmnet-host but that does not work on Linux so won't help you. smarkusg can probably set it up without problem but again how does that help you? Additionally, if you use tap netowrking then port forward options don't make sense as you can just use the IP of the tap network interface to access the machine. When using tap, instead of port forwarding you have to set up IP addresses and routing propertly to access the guest.
If you use tun/tap it is very simple - you are combining too much
why are you running in qemu? (,net=192.168.0.1/24,dhcpstart=192.168.0.1) you are doing yourself unnecessary network separeation and have to combine with some fw ports.
configure this for your network on Linuxe , leave qemu alone. set up a transparent interface
example: set on amigaos static ip number ip: 10.0.2.15/24 route: 10.0.2.2
linux:
ip addr add 10.0.2.2/24 dev tap0
in qemu "-netdev tap,id=mynet0,ifname=tap0,script=no,downscript=no -device rtl8139,netdev=mynet0"
remember how they write it - tcpdump is your friend
tcpdump -i tap0 -n
check yourself what is going on, ping 10.0.2.15 from linux and you will see that it works
set yourself the address masking with SNAT or MASQUARADE for 10.0.2.0/24 if you want to have the output to the world
------------------------ HERE IS A BRIEF SUMMARY: ------------------------
HOST NETWORK
Note that from inside the guest, connecting to a port on the "gateway" IP address will connect to that port on the host; so for instance "ssh 10.0.2.2" will ssh from the guest to the host.
You can configure User Networking using the -netdev user command line option.
Adding the following to the qemu command line will change the network configuration to use 192.168.76.0/24 instead of the default (10.0.2.0/24) and will start guest DHCP allocation from 9 (instead of 15):
You can isolate the guest from the host (and broader network) using the restrict option. For example -netdev user,id=mynet0,restrict=y or -netdev type=user,id=mynet0,restrict=yes will restrict networking to just the guest and any virtual devices. This can be used to prevent software running inside the guest from phoning home while still providing a network inside the guest. You can selectively override this using hostfwd and guestfwd options. Enabling ping in the guest, on Linux hosts
Determine the main group ID (or one supplementary group ID) of the user that will run QEMU with slirp.
In /etc/sysctl.conf (or whatever is appropriate for your host distro), make sure that the whitespace-separated, inclusive group ID range in the net.ipv4.ping_group_range sysctl includes the above group ID.
For example, as root,
add a new group called unpriv_ping:
groupadd unpriv_ping
set this group for a number of users as another supplementary group (note, they will have to re-login):
for U in user1 user2 ... user_n; do usermod --append --groups unpriv_ping $U done
then set both sides of the inclusive range in the above sysctl to the numeric ID of the new group:
The first line creates a virtual e1000 network device, while the second line created one user typed backend, forwarding local port 5555 to guest port 22. Then we can do:
ssh localhost -p 5555
to have SSH access to guest after its network setup (don't forget to turn off firewalls if there is any in the guest or host).
I have to try better but there is something that escapes me and I can not solve.
In practice I have to first for example with:
SSH service status (linux servers) which port is it using is therefore consequently to use that ? with AmigaOS ?
@white Further I don't know what you want to do. Your goal was for the connection not to be NAT and for you to have direct access to the ports. @balaton and I wrote about the simplest solution.
If you mean "listening" you can always use instead of "::" specifically the ip where the port should be forwarded. If you have the possibility do not use e.g. "net=192.168.76.0/24,dhcpstart=192.168.76.9". The simplest solutions are usually the best
If you can improve FileZilla to be compatible with ZitaFTP, that would be a good way. I would be happy to use both solutions combined Cyberduck does what it should do, but FileZilla is a bit more structured.
@Hans well I will evaluate whether to buy the program.
@all So many users using qemu now
And still no one proving to me that Amicygnix works
By the way who is the author of Amicygnix ? So I contact him, Thanks.
I also point out that I currently use the ryzen 5800 for the Windows version of qemu is faster than the Linux one.
If you're interested, I'll make a video highlighting the problems.
example with qemu for Linux if I use E-UAE (sdl version) it works but it randomly won't let me open other programs or just simple directories. ( -cpu 750cxe )
While the version of qemu for Windows instead works perfectly and does not have these problems with E-UAE (sdl version) ( -cpu 750cxe )
Yet the partitions are the same.
qemu 8.1.0-rc4 is the version used in Windows and also in Linux.
To avoid any problems I compiled qemu for Linux simply with: ./configure so the whole package but the linux version has these problems.
Including Mouse pointer refresh With qemu Windows is perfect With qemu Linux is slower.
Need a video to prove it? Or if you don't care, don't do anything.