winesapOS
winesapOS copied to clipboard
Provide a PS4 release image
We want to make PS4 support official. I want to upstream the changes into winesapOS and have us test each release.
The image will be named something like: winesapos-ps4-<VERSION>.img
All PS4s will be supported: Original, Slim, and Pro.
Here is the file system layout that PS4Linux recommends:
- Partition table type: msdos
- Partition 1: FAT32, 50 MiB
- Partition 2: ext4, all remaining space, the label should match the name of the initramfs that is being used
https://ps4linux.com/run-ps4-linux-without-installing/
We need to use a special Linux kernel and initramfs. Ideally, I would like to find out what makes those kernels so special.
Confirmed working:
- Linux 5.3.18 for Aeolia made by ps4boot and microho.
- initramfs.cpio.gz from psxita.
There are three different Linux kernels based on what motherboard the PlayStation uses. We should provide all three and default to one (the most popular PS4? the newest PS4?).
A custom Mesa package is also required. I would like to try to get changes merged upstream so a custom Mesa won't be required.
Upstreaming Mesa patches would be great. BTW, we also need patches in the libdrm and x11 packages for it to work on PS4.
As for the kernel, I haven't yet had the time to look into merging them for all the models (Aeolia, Baikal and Belize) and since you asked, I have been curious too, as to why a single kernel can't be made.
Another interesting thing is that often when the whoisthatsouhtbridge (https://ps4linux.com/ps4-linux-documentation-aio/#How_to_use_whosthatsouthbridge_to_find_if_my_PS4_is_Aeolia_Belize_or_Baikal) reports a certain model, the kernel for it doesn't work. It's confusing.
I would love to get everything upstreamed! That way, any Linux distro would technically work in the future.
Do we know what those custom patches are for all of these packages? For Linux, Mesa, libdrm, x11, and anything else. Are they hosted in a git repository somewhere? That would be step one is to understand what's needed today. Step two is to find the right upstream developers to help and see how we can merge those patches in.
Interesting, so even the WhoIsThatSouthBridge payload is not even accurate. It at least worked for me. I suppose we will need a more accurate way of finding the hardware information. From my understanding PlayStation uses a BSD operating system so hopefully there's some sort of /proc/
and/or /sys/
information that may be useful.
You can find the patches for the relevant packages at https://github.com/Ps3itaTeam/ps4linux-video-drivers
The Mesa patch might require very minor changes, especially the latest versions.
Thanks for providing that link! Those patches are all very small in scope which is great news in terms of us being able to potentially upstream them! One of the AMD patches looks like a hack, though, and may need a bit more work.
For the short-term of winesapOS, we have an open issue regarding providing a chroot build instead of a full release image. [1] This should help with providing a customized PS4 build.
- https://github.com/LukeShortCloud/winesapOS/issues/121