Skip to main content

· 5 min read
Jon West
HMTheBoy154

alt text

We've uploaded new builds to our SourceForge page. Here are the new things that we added to these builds:

  • These new updates include BlissOS 14.10.2, BlissOS 15.9.1 & BlissOS 16.9.6. All of them are now on latest May 2024 Security Patch, with BlissOS 14.10.2 is on Feb 2024 + unofficial patches from Lineage. We've decided to keep 14.10.2 date intact while still merging new patches.
  • We've updated the graphics stack including Mesa 24.0.8, LLVM 17.0.6 (for radeonsi), merging main branch for minigbm & drm_hwcomposer. Libva (and also libva-utils) is being updated to 2.21.0
  • For audio, there are some changes to it that we want to pointed out:
    1. We've updated sof-firmware to version 202403.
    2. On BlissOS 16, we set snd_hda_intel driver to be deferred on purpose. This is to fix the issue that on some old hardware audio is not working due to snd_hda_intel failed to probe the codec.
    3. Finally and this is one of the most exciting change that we want to show you: we've refactored the whole audio initialization stage on init.sh. This refactor provides 2 features:
      • After the first boot, the whole alsa state will be exported to /data/vendor/asound.state so the next boot alsactl will load this file instead of running the whole initialization stage again. This allow users to be able to play around with tools such as alsamixer and then save their own changes. Note that we don't have automatic save implemented yet so you'll have to type "alsa_ctl store" everytime you make a new change.
      • We're now support more audio cards that are in some Intel SoCs especially those tablets with Intel Atoms. By using alsaucm to enable HiFi verb & all possible devices, we can now be able to support most of these audio cards (https://x.com/blissos_org/status/1788877000511528961). Basically if you check dmesg and saw "no backend DAIs enabled for Audio Port" error spamming then yea that is now fixed.
  • We've created a new cmdline parameter : FORCE_TSCAL=1. Some users want to use the TSCalibration app to calibrate the touchscreen, but they didn't know that to make it works you need to run an extra function on init.sh, so we decided to make an option to force it. To avoid users confusion, we also hide the TSCalibration app if that function on init.sh is not being called. You can watch the preview here : https://youtu.be/p5z9yNhCNKE
  • All builds (except Zenith) comes with kernel 6.1.84. There are a few things we've changed other than just upstreaming the kernel.
    1. We've integrated soc_button_array driver directly into the kernel. This helps fixing the side buttons not working on some Microsoft Surface devices.
    2. We've removed the external rtl8723bs driver we are using and instead switched to the staging driver on the linux kernel source. 2 users feedback to us with working wifi after switching to it. But they also report to us they need to reboot in order to make it work.
    3. We also removed gslx680-acpi driver out from our external drivers list. With the new cmdline option on touchscreen_dmi, we're now fully embracing silead_ts driver. You can read here to learn more about how this can help your silead touchscreen working on BlissOS: https://x.com/blissos_org/status/1795048924346032555
  • We've brought evtest tool to all of our new BlissOS builds as mentioned here
  • BlissOS Zenith is now using the latest Kernel 6.9.3 stable kernel. Different from the last build which uses 6.6 kernel from Google's android15-6.6 branch, this is a new kernel that was made using android-mainline branch, we got the source right when Google merge stable 6.9 and upstream it. Then we also merging patches from different places like Android-x86, xanmod, Nobara Linux, etc. You can check out the new Zenith kernel source here

During testing, we've found some critical bugs that we would like to address:

  • We've updated KernelSU but only to version 0.9.2. While the latest version 1.0 is out, ever since 0.9.3 there is a bug on KernelSU that prevent us from updating. On live boot, KSU will work as intended but once installed it will show "not installed" and be unusable. We've reported this bug to KernelSU's Github Issues and we're waiting for a fix: https://github.com/tiann/KernelSU/issues/1783
  • When we say "we are now able to support most of these audio cards", not only does it mean we haven't tested all of the audio cards, but also there are some that is not working right now. For example an user has reported to us on Discord that his audio is not working and it's a Thinkpad 10 that currently using "cht-bsw-rt5672".
  • All of our audio test on Intel Atom SoCs have 1 bug in common: playing anything with audio for a while and then suddenly the audio stream is cut, producing strange buzzing noise that you need to temporary pause the audio to fix until it happen again.
  • Users on BlissOS Zenith please pay attention to this ! Currently Zenith kernel has an issue, and that is KernelSU.... again ! KernelSU while can be able to show that it's working & can grant root for apps, apps can not be able to call su at all ! For now you can't grant root for app but if you want to run any commands with root you can boot with androidboot.enable_console=1 and use Alt + F1 tty.

We're hoping that we can be able to fix these bugs in future updates. In the meantime, please enjoy these new builds from us. Thank you for reading this blog post and supporting BlissOS.

#StayBlissful

· 2 min read
Jon West
HMTheBoy154

alt text

BlissOS 14 is based on AOSP 11 and was officially revealed on December 22nd, 2020. After 4 years of supporting the OS, we are planning on the day that we officially pulled the plug & stop supporting this version of BlissOS. https://fixupx.com/electrikjesus/status/1341183060713324547

In case you didn't know, the last security patch for AOSP 11 was officially released by Google on Feburary, 2024: https://source.android.com/docs/security/bulletin/2024-02-01

Which mean any support from now on will have to completely handled by the community. And after discussion, we've decided to prolong the support for BlissOS 14 until April 2025. During this time, we will:

  • Merging new security patches by using unofficial Lineage backport
  • Bumping the kernel to at least 6.6.x LTS
  • Updating Mesa to 24.0 and up
  • Backporting changes from higher BlissOS version if possible.

While we will commit to support the OS until next year, we will not guarantee the safety of the OS. Which is why soon we will list this as "old stable" and we will encourage users to use higher versions of BlissOS if possible.

Support on our Telegram & Discord are also the same. When the version is reaching end-of-life, we will not providing support on those platform anymore.

· 7 min read
Jon West
HMTheBoy154

alt text

It is that time of the year to share and look forward to the future, so we are back with another update on what all we have been up to and where we are headed from here.

Leading Up To Now

We have been working on merging upstream changes, our install process, our update process, and adding more features and configuration options to Bliss OS, and much of that work is getting ready for release.

A revamped bootable installer

While there are many reports that the bootable installer was really buggy in recent years, because there are alternatives like Grub2Win or manual Linux dual-boot setup we haven’t spent much time on it. However, with the shocking discover that Grub2Win, a project that we and many people are using to install and dual-boot BlissOS is doing something inappropriate , we realized that it’s time and decide to look back at our bootable installer to completely revamped it :

  • Both the installer and the initrd now will use latest busybox 1.36.1 built by Docker (https://github.com/docker-library/busybox)
  • Almost all of the libraries & programs are now using prebuilts from Debian 13 i386 instead of the old one from Android-x86 (which was taken from an old version of Fedora).
  • efivar and efibootmgr are still being built from source, but are being updated to latest versions.
  • Grub has been bumped to Grub 2.06 for both Legacy BIOS or UEFI. Bumping Grub2 to the latest stable version also helps fixing black screen issues when trying to install.
  • Support installing with exFAT or F2FS (experimental).
  • UEFI users can now be able to manually choose the ESP (EFI System Partition) if they want, this is for people who have multiple ESP in their setup or just want to make sure that the installer picks the correct partition. We also allow users to change the label on the folder or on the UEFI entry if you want more customization.
  • Some label and text edit for better comprehensiveness of what the installer tries to do.
  • Support install with rEFInd for UEFI users, it is still in the experimental stage so please consider carefully before choosing it.
  • Using rsync for the files copy stage as it can fix an annoying problem that the progress bar will reach 200% when done.

We believe that with these new changes, users will have a great experience setting up the OS. Just a small caution : Unlike Android-x86, we haven’t planned to support Secure Boot yet so please disable it before trying to install the OS.

Check out the screenshot here if you are interested : https://t.me/hmdumbground/111

An approach to OTA updates on BlissOS

A few months ago, we reached out to @erfanoabdi for a solution to OTA updates. This was intended for Bliss Co-Labs clients and later applied to BlissOS and it is unlike any other OTA method that any Android-x86 or other derivative used to use. The idea here is utilizing virtual A/B by making a bootctrl HAL that will edit Grub configuration to switch between the two slots. The advantage is that with virtual A/B, users can still be able to use the OS while it’s updating because the update is being handled in another slot. Also other custom ROMs can easily use our method as the update is being handled by LineageUpdater, which is being used by many.

The disadvantages that we observed is that this method does not support filesystems that are handled by FUSE , so if you install BlissOS on an NTFS partition, you will not be able to use it. Another issue is that because switching slot is to edit a config file, manual Linux dual-boot will now have to take extra steps if you want OTA support. We will soon update it in our Documentation.

All versions that we are maintaining will support OTA. This includes BlissOS 14, 15 and 16. Please install the new builds to get the latest OTA updates in the future.

AV1 support for ffmpeg codecs

Thanks to the work of @KonstaKANG, we’ve been able to bring AV1 support into our ffmpeg codecs. Currently AV1 is being handled by libdav1d made by the developers at VLC and being built using GloDroid’s AOSPExt. We are also planning to support VA-API AV1 soon for hardware-accelerated solution.

Properly handle suspend

While making her first big contribution to the project which is providing fixes to the Steam Deck, our friend @Kethen has decided to help us tackle the suspend issue. Suspending the machine or waking it up now feels less buggy than before.

BlissOS Go for all versions

Announced in June with only 15 (Android 12L) versions, BlissOS Go is still being continued to develop and now we are announcing that the Go version will be available to all BlissOS versions, including 14, 15 and 16 with both Gapps or FOSS variants.

Bump to kernel 6.1 for all builds

Kernel 6.1 has been tested internally and is available on BlissOS 16 for a while now and we decided to finally release all of our BlissOS versions with it. Still the same combination of Google’s Android common kernel source + Android-x86 patches + some xanmod patches. Now with more hardware supported especially the Steam Deck with some drivers & fixes being pulled directly from Valve.

Introducing BlissOS Zenith

alt text

We realized that there are users out there who are using hardware that are too new for the kernel in BlissOS to support. This is a challenge as we know that we can’t just build all the current BlissOS versions with stable or mainline kernel, that would risk the stability of the OS. So we’ve decided that we will make another variant, this time with 2 key differences :

  • Only build the latest version of BlissOS available for this variant, so for now it’s 16.
  • Using stable branch of the linux kernel.

We want to make this build for users that have new hardware or the one that always wants the latest, latest version of BlissOS and the latest kernel. With that said, we still need a name for this new variant. This gave us an idea, “What if we ask our community ?” and decide to ask people to give this new build a name on our Twitter & our group chat. After looking through all the suggestions, we’ve decided to choose Zenith .

\ BlissOS Zenith, The new flagship build of BlissOS, intended for "chasing the latest". Starting now with version 16.9.4 and kernel 6.6

Other updates

  • A lot of fixes for Steam Deck, even a dedicated sensor HAL thanks to @Kethen (again).
  • alsa-info.sh is now being included into BlissOS, this will generate a file with all the necessary information related to audio, this is intended to debug audio issues.
  • sof-firmware from Intel is being included to support more audio hardware.
  • All builds are now using Mesa 23.3.3
  • Some fixes to the sensors HAL (thanks to @Kethen again)
  • Fixed an issue that desktop Nvidia GPUs with nouveau can’t be able to get into the GUI.
  • Support KeeTouch touchscreens.
  • Rotation quirks for Chuwi Ubook X 2023
  • Extra properties to disable navbar, statusbar, taskbar and recents for BlissOS 15 & 16. This used to be a part of Bliss-Bass and has now been ported to BlissOS.
  • Users can now fix their audio issues after install by putting their hardware’s alsa state definitions in /data/vendor/alsa/<hardware>.state
  • Updated KernelSU to latest version.
  • Virtual Console is back, you can now press Ctrl + Alt + F1 to switch to it. If you want to unlock the console, add androidboot.enable_console=1 to the cmdline. Bringing a virtual console also helps fixing another issue: hiding a small blinking cursor when using software rendering.
  • Some tweaks for BlissOS Go taken from GloDroid Project .
  • You can now disable the tablet taskbar on BlissOS 15 & 16. Patches were taken from LMODroid .
  • AutoFast JNI is now available on BlissOS 16.
  • BlissOS 15 and 16 now have a new Sleep logo, and you can enable/disable the button on Blissify Settings => Power Menu

· 6 min read
Jon West

alt text

Since the release of our stable Bliss OS 14.x & 15.x builds, we have had the chance to make a number of advancements on the OS in various areas. We will start the post with the updates coming from the value added contributions on the business side of things, then end with the updates being merged into the Bliss OS builds.

Bliss Bass - beta builds started already

alt_text

We have started to push some of the source for our Bliss Bass (Broad Apparatus Support System) builds that we use for customer focused builds based on Bliss OS, and the feedback from that has been pushing our development on the platform in a positive direction. These builds will be 100% ready for use in products, and will come with a number of added configuration options for features, UI/UX, updates, and more. We have released a few beta builds of the base FOSS variant of Bliss Bass for testing on Sourceforge. The initial flavors we will offer are:

  • Kiosk variant
  • Desktop variant
  • Tablet variant
  • Tablet Go - IOT/IIOT variant
  • More on its way

There will be a new website created for these builds, and they will still be free to download and test, although the initial test builds will come watermarked. This will ensure that we are able to produce these test builds for the public while still retaining our licensing rights for it.

We are still collecting valuable information from our customers and would love to hear what our users think of this approach. Please leave a comment and let us know your thoughts.

Bliss OS Updates

There are a few important changes that we are gearing up for on Bliss OS. First, on Bliss OS 14.x & 15.x, we will be shipping with Kernel 6.1, this includes our Surface builds. Second change will be for BlissOS 14.x, 15.x & 16.x (Generic/Surface), and that will be a switch to a new Audio HAL made by Intel’s Project Celadon

Switching to the new Audio HAL will be an important change for us, so we would like to ask everyone to help us to test these new HAL so that we can have feedback and improve it further. Once tested, we will update the builds to include the new audio HAL changes.

Please join our Discord or Telegram to gain access to the new test builds of BlissOS 15.8.8 with Kernel 6.1.36 and the new Audio HAL.

Go builds & Low RAM devices can now bypass some options in Settings

In BlissOS Go builds, there are some options that are being blocked by Android. Most notably the option to allow apps to draw on other apps. You will see this text when you are trying to grant the permission :

alt_text

With the latest update of BlissOS, we've included a switch in Blissify Settings to allow bypassing this restriction. So now you are able to use apps like Smart Dock or Taskbar just like the usual generic version. The new option will be available in all of the upcoming BlissOS releases including 14, 15 and 16.

A/B OTA Updates - rolling out soon

Our efforts on Bliss Co-Labs have been paying off and we have a number of features and options developed from there heading to our open-source Bliss OS builds soon. The recently merged changes for the Bliss Setup Wizard for Bliss OS 15.x is one of those.

The other will be coming in the form of OTA updates for Bliss OS. These updates will bring the following improvements to the system:

  • Separate A/B slots for all three images (system.img, initrd.img & kernel)
  • System Rollbacks - Native bootctrl behavior
  • Update server controlled by our own Shipper Stack

We have worked around a few issues with shipping sfs/erofs images and will keep the community posted on the progress. The early beta builds might not have all those fixes included just yet, so just be aware if you are trying to mount as read/write.

Grub updates to v2.06 - also rolling out soon

Now that we have the groundwork laid out for updating Grub with our A/B OTA updates, we decided it was best to update to the current version of Grub that Linux uses, and in doing so, we also solve an issue that 12th gen+ Intel CPU’s have had where the screen is black after selecting any boot option from Grub. This means that the most recent gen CPU’s will now be supported by both the kernel and the bootloader for Bliss OS.

This effort came from a few different contributors, so we have an initial solution we will likely release, and then split the other contributions into phases where we merge binary updates, libraries, modules, installer updates, and others separately in order to ensure stability as we move forward.

OEM Install mode options - also rolling out soon

Bliss OS builds (and Android-x86) have had some major issues with the auto-install mode that have been the source of many headaches and many long nights of reinstalling other operating systems in order to correct. So we took some time to update the current auto-install solution and give it a more proper name of OEM install, along with adding a few more options for unattended installation (Force):

  • OEM Install (same as old auto-install, will require some interaction)
  • OEM Install - Force MBR [Unattended Install] (if bios is set to use Legacy)
  • OEM Install - Force EFI [Unattended Install] (if bios is set to use UEFI/EFI)
  • OEM Install - Force [Unattended Install] (autodetect MBR/EFI)
  • OEM Update - Will auto-update a previous default install or OEM install

These modes are intended for factory setup and will not work with devices that come with Windows unless you wipe all partitions except for EFI and leave a second OS partition with all the remaining space.

We have more on the way

We don’t want to spoil any of the surprises we have planned, so we will leave things here for this post. Just know that there will be a lot of contributions heading towards Bliss OS source, coming from the efforts of Bliss Co-Labs’ and the community in helping bring our project even further than we ever thought possible.

Thanks again and enjoy the builds!

· 3 min read
HMTheBoy154

alt text

July is a busy month for us here in BlissLabs. With the release of Android 13 QPR3, we've decided that both BlissROMs and BlissOS this time will release the new updates on the same day which is pretty special for both of us.

You can check out all the changes BlissROMs made here for more info : https://blog.blissroms.org/2023-07-15-typhoon-16.8-updates-jul-2023/

BlissOS exclusive changes

Beside from QPR3 and the changes made by BlissROMs, BlissOS offer some exclusive changes too. There are 3 main things :

New About Tablet design

alt text

BlissROMs gave us the new About Phone/Tablet design, here we made a few modification to it. First, Processor name will show the actual CPU name of the device instead of getting the SoC name with prop ro.soc.model. Device name is a tablet instead of a phone and the screen to show the wallpaper is set to horizontal with 16:9 aspect ratio. Making this a nice tablet info screen for BlissOS.

Exclusive Launcher Features

To say this is an exclusive is a bit odd, because submitted the patches to Gerrit. But BlissROMs decided to put these in the next release (16.9) so we just gonna say that this is exclusive to BlissOS 16.8 :p.

First, the Split button is now properly modified based on the new Recents button layouts.

alt text

Not only that, you can also turn it off in Recents Settings

alt text

Next, by default memory info in Recents is on the top of the screen, we've provided an option to move it down again. We also calculated and change the margin of memory info when you are on Persistent Taskbar or Transient Taskbar so that meminfo will not be covered by taskbars.

alt text alt text

Finally, Developer Options is back ! You can find it under Misc Settings when Developer Options in Settings is enabled.

alt text

Shipping with Kernel 6.1

BlissOS 16.8 will be the first build to ship with Kernel 6.1. Currently I'm still using the same recipe, Google's Common Kernel android14-6.1-lts branch with xanmod patches and some fixes for Android-x86 but because this is Kernel 6.1, more hardware will be supported especially the Steam Deck with some drivers & fixes from Valve that they put on their SteamOS' kernel.

And that's it for this month with the new release of 16.8, we hope that you will enjoy it even though for BlissOS 16 it's still in Beta stage.

#StayBlissful #FeelTheWind🌪

· 15 min read
Jon West
HMTheBoy154

alt text

The last couple months have been pretty busy at Bliss. Since January/February, we’ve been able to get a lot of work done on many different fronts. With my return to Bliss, we’ve started a collaborative contract development and consulting firm named Bliss Co-Labs, and have been working on a few client projects. Without letting the open-source side of things skip a beat, we’ve also been busy making changes and working on quite a few new updates and projects. So we think it’s about time to at least announce a few of the changes we have in store, as well as a few announcements for new projects or major project updates.

Updates

Let’s start with the release updates first. HMTheBoy154 has been busy pushing out some truly amazing innovations for Bliss OS, bringing the platform to support many more devices, and expanding its configurable layers past the graphics stack, and into many others. He has this to say about what has been going on recently:

Ever since Jon joined Esper, I’ve decided to continue his work. If you join our Telegram group, you’ll notice that a lot has changed since the last releases like Bliss OS 14.3 or 15.1. In this post, let’s take a look at what’s new in these versions.

Bliss OS v14.10 Release

alt text

Compared to 14.3, the new Bliss OS 14.10 has improved a lot. Although there are some features that I have to remove for example the long iso name to explain what's inside the build or Gearlock (while it is a really good recovery solution for Android-x86, I still decided to remove it because it need to be rewritten), I've been putting a lot of changes into it, some of them were on my old ProjectSakura-x86 builds. Also, please remember that most of these are also available in Bliss OS 15.8 builds and more on that later.

Here are the new changes :

  • Taskbar apps like farmerbb's Taskbar or axel358's Smart Dock are being updated to the latest.
  • Kernel has been updated to 5.15.x, this is the same kernel I use on PS-x86 but now with more optimization & hardware support. Also mgLRU, eBPF, DMA-BUF Heap, etc are all being enabled.
  • ESDFS is being used to bind mount apps' data just like ChromeOS, this is to fix apps that can't be able to read data or obb on Bliss, causing it to crash.
  • Using Intel's Bluetooth HAL, with some changes from Android-x86 to support more Bluetooth cards than just Intel one.
  • You can now make a list like modprobe.conf at /data/vendor/modules.options or /data/vendor/modules.blocklist if you want to blacklist a module.
  • Bliss can now show the device information just like the old Bliss OS 11 or Android-x86.
  • virt_wifi is now disabled by default, you can still use it with VIRT_WIFI=1
  • If you are using a tablet or convertible laptops that have an accelerometer, our iio sensors can now be able to rotate the screen.
  • PGO optimization for art. This is a feature by Intel to enhance VM workload performance, you can read about it here.
  • AutoFast JNI, this is also another feature by Intel to improve performance on Android running in x86 hardware .
  • zram is enabled by default with zstd compression.
  • aptX & aptX HD Bluetooth codecs support using Android 13's encoders. Bliss is the first Android build on x86 hardware to get this publicly.
  • toybox is being upstreamed with additional tools such as eject or rfkill. Also, we've included usb.ids and pci.ids for lsusb & lspci so you can check the USB or PCI devices name.
  • If you want to mount all of your partitions into Bliss, add INTERNAL_MOUNT=1 into the cmdline.
  • If you want to try AOSP's experimental "PC Mode", add PC_MODE=1 into the cmdline and try.
  • If you want your Bliss OS build to be recognized as a Google Play Games for PC image, add HPE=1 into the cmdline and reset Play Store.
  • You can now force your mouse click as touch, this is to help fixing apps that only use touch input only.
  • Mouse acceleration can be disabled ,also scroll wheel too.
  • Night Light is now available.
  • BoringDroid is back.
  • For media, while using OMX.ffmpeg codecs as usual, I also provide Codec2 implementation of ffmpeg codecs, made by Micheal Goffioul. Alongside with that, new VAAPI drivers for newer Intel iGPU & other hardware is also being built to support hardware acceleration decoder. I also include a lot of parameters that you can use to get the best result from Bliss OS, you can find it at our Docs.
  • For graphics, our graphics stack is being improved significantly compared to the previous builds, not only that, like media, we provide a lot of options through parameters too. You can see some of our changes here like :
    • Vulkan is now being enabled by default. VULKAN=1 is dead, long live VULKAN=1.
    • Mesa is being updated to latest version (23.1) with LLVM16 for AMDGPUs.
    • Also in Mesa we've activated xmlconfig, with this you can create custom configuration for apps & games related to graphics like spoofing GPUs name & vendor. We will update more information in our Docs soon.
    • While we include a lot of Gralloc & HWC options and we pick the best one depending on what GPU Bliss is running. So if you don't want to play with any of this, you can just be sure that you are running the best one that is being tested by us & the community.
    • For minigbm (and all the different variations that we have), you can switch to Gralloc4 with GRALLOC4_MINIGBM=1 parameter.
    • You can force OpenGLES version with FORCE_GLES=<version> parameter.
    • For software rendering solutions, not only we are using Swiftshader, but also SwANGLE. A combination of ANGLE EGL driver & SwiftShader Vulkan made by Google. SwANGLE is already being used on Android 13 but we've backported it.

And for the first time, Bliss is using the new KernelSU for root solution. Not only that, Bliss OS is the first x86_64 Android build ever to integrate KernelSU into it.

alt text

These builds will also be moved from our development branch to our stable branch, so you will soon find these builds on our blissos-x86 sourceforge (where we release our stable builds).

Bliss OS v15.8 Release

alt text

Bliss OS 15.8 has a different starting point than Bliss OS 15.1. Firstly, Bliss OS 15.8 is based on Android 12L unlike 15.1 which uses Android 12. Second, Bliss OS 15.8 common tree (device/generic/common) is based on my 14.10 tree with a few patches instead of using 15.1 one. Which is why I said that most of the new features from 14.10 are also available on 15.8. All the changes you see in 14.10 are also in this version, but with Android 12L instead.

These builds will also be moved from our development branch to our stable branch, so you will soon find these builds on our blissos-x86 sourceforge (where we release our stable builds).

The return of Bliss OS Surface Builds

alt text

For Bliss OS, Surface Builds used to be a thing in Bliss OS 11 days with a few builds available. Now we’re happy to announce that we’re bringing back the build with a newer kernel (5.15) using patches from linux-surface and using the latest ipts/ithc kernel driver as well as iptsd daemon to support touchscreen.

*NOTE : Not every Microsoft Surface device has to install surface build to make it work, some can just use generic builds, please check our Documentation for more info.*

Releases

HMTheBoy154 has been working on a super secret project for Bliss, and we are happy to announce the initial beta release of Bliss OS v16.6 (Android 13) for x86_64v2 PC’s, laptops, tablets, etc. Check the release notes for that below.

Bliss OS v16 Beta Release

alt text

Yes, you heard that right. Today I'm happy to announce the first public beta build of Bliss OS 16. The development has already started since October 2022 and I've been working together with not only Android-x86 members & contributors, but also with BlissROMs members and we've made a lot of progress since then. We even work with the LibreMobileOS team to fix some issues like freeform.

Currently BlissOS 16 is on 16.7 to match with the version on BlissROMs. While it’s still on Beta stage, we can't wait to release our new images so you can experience them.

New Bliss OS Logo Announcement

With the Bliss OS 16 announcement, Designer XelXen (aka WildWaze) has also been working with us on a redesigned logo for this and future releases. Not only that, he also included some new wallpapers for us to match with this new design elements.

“The new logo of BlissOS depicts a human figure standing in between petals of lotus, representing the transparency and diversity of the operating system. The figure also holds a perfectly shaped lotus flower, which is the emblem of BlissLabs and perfection.”
Logo 1Logo 2
alt textalt text
Wallpaper 1Wallpaper 2
alt textalt text
Wallpaper 3Wallpaper 4
alt textalt text

Android-Generic Project Manager Release

We are excited to announce the release of Android-Generic Project Manager (AGPM), a tool that makes it easier to build and configure AOSP based projects. AGPM provides a number of features that can help you save time and effort, including:

  • Automatic repo init: AGPM can automatically initialize a new AOSP project or update an existing one.
  • Python virtualenv support: AGPM can wrap your project in a Python virtualenv, which allows you to install packages and run scripts without affecting the rest of your system (quite handy when you are using a shared server over ssh and do not have root access for installing packages).
  • Check Project Status: AGPM can check a project folders repos against the manifest, and it will build a list of any repos with uncommitted changes, or if the repos are not pushed yet.
  • Option to push changes: Depending on what Update Checking finds, you can push your updates to the repos found to be behind
  • Common Tools: Create New, Update, Delete, etc.

Screenshots:

alt text

(Main Menu window: Zenity mode)

alt text

(Check Project Status results: Zenity mode)

Compatibility:

AGPM is designed to be flexible and extensible, so you can add your own project configurations and features. Currently, we support the following projects:

  • AOSP
  • Bliss ROM
  • Lineage OS
  • Bliss OS

We have a planned features list a mile long, and we are always working to add support for more projects. If you have any feedback or suggestions, please feel free to open an issue on the AGPM GitHub repository.

We hope you find AGPM to be a useful tool for building and configuring AOSP based projects.

Android-Generic Project (v2023) Release

We are excited to announce the release of Android-Generic Project (v2023), a major update that brings many new features and improvements.

Key Features

  • Support for multiple targets: AG v2023 can now be used to build images for a variety of targets, including Android phones, tablets, Raspberry Pi, emulators, TVs, and PCs. As usual, we start things out with the PC target, and let that act as an example for the rest.
  • Target-based system: AG v2023 uses a new target-based system that makes it easier to build images for specific targets.
  • Target variants: AG v2023 now supports target variants, which allow you to build images with different configurations for different targets. This system is used to have separate base structures for targets. So for the PC builds (target), we will have the variants: Android-x86 base, Bliss OS base, Bliss OS Go, etc.
  • Conditions for menu items: AG v2023 allows you to use conditions to control the availability of menu items. This makes it possible to create more complex and flexible menus.
  • Addon templates: AG v2023 includes addon templates that you can use to create your own addons. Addons are a great way to extend the functionality of AG.
  • Public and private addons: AG v2023 supports both public and private addons. Public addons are available to everyone, while private addons are only available to a select group of users.

Updates

In addition to the new features listed above, AG v2023 also includes a number of updates and improvements. These include:

  • Updates to the easy-menu system for more dynamic menu options.
  • A new targets based system.
  • The ability to add target variants.
  • The ability to lock the process with conditions per option.
  • Updated api-32 support.
  • Added api-33 support.
  • Reworked manifest structure to include in targets.
  • Added addon template for contributors to use to create their own addons.
  • Added Targets template for contributors to use to create their own targets.
  • Reworked open/private addon structure and added new addons.

Generic/PC Addons

The following new addons have been added for generic/PC targets:

  • Configurable battery stats addon
  • Rotation/orientation configuration options through Grub
  • Expanded LMKD configuration addon
  • LMKD tuning options through Grub
  • Memory tuning options through Grub
  • Performance tuning options through Grub

Licensed Addons

The following new addons have been added for licensed targets:

  • Recents tuning addon
  • Addons for locking various features
  • Customizing new user functions addon
  • Configuring packages on boot (hide/disable/unhide/enable)
  • Addon for locking the ability for the user to change settings

Special Requests? contact us

We hope you enjoy these new features and improvements!

Bliss Broad Apparatus Support System (Bliss-Bass)

(Automated Vendor Customization Layer for Bliss OS / Bliss OS Go)

Bliss Broad Apparatus Support System (Bliss-Bass) is an automated vendor customization layer for Bliss OS / Bliss OS Go (and eventually BlissROM). It is a toolkit that can be used to help with rebranding, customizations, and app changes for Bliss OS based builds. The toolkit comes with a variety of functions, including:

  • An autopatch function that applies all required changes to the Bliss OS build.
  • The ability to define custom sets of changes to be applied before customization.
  • Integration with AOSP's build system, which allows a variety of tools to be accessed before the lunch process starts.
  • The ability to display a customization menu from the pre-lunch hook, using either dialog or zenity, depending on whether or not a GUI is detected.

The Bliss-Bass toolkit is designed to make it easier for users and companies to start off using Bliss for their products. By automating many of the tasks involved in rebranding and customization, Bliss-Bass can save time and energy, allowing users or engineers to focus on the creative parts of the process.

Here are some additional details about the autopatch function:

  • The autopatch function is available from the command line using ‘check_patchsets’ or through the menu.
  • The autopatch function can be used to apply a variety of changes to the Bliss OS build, including changes to the kernel, bootloader, system image, and vendor image.
  • The autopatch function can be used to define custom sets of changes to be applied. This can be useful for organizations that need to make specific changes to Bliss OS for their own products.

Just like some of our other toolkits, this project integrates itself into AOSP’s build system and allows a variety of tools to be accessed before the lunch process starts:

alt text

And when you trigger the customization menu to display from the pre-lunch hook, it can use ‘dialog’ if there is no display or GUI detected:

alt text

Or zenity, to display the menu options if it does detect a GUI:

alt text

Further development is being made to add even more options and tools to Bliss-Bass. The project is open source and available on GitHub at https://github.com/BlissRoms-x86/platform_vendor_branding.

Bliss OS Linux Hybrid Preview

(Bliss OS Go edition)

alt text

Read More in last weeks release post: Bliss OS Linux Hybrid Preview

New Collaborations

LibreMobileOS

alt text

We are excited to announce our collaboration with LibreMobileOS, a project that develops and promotes privacy-focused mobile operating systems. As part of this collaboration, we have been working with LibreMobileOS to develop LMODroid-x86, a version of their operating system that is designed to run on x86-based tablets and PCs.

LMODroid-x86 was created using Android-Generic Project v2023, a free and open-source prototyping toolkit used to create x86 based Android projects, and other targets. The operating system will be pre-installed with a variety of privacy-focused applications, including a web browser, desktop mode, digital wellbeing (coming soon), and file manager.

We believe that LMODroid-x86 will be a valuable addition to the LibreMobileOS ecosystem. The operating system will provide users with a privacy-focused alternative to the major mobile operating systems, and it will help to promote the use of open-source software. We would like to thank LibreMobileOS for their collaboration on this project. We are excited to work with them to develop LMODroid-x86 and to help make it available to users around the world.

We would also like to thank HMTheBoy154 for their contributions to this project. Their hard work and dedication has been essential to the success of the project.

We are confident that LMODroid-x86 will be a valuable resource for users who are looking for a privacy-focused and secure mobile operating system. We look forward to sharing more information about the project in the coming months.

· 2 min read
Jon West

This will be a new addition to the Bliss OS lineup, featuring a number of advancements to running Android on PC hardware. These builds bring the manageability of a full blown Linux distro, along with an Android side for usability and compatibility. It also features a QEMU based Bliss OS session to help with configuration along side Linux, and Bliss OS specific grub menu options to allow the Android side to boot on bare-metal, taking full advantage of the hardware.

Features:

  • Based on Xubuntu 22.04.x LTS

  • Stripped of Snap and other Ubuntu apps/telemetry

  • Includes Ubuntu expanded hardware support drivers

  • QEMU based Bliss OS session

  • Bliss OS grub menu options (for running on bare-metal hardware)

  • Includes basic update and management scripts for Android side

  • Lots more, but we are just getting started…

Download the preview:

https://mega.nz/file/rxgg2CIa#Xe54bBwyrrYZUnawkktKKxnJm9KqHSRPhrud7oXfqaU

Live Boot Info:

User: Live

Password: evolution

Step 1:

Live boot (boots to xfce4)

Step 2:

Run installer (last step shows pop-up to specify data.img size), Done.

Step 3:

Reboot (hitting esc once when rebooting to show Grub menu, and select Bliss OS, or xubuntu)

Notes:

Autologin is enabled, will launch last loaded session choice from Login screen

· 2 min read
Jon West

alt text

[Announcement] Bliss OS Go (Preview Release)

Bliss OS Go is a new variation of Bliss OS that is designed to run on low-end devices. It is based on Android Go, which is a version of Android that is optimized for devices with limited resources. Bliss OS Go includes a number of features that are designed to improve performance, battery life and usability on low-end devices, such as:

  • A lower-spec config for recents
  • A lower-spec config for task management
  • Expanded configuration options
  • And much more

Bliss OS Go is currently in release for a number of low-end devices, including:

  • Intel Atom devices
  • Intel Celeron N/M devices
  • Intel Pentium devices
  • AMD APU/CPUs

If you have a low-end device and you are looking for a new operating system that will improve performance and battery life, then Bliss OS Go is a great option.

Here are some additional details about the features of Bliss OS Go:

  • Lower-spec configs for recents and task management: These configs reduce the amount of resources that are used by the recents and task management apps, which can improve performance and battery life.
  • Expanded LMKD configuration: LMKD is a Linux kernel module that can be used to improve performance and battery life by limiting the number of interrupts that are generated by hardware devices. The expanded LMKD configuration in Bliss OS Go makes it easier to tune LMKD for optimal performance and battery life.
  • Rotation/orientation configuration options through Grub: Rotation/orientation configuration options can also be accessed through Grub. This makes it easy to change the rotation and orientation of the Bliss OS Go display without having to reflash the image.

More Info

Warning, due to the low-spec nature of the devices we are targeting with these builds, we do not include native-bridge by default on Bliss OS Go builds.

Downloads can be found on Sourceforge: https://sourceforge.net/projects/blissos-dev/files/BlissOS-Go/FOSS/20230519/

Configuration documentation for some of the features found in Bliss OS Go can be found on our docs site: https://docs.blissos.org/configuration/configuration-through-command-line-parameters/

· 2 min read
Jon West

alt text

New Collaborations

[pilot] EIDU - Taifa ElimuTab

Bliss Co-Labs and EIDU, an organization that builds innovative solutions to digitize education in low and middle-income countries at scale, have partnered to bring an Android Go 12.1 variation of Bliss OS to the aging Windows tablets used by Kenya public primary schools. The pilot program aims to allow millions of devices a second-life through the use of Bliss OS, which is specifically tailored to the devices' hardware and capabilities.

Bliss OS is a lightweight operating system that is designed to run on x86 Windows & Linux devices. It is based on Android, but it has been optimized for performance and battery life. Bliss OS Go is a version of Bliss OS that is designed for lower-powered devices, such as the Intel Atom based Windows tablets that are used in Kenya.

The pilot program will test the feasibility of deploying Bliss OS Go on the Windows tablets. If the pilot is successful, it could lead to the deployment of Bliss OS Go on millions of devices, which would provide students in Kenya with access to a more reliable and affordable educational platform.

Here are some of the benefits of using Bliss OS Go on the Windows tablets:

  • Improved performance: Bliss OS Go is designed to run on low-powered devices, so it can provide a significant performance boost over Windows. This will make it easier for students to use the devices for learning.
  • Longer battery life: Bliss OS Go is also designed to conserve battery life, so students can use the devices for longer periods of time without having to worry about running out of power.
  • More affordable: Bliss OS Go is a free and open-source operating system, so it is more affordable than Windows. This will make it possible for schools to deploy Bliss OS Go on more devices, which will benefit more students.

We believe that Bliss OS Go has the potential to make a significant impact on education in Kenya. We are excited to partner with EIDU on this pilot program and we look forward to seeing the results.

· 3 min read
Jon West

As a business, the typical way to do things is to file for patents, and protect your product or idea, and your product team produces the development design and manages updating the product for its lifecycle. The downside to that is that only your team has the ability to spot its flaws, make it better, or see other avenues where it could be used. This is not the case with an open-source project lifecycle. The product you develop is open to the community to use, inspect and improve upon. This helps accelerate the development of the idea or product by allowing open-innovation to take place.

Dismissing the current arguments against open-source development

Can people take your code and use it for their own projects? The answer is yes, but this is not a bad thing at all. This is one of the things that empowers your idea by allowing you to see the improvements they made and how they made them, then adding those improvements into your code base.

Can people alter your code to include malicious code? This depends on how well you manage the pull requests for your code, as even the Linux Kernel has had some bad-actors try and slip in malicious code before, and it was caught by the community. So you just need to make sure you define a strict set of rules for your project maintainers to follow when it comes to merging pull-requests from the community into your code base.

Can you make money off Open-Source code? The answer to this is yes, and in many ways. It all comes down to how you design your project and the licensing you choose for it. As many open-source licenses do allow licensing, and support contracts, and many more options can be written into the standard licensing agreements.

How have we leveraged open-source for businesses?

As a consumer, you get to use the products of our work in open-source by testing our work (Bliss OS, Waydroid, Android-x86) on your laptop, tablet, desktop, server, etc. at no cost. As a business, our projects are limited in use, but can be licensed for inclusion into a project, and we offer development contracts to help businesses further develop their products, with our projects included. We have also created toolkits for businesses to use for free in the past, demonstrating the power of rapid-prototyping through the use of our services.

For other businesses, not used to working in open-source, there will always be hesitations. But that doesn't mean we can't make it work. We have had some restraints on projects in the past, and the solution for those proprietary constraints is typically to build a system that can handle allowing the end user to use it, while keeping all the private bits, private still. A perfect example of this is how Google Play, Widevine, libndk-translation, Houdini, and other private blobs are included in our projects. We have even gone one step further in this where allowed, and produced tools for the rest of the open-source community to use, that allows them to benefit from using the proprietary blobs, while keeping the businesses private intents intact.

It really all comes down to the mental attitude behind your innovation, and all in how you spin it. It's about time the market starts thinking on reasons why they should start going open-source, and not looking for all the reasons why they shouldn't.