Forwarded from OrangeFox Recovery NEWS
OrangeFox R11.2 Released
We are pleased to announce the release of OrangeFox R11.2, featuring key improvements and enhanced compatibility.๐ฆ
๐ฎ What is new?
- Support for managing modules of APatch and KernelSU
- Improvements for USB OTG
- Improved support for Android 14 / 15
- USB mouse navigation support
- Improved support for Virtual AB devices
- Other user experience, quality and performance improvements
We also welcome Egor to the development team. His contributions were significant to this update.
๐ R11.2 will roll out for select devices later today, with more to follow in the coming weeks.
๐ฃ Update channels:
Beta - @OrangeFoxBetaTracker
Stable - @OrangeFoxUpdates
๐ฌ Support chat:
@OrangeFoxChat
โฌ๏ธ Downloads:
orangefox.download
We are pleased to announce the release of OrangeFox R11.2, featuring key improvements and enhanced compatibility.
- Support for managing modules of APatch and KernelSU
- Improvements for USB OTG
- Improved support for Android 14 / 15
- USB mouse navigation support
- Improved support for Virtual AB devices
- Other user experience, quality and performance improvements
We also welcome Egor to the development team. His contributions were significant to this update.
Beta - @OrangeFoxBetaTracker
Stable - @OrangeFoxUpdates
@OrangeFoxChat
orangefox.download
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Sophie NEWS ๐ข
Sophie AI now Agentic, meaning the LLM (Large Language Model) can decide on its own whether to keep thinking or execute functions.
Next, Sophie AI now has memory. If she decides to remember something from your chat, youโll see a clear notification when it happens.
Surely, you can now use
/aireset to clear the AI Memory.That's not all, Sophie now uses Gemini 2.0 Flash for the chat-bot features, which is significantly faster, cheaper, and better at reasoning than the previous ChatGPT-4o mini model.
That's said, Sophie is now Model-Agnostic, the architectural changes were made to allow to use any LLM from the most of Providers. I'm planning to make a setting to select providers in the near future!
To use AI Features you need to activate them using
/aienable yes first.The Privacy Policy (https://sophie-wiki.orangefox.tech/docs/Privacy%20policy) has been updated to reflect the addition of Gemini.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from OrangeFox Recovery NEWS
We're excited to announce the release of OrangeFox R11.3, bringing accessibility improvements!
Learn how to use this feature on our wiki:
https://wiki.orangefox.tech/en/guides/recovery_no_touch
Additionally, R11.3 contains a lot of internal changes to improve stability, performance, and the user experience in general.
Beta - @OrangeFoxBetaTracker
Stable - @OrangeFoxUpdates
@OrangeFoxChat
orangefox.download
Please open Telegram to view this post
VIEW IN TELEGRAM
โค2
Look, apart from being useless, here's another reason to not include RGB to your next PC build
https://www.youtube.com/watch?v=H_O5JtBqODA
https://www.youtube.com/watch?v=H_O5JtBqODA
YouTube
Insecure Code vs. the Entire RGB Industry | WinRing 0 Driver, ft. Wendell of Level1 Techs
Sponsor: ID-Cooling Frozn A720 Black on Amazon https://geni.us/VDnou4Y
This video is about the WinRing 0 driver (not to be confused with Security Ring 0, but related in this story) and how it has propped-up the fan control and RGB industry for over a decadeโฆ
This video is about the WinRing 0 driver (not to be confused with Security Ring 0, but related in this story) and how it has propped-up the fan control and RGB industry for over a decadeโฆ
I didn't use this nothing so much but the first impression is pretty much a very good one, it looks wonderful, it feels very nice as well and the screen size is just right for my paw to hold it.
It's just that the phone is a little bit too thick.
Anyway, if what, the next main phone of mine could be easily nothing.
It's just that the phone is a little bit too thick.
Anyway, if what, the next main phone of mine could be easily nothing.
โค1
I am currently working on a PoC feature in the FoxBox that can build OrangeFox releases centrally.
The approach is rather to not use any services like Jenkins or GitLab, because they're either tied to the service (GitLab) or works and feels horrible (Jenkins)
The main advantage of a such approach is that building, releasing and potentially testing can be done directly from a single place (FoxBox).
Here's the screenshots attached.
Would also love to listen what y'all think.
The approach is rather to not use any services like Jenkins or GitLab, because they're either tied to the service (GitLab) or works and feels horrible (Jenkins)
The main advantage of a such approach is that building, releasing and potentially testing can be done directly from a single place (FoxBox).
Here's the screenshots attached.
Would also love to listen what y'all think.
๐2
Screencast_20250508_191051.webm
1.9 MB
Here's a cool animation effect I added
I would also like to share the details of the new OrangeFox CI integration in the FoxBox.
The "normal" way to build AOSP (recoveries are derivatives of AOSP) is that you have a very huge AOSP sources directory (300โ400 GB). You also have your device, vendor, and kernel trees, and that's how you build it.
However, there are three main problems:
- Trees โ All of them have to be very strictly maintained. Each tree should not export modules (kernels love to export modules) that are already being exported. That means you have to split such trees into common trees, and nobody likes to do that.
- Even if you do it and split the trees, updating things becomes very tedious, as each change in a common tree would affect every single tree that uses it.
- It's rather insecure because the tree of a completely unrelated device can actually copy/build/link anything to all other devices.
- Managing trees is already a hassle. Big projects use something called roomservice, which pulls trees from their Gerrit/git, checks for dependencies, and recursively pulls them as well. It does require manual intervention for even the smallest things, for example, when you want to change the branch, or when one of the thousands of repos moves or becomes unavailable.
My implementation utilizes immutable builds, which means that every single build is not influenced by any other, nor other trees and configurations.
How does it work?
I've made a service called FoxWorker, which pulls from FoxAPI for new tasks, creates podman containers that have read-only access to the OrangeFox sources, and copies the sources to a temporary location. It then pulls the device tree and checks for a file called fox_factory.json, which has the following structure (see the picture). This serves as a kind of build recipe for FoxWorker to execute, it pulls the repositories accordingly and initializes the build.
Specifically, I want to talk about two things:
1. Copying the whole sources (again, it's ~350 GB of very small files):
Now, this would be complete nonsense with a traditional file system. But since I've been using Btrfs for over 5 years, which has a copy-on-write (CoW) feature, that allows the file system to copy only the metadata instead of the actual data. On my machine, copying the entire sources directory takes about 20 seconds.
2. Podman containers:
That's yet another technology I've used for over 5 years, and it's how I host every single service of mine. It works even better for build jobs. By default, Podman uses rootless daemons which, as is obvious from the name, run the daemon without root privileges, resulting in increased security. Podman also integrates pretty well with SELinux-enabled hosts, which I always use as well.
The "normal" way to build AOSP (recoveries are derivatives of AOSP) is that you have a very huge AOSP sources directory (300โ400 GB). You also have your device, vendor, and kernel trees, and that's how you build it.
However, there are three main problems:
- Trees โ All of them have to be very strictly maintained. Each tree should not export modules (kernels love to export modules) that are already being exported. That means you have to split such trees into common trees, and nobody likes to do that.
- Even if you do it and split the trees, updating things becomes very tedious, as each change in a common tree would affect every single tree that uses it.
- It's rather insecure because the tree of a completely unrelated device can actually copy/build/link anything to all other devices.
- Managing trees is already a hassle. Big projects use something called roomservice, which pulls trees from their Gerrit/git, checks for dependencies, and recursively pulls them as well. It does require manual intervention for even the smallest things, for example, when you want to change the branch, or when one of the thousands of repos moves or becomes unavailable.
My implementation utilizes immutable builds, which means that every single build is not influenced by any other, nor other trees and configurations.
How does it work?
I've made a service called FoxWorker, which pulls from FoxAPI for new tasks, creates podman containers that have read-only access to the OrangeFox sources, and copies the sources to a temporary location. It then pulls the device tree and checks for a file called fox_factory.json, which has the following structure (see the picture). This serves as a kind of build recipe for FoxWorker to execute, it pulls the repositories accordingly and initializes the build.
Specifically, I want to talk about two things:
1. Copying the whole sources (again, it's ~350 GB of very small files):
Now, this would be complete nonsense with a traditional file system. But since I've been using Btrfs for over 5 years, which has a copy-on-write (CoW) feature, that allows the file system to copy only the metadata instead of the actual data. On my machine, copying the entire sources directory takes about 20 seconds.
2. Podman containers:
That's yet another technology I've used for over 5 years, and it's how I host every single service of mine. It works even better for build jobs. By default, Podman uses rootless daemons which, as is obvious from the name, run the daemon without root privileges, resulting in increased security. Podman also integrates pretty well with SELinux-enabled hosts, which I always use as well.
โค1