Alex313031 / ThoriumOS

ChromiumOS fork with Thorium Browser, x264/x265 codecs, Widevine, Kernel 5.15, Linux firmware/modules support, Nouveau, Intel microcode, and extra packages.
https://thorium.rocks/thoriumos
Other
393 stars 31 forks source link

Add VMware drivers? #53

Open LagLifeYT opened 11 months ago

LagLifeYT commented 11 months ago

Right now the state of ChromiumOS in VMware is pretty bad, only Fyde maintains a port to VMware, which is not kept up to date often and is generally not great. It has a bunch of patches in it that make it not as close to ChromeOS as this project is.

In theory the only thing that would need to be done is add the "open-vm-tools" package to the BSP, but I don't know if that is the only thing that needs to be done. Fyde maintains a VMware port of openFyde and the source for that is available. CloudReady also included the VMware drivers by default, so you could just download one image and have it work in a VM and on real hardware. I presume that would be easier than building two images every time.

Alex313031 commented 9 months ago

@LagLifeYT Yeah, this is one of the goals for V121. The only problem is cloudready isn't open source (except for the "reven" overlay, which is the open source counterpart to ChromeOS Flex since neverware got bought by google. So sad. RIP Neverware and the Cloudready Forums) ThoriumOS transitioned to being based on the reven overlay with V117, which added alot better hardware support by using the "Cloudready" Kernel. I am aware of OpenFyde being the only place to get overlays for VMWare as well as Raspberry Pi. However, unlike their Raspi overlay, the VMWare overlay (as you said) is very out of date. When I tried to merge/integrate it into ThoriumOS, I got a bunch of errors. Including conflicting packages, ebuild mismatches, and packages just straight up not building with newer GCC. I will try to see how they did it, and then recreate it from the ground up using newer packages from upstream Gentoo, and modifying some configs to match the newer ebuild system introduced in portage 8.

Alex313031 commented 9 months ago

@LagLifeYT Unlike most of my projects that I constantly criticize myself overly for, I am quite proud of ThoriumOS. It is a worthy successor to Cloudready IMO. This is because I made some kernel changes to allow Crouton and Crew to run properly, I enabled dev mode and sudo access in the shell (which ChromeOS Flex has notoriously disabled, even though Cloudready supported it. Now you have to mount it on a linux machine and do bootloader changes after installing and with every update). I also try to make it as close to ChromeOS (like you said), by integrating proprietary codecs, widevine, google sync, and google drive. Using binaries extracted from a ChromeOS Flex image.

The only thing that is lacking in ThoriumOS versus Flex is Google Assistant. I have a stub/shim package that copies libassistant_v2.so to /opt/google/chrome, but it seems more is needed to get it to work, because while it enables the assistant UI and settings, when you actually try to use it it says "unable to reach network".

I eventually want to fix this, as well as the VMWare thing, to make ThoriumOS the ultimate ChromiumOS, and developer friendly too. I already added lots of useful (and sometimes just fun, like sl and cmatrix) packages. I want to make it more easy to install your own. Maybe by allowing emerge to work even after the image is built, so that you could manually copy an ebuild to the rootfs, build it, and then install it.

LagLifeYT commented 9 months ago

the VMWare overlay (as you said) is very out of date. When I tried to merge/integrate it into ThoriumOS, I got a bunch of errors. Including conflicting packages, ebuild mismatches, and packages just straight up not building with newer GCC. I will try to see how they did it, and then recreate it from the ground up using newer packages from upstream Gentoo, and modifying some configs to match the newer ebuild system introduced in portage 8.

It's kind of interesting the reven overlay already has VMware's graphics listed in the graphics to build in support for. That means the VMware userspace drivers are already in ChromeOS Flex. But for whatever reason it seems Google did not add open-vm-tools to the images. ChromeOS Flex does already work in QEMU (badly) but still at least boots. It does not even get to the chromeOS Flex logo in VMware. I believe that CloudReady did add open-vm-tools since it booted in VMware every time even though they never officially supported it.