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
370 stars 31 forks source link

Source of drivefs #18

Open ghost opened 1 year ago

ghost commented 1 year ago

Hi. What's the source of drivefs file? Is it open-source or propiertary?

I found this, but it doesn't seem to be part of tree anymore.

https://chromium.googlesource.com/chromium/src/+/5f578ec81eaa1e8e9eed5618fe889770a59aa456/ash/components/drivefs

Alex313031 commented 1 year ago

@libmat33 OK, so both widevine and drivefs are closed source "google chromeos only" components. What I have done is looked at how these are implemented in ChromeOS flex, as well as took some code from FydeOS, who managed to get widevine working. What they are is two dummy packages that simply copy prebuilt libraries to the proper locations. See https://github.com/Alex313031/ThoriumOS/tree/main/chromeos-base/google-drive-fs and https://github.com/Alex313031/ThoriumOS/tree/main/chromeos-base/libwidevine

How I got both of these files, is by installing ChromeOS flex, changing to the canary channel, then enabling developer mode by modifying the grub boot partition by mounting the drive on another linux system, then booting and using the terminal to manually copy the files from /opt/google/chrome/WidevineCDM and /opt/google/drive-file-stream to a usb drive, and then putting those files in those packages ebuild files dir. Also, in your make.defaults, you must add drivefs and widevine, so that chromeos-chrome package builds with these codepaths enabled to recognize that the above files are there. I also made a USE variable for libewidevine and google-drive-fs, which if ommitted, will disable the installation of these two packages.

Alex313031 commented 1 year ago

@libmat33 I don't like using non foss stuff, but I would rather have a more working chromiumos build. It kinda cripples the build if you cant watch netflix or sync your google drive. And since the libraries im using are coming straight from google, It should all work the same way that chromeos flex does. ChromeOS Flex, if you didnt know, is googles solution to install chromeos on non-chromebook devices. It is the rebirth of CloudReady, after they acquired Neverware, the company that made cloudready. In fact, nicholas@chromium.org has made many commits to the amd64-generic, overlay-reven (which is the chromeos flex overlay, minus proprietary stuff), and the os-install service. ThoriumOS has parts of all three of these integrated, to help with the overall goal of making a ChromiumOS distribution suitable for any computer, with as much feature parity as ChromeOS (I eventually hope to make it near identical, the only thing missing being android app support.) I will never include that because the only way would be to do what FydeOS is doing, but that is unofficial, and would take too much work. ChromeOS flex doesn't even have android support. If you want that, you should use brunch > https://github.com/sebanc/brunch, but that has many bugs.