Bliss OS/Troubleshooting
Contents
- 1 Adding your linux drivers:
- 2 Advanced Audio Troubleshooting:
- 3 Advanced Boot Debugging:
- 4 Advanced Debugging:
- 5 Android PC Toolbox:
- 6 32-bit processors only (Intel Atom and similar):
- 7 grub2 kernel parameters and options
- 8 Facing audio issues??
- 9 BlissOS Keyboard shortcuts
- 10 BlissOS Device stats
- 11 Device boots to Windows even after installing BlissOS?
- 12 Bug tracker
- 13 Build Dependencies
- 14 Build IPTS with AG
- 15 BlissOS 12 Easy Install
- 16 Netflix on Bliss OS/AG builds
- 17 Disney Plus on Bliss OS 11.12+
- 18 Changing screen resolution
- 19 Where to Start?:
- 20 Where's The Keymapper?:
- 21 Why Are The Graphics Garbled?:
- 22 How to use USB adapter instead built-in adapter?:
- 23 How to recover from a bad install
Adding your linux drivers:
So you've tracked down or created Linux drivers for your device, AWESOME!! Now all you have to do is turn it into a Linux kernel module, and then add it to external/kernel-drivers for it to be included in the current kernel build. Examples of others we add are here.
The examples only add one Android.mk file, and the one I use is generic for just about any kernel module that has a standard MAKEFILE, not a MAKEFILE.am file.
So you should really only need to add your kernel module folder to external/kernel-drivers/ and copy the Android.mk into it, then build source as normal. It'll get picked up as one of the last steps in building and packaging the kernel.
Advanced Audio Troubleshooting:
For some users, the simple sound fixes don't work. This means we will need to go into experimental mode on the issue. This method was provided by cjeu100 From XDA-Developers threads.
Start by using the alt-f1 console (use alt-f7 to get back)
type following commands:
$ su $ cat /proc/asound/cards
0 [HDMI ]: HDA-Intel - HDA Intel HDMI HDA Intel HDMI at 0xb0610000 irq 46 1 [PCH ]: HDA-Intel - HDA Intel PCH HDA Intel PCH at 0xb0614000 irq 44
$ ls -l /dev/snd
now you see your sound devices
In this example, the we picked the top one, (pcmC0D7). If that doesn't work, repeat these steps and choose a different card.
$ setprop hal.audio.out pcmC0D7p $ pkill audioserver
This will restart the audio server and hopefully result in sound working with the right output. Use alt-f7 to get back to the Android UI and test.
Advanced Boot Debugging:
Sometimes, you can't even get things to boot up at all. In these cases, you will want to use the Debug boot options, or manually add DEBUG=1 (2 - depending on logging level needed), and when it boots, use Logcat to log things, Code:
logcat > sdcard/log_name.txt
Then in the console again, you can type "exit" to continue booting Android. (if DEBUG=2
, you will need to type exit twice)
You can then use alt-f1 & alt-f7 to get back and forth from the console to the Android UI. When done, copy and paste the entire log either to Hastebin or Pastebin.
Advanced Debugging:
Please follow the Advanced Debugging procedures found on Android-x86 documentation here
Android PC Toolbox:
32-bit processors only (Intel Atom and similar):
1. Install Android-x86 32-bit OS from here (doesn't matter which version, as long as it's 32-bit)
2. Update with Bliss OS 32-bit (current version is 11.9). After reboot you should be able to access the grub menu.
3. In grub menu select "Debug mode"
4. Run the following commands:
mount -o remount, rw /mnt cd /mnt/grub nano menu.lst
5. Add nomodeset before every SCR=/bliss... line. For example, your configuration should look something like this:
default=0 timeout=6 splashimage=/grub/android-x86.xpm.gz root (hd0,0) title Bliss-OS 11.7 kernel /bliss-x86-11.7/kernel quiet root=/dev/ram0 androidboot.selinux=permissive androidboot.hardware=android_x86 vmalloc=192M androidboot.hardware=android_x86_64 nomodeset SRC=/bliss-x86-11.7 initrd /bliss-x86-11.7/initrd.img title Bliss-OS 11.7 (Legacy modprobe mode) kernel /bliss-x86-11.7/kernel root=/dev/ram0 androidboot.selinux=permissive androidboot.hardware=android_x86 vmalloc=192M androidboot.hardware=android_x86_64 AUTO_LOAD=old nomodeset SRC=/bliss-x86-11.7 initrd /bliss-x86-11.7/initrd.img title Bliss-OS 11.7 (Debug mode) kernel /bliss-x86-11.7/kernel root=/dev/ram0 androidboot.selinux=permissive androidboot.hardware=android_x86 vmalloc=192M DEBUG=2 androidboot.hardware=android_x86_64 nomodeset SRC=/bliss-x86-11.7 initrd /bliss-x86-11.7/initrd.img title Bliss-OS 11.7 (Debug nomodeset) kernel /bliss-x86-11.7/kernel nomodeset root=/dev/ram0 androidboot.selinux=permissive androidboot.hardware=android_x86 vmalloc=192M DEBUG=2 androidboot.hardware=android_x86_64 nomodeset SRC=/bliss-x86-11.7 initrd /bliss-x86-11.7/initrd.img title Bliss-OS 11.7 (Debug video=LVDS-1:d) kernel /bliss-x86-11.7/kernel video=LVDS-1:d root=/dev/ram0 androidboot.selinux=permissive androidboot.hardware=android_x86 vmalloc=192M DEBUG=2 nomodeset SRC=/bliss-x86-11.7 initrd /bliss-x86-11.7/initrd.img
6. Press Ctrl+O to save, and then Ctrl+X to close.
7.Type reboot -f
You should be finished! If all goes well you will boot into Bliss OS on your 32-bit machine.
grub2 kernel parameters and options
You will want to pay attention here! With Bliss OS on the PC, we tend to use quite a few command line options to get things working right. We've gathered a few of them here to explain them a little bit.
A full list of available kernel parameters can be found here.
Brief options overview:
parameter
: Descriptionroot=
: Root filesystem.rootflags=
: Root filesystem mount options.initrd=
: Specify the location of the initial ramdisk.init=
: Run specified binary instead of/sbin/init
(symlinked tosystemd
in Arch) as init process.init=/bin/sh
: Boot to shell.systemd.unit=
: Boot to a specified target.nomodeset
: Disable kernel mode setting (useful for fixing video driver panics) This will load mostly everything in software rendering/support mode. No hardware acceleration. Good for debugging.panic=
: Time before automatic reboot on kernel panic.debug
: Enable kernel debugging (events log level).mem=
: Force usage of a specific amount of memory to be used.maxcpus=
: Maximum number of processors that an SMP kernel will bring up during bootup.selinux=
: Disable or enable SELinux at boot time.netdev=
: Network devices parameters.video=<videosetting>
: Override framebuffer video defaults.sleep=1
: This will enable the system.prop value forsleep.earlysuspend=1
, and on some machines, it enables the proper sleep state.acpi_sleep=s3_bios,s3_mode
: Sometimes needed for older machines to enter sleep mode properlySETUPWIZARD=0
: This command will skip SetupWizard on boot. (Only needs to be run once!)AUTO_LOAD=old
: This will load android-x86 variants using the oldmodprobe
method to init devices. We sometimes use this to debug devices not starting.DEBUG=1
&DEBUG=2
: These enable verbose console debugging, giving another command shell after loading kernel modules, but before Androidinit
vga=xxx & video=
: These are the common video modes that you can boot into if it doesn't pick the best choice automagically. You can also usevideo=
as resolution parameters:video=LVDS-1:d video=1366x800
. Learn more from our own Henri Koivuneva!HWACCELL=
1: This will disable graphics hardware acceleration, enabling rendering through Swiftshader. (Must use this if running headless)buildvariant=eng, user, userdebug
: This is the commandline parameter to run the current build aseng
,userdebug
, oruser
DPI=xxx
: This will manually set the DPI on init. Use this if things are too big/small for you.fbcon=variablename
: This is to configure framebuffer to use various options. Usually used to help fix video settings, etc. Even default rotation on some Atom tablets. Example: video=efifb fbcon=rotate:1VULKAN=1
: Required for Vulkan-supported chipsets. This enableshwcomposer
to work right with screenshots and other things.
Warning! | |
---|---|
The following options can only be used on Android 9/10 builds released after 2020-02-02. |
HWC=xxx
: DefineDRM_HWComposer
- options includedrm
,drm_minigbm
,and intel
.GRALLOC=xxx
: DefineDRM_Gralloc
- options includegbm
,minigbm
, andintel
.
As an example, here are a few of the boot options used in testing:
menuentry 'Bliss-x86 Test-Oreo' --class bliss { search --file --no-floppy --set=root /AndroidOS/android.boot linux /AndroidOS/kernel root=/dev/ram0 SRC=/AndroidOS androidboot.selinux=permissive androidboot.hardware=android_x86_64 buildvariant=eng quiet sleep.earlysuspend=2 DATA= initrd /AndroidOS/initrd.img } menuentry 'Bliss-x86 Test-Oreo AUTO_LOAD=old' --class bliss { search --file --no-floppy --set=root /AndroidOS/android.boot linux /AndroidOS/kernel root=/dev/ram0 SRC=/AndroidOS androidboot.selinux=permissive androidboot.hardware=android_x86_64 buildvariant=eng quiet DATA= AUTO_LOAD=old initrd /AndroidOS/initrd.img } menuentry 'Bliss-x86 Test-Oreo - SETUP_WIZARD=0' --class bliss { search --file --no-floppy --set=root /AndroidOS/android.boot linux /AndroidOS/kernel root=/dev/ram0 SRC=/AndroidOS androidboot.selinux=permissive buildvariant=eng SETUPWIZARD=0 quiet DATA= initrd /AndroidOS/initrd.img } menuentry 'Bliss-x86 Test-Oreo - debug=1' --class bliss { search --file --no-floppy --set=root /AndroidOS/android.boot linux /AndroidOS/kernel root=/dev/ram0 SRC=/AndroidOS androidboot.selinux=permissive androidboot.hardware=android_x86_64 buildvariant=eng SETUPWIZARD=0 quiet DATA= DEBUG=1 initrd /AndroidOS/initrd.img } menuentry 'Bliss-x86 Test-Oreo - debug=2' --class bliss { search --file --no-floppy --set=root /AndroidOS/android.boot linux /AndroidOS/kernel root=/dev/ram0 SRC=/AndroidOS androidboot.selinux=permissive androidboot.hardware=android_x86_64 buildvariant=eng SETUPWIZARD=0 quiet DATA= DEBUG=2 initrd /AndroidOS/initrd.img }
Facing audio issues??
As stated in the update posts, sound for some devices may seem to not be working. The best way to test is to install a sound booster app like Flat Equalizer, and use the loudness/boost to turn up the volume. If this does not work to help produce sound, then open the terminal and use lsmod to see if your hardware is being detected right.
BlissOS Keyboard shortcuts
Bliss OS Keyboard Shortcuts: Scrolling
• Spacebar
: Page down in any Web page/document view
• Shift + Spacebar
: Page up in any Web page/document view
Bliss OS Keyboard Shortcuts: Typing
• Alt + Spacebar
: Insert a special character
• Shift + Del
: Delete the character to the right of the cursor
• Alt + Del
: Delete an entire line
• Shift + Shift
(press it twice): Activate caps-lock; press shift once more to exit
• Alt + Trackball-Left
: Move cursor to beginning of line
• Alt + Trackball-Right
: Move cursor to end of line
• Alt + Trackball-Up
: Move cursor to top of page
• Alt + Trackball-Down
: Move cursor to bottom of page
• Shift + Trackball-Left/Right
: Highlight text for cutting or copying
• Ctrl + X
: Cut text (will cut all text on-screen unless specific characters are highlighted)
• Ctrl + C
: Copy text to clipboard (will copy all text on-screen unless specific characters are highlighted)
• Ctrl + V
: Paste text from clipboard
• Ctrl + A
: Select all text in the current field
Bliss OS Keyboard Shortcuts: Browsing
• Ctrl + I
: Zoom in
• Ctrl + O
: Zoom out
• Ctrl + J
: Go back a page
• Ctrl + K
: Go forward a page
• Ctrl + R
: Refresh current page
• Ctrl + F
: Find on page
• Ctrl + B
: Open bookmarks
• Ctrl + S
: Open social network sharing menu
• Ctrl + H
: View browsing history
• Ctrl + S
: Open browser settings
Bliss OS Keyboard Shortcuts: Gmail
• F
: Forward current message (works only while inside the message)
• R
: Reply to current message (works only while inside the message)
• A
: Reply-all to current message (works only while inside the message)
• Y
: Archive message (works from within message or while on main inbox list)
• Ctrl + U
: Refresh inbox
• Ctrl + C
: Compose new e-mail
• Enter(↵
): Open an e-mail (from the main inbox list)
• Alt + Trackball-Up
: Jump to top of inbox
• Alt + Trackball-Down
: Jump to bottom of inbox
Bliss OS Keyboard Shortcuts: Apps
• Win + B
: Open browser
• Win + C
: Open contacts
• Win + E
: Open e-mail
• Win + G
: Open Gmail
• Win + I
: Open calendar
• Win + M
: Open maps
• Win + P
: Open music
• Win + S
: Open text messaging
• Win + Y
: Open YouTube
BlissOS Device stats
If you are unsure if your device can run Bliss OS, it's good to try and search the stats site for your PC. If it's not there, you either have a new device, or nobody has tried it yet, so go ahead and download the latest stable build and give it a try.
Device boots to Windows even after installing BlissOS?
After you have used the installer for Windows, sometimes it doesn't set the boot order right. Make sure Secure Boot is disabled, and TPM too. Then use bootice (check the link here) to set the UEFI boot order (move AndroidOS to the top) and that should be all that's needed.
Bug tracker
Bliss OS now has a place to help track open bugs and feature requests to start off with. Please follow the link and use one of the existing templates to fill things out. https://github.com/BlissRoms-x86/bug_reports
Build Dependencies
If you want to just add the dependencies we use to your build environment, here is the apt-get snippet:
sudo apt-get install git-core gnupg flex bison maven gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip squashfs-tools python-mako libssl-dev ninja-build lunzip syslinux syslinux-utils gettext genisoimage gettext bc xorriso libncurses5 xmlstarlet build-essential git imagemagick lib32readline-dev lib32z1-dev liblz4-tool libncurses5-dev libsdl1.2-dev libxml2 lzop pngcrush rsync schedtool python-enum34 python3-mako libelf-dev xmlstarlet
Build IPTS with AG
To do this, we have added a new method to compile and patch things. Make sure you have cloned https://github.com/BlissRoms-x86/external_surface-drivers/tree/q10-07.25.20 to vendor/surface_drivers Then from your project root, run:
apply-ipts-patches
BlissOS 12 Easy Install
For Bliss OS 12.x builds, we suggest installing from Windows actually. Please make sure your current windows partition has plenty of extra space, then open the .exe installer that is included in our .iso's. If you have a current Android-x86 variant installed, please remove that first, then use the "Clean Up" button inside our installer to make sure things are ready to install. Then all you need to do is choose the .iso, and set the data.img size (for now, keep the install location to C:).
Netflix on Bliss OS/AG builds
There is a version of Netflix that works on Bliss OS Pie/Q builds: https://www.apkmirror.com/apk/netflix-inc/netflix/netflix-7-64-0-build-19-34976-release/netflix-7-64-0-build-19-34976-android-apk-download/ It does require the APKMirror Installer app to install.
Disney Plus on Bliss OS 11.12+
This version is reported working on recent pie builds: https://www.apkmirror.com/apk/disney/disney/disney-1-10-1-release/disney-1-10-1-android-apk-download/ It does require the APKMirror Installer app to install.
Changing screen resolution
Changing screen resolution from within Bliss using the root console:
1) Open terminal using alt + F1
2) Type wm size WxH
W = Width H = Height
Change accordingly
Ex- wm size 1440x1080
To change density
1) Same steps as above
2) Type wm density D
D = Any no. ( Excluding 110 coz it will break the system )
Where to Start?:
For those looking where to begin, I would like to direct your attention to our wiki.blissroms.com site. The Bliss OS (x86) section on it has all the possible knowledge we've gathered to help make things easier for you all to find, and better for our sanity from having to repeat ourselves. Start there, and make sure to check out the XDA thread for the build you're using (nougat, oreo, pie, q) for any questions that you couldn't figure out using the docs site.
Where's The Keymapper?:
Q: Why is there no keymapper included in Bliss OS? A: We have not found any open source keymappers, so we won't put our users data in jeopardy just for that.
We are open to working with any developers interested in creating an on-screen keymapper for keyboard/mouse and gampads though, so please spread the word
For those lost as to why we want to ensure security there, a gaming keymapper will redirect any input from the users device, and can even run when a game is not loaded. So it has the potential to grab passwords, banking info, etc. We don't trust anything we can't sift through the source of enough these days, so this is why we haven't included one as of yet
Why Are The Graphics Garbled?:
Lack of hardware acceleration or bad video resolution. Google the grub options for "VIDEO=" and try a few of those for your screen by pressing "e" while the grub boot options are showing, then adding the option after the word "quiet"
How to use USB adapter instead built-in adapter?:
Change 1 to other number if using more than two wifi adapters.
Enter commands using the root console:
To change current wifi interface until reboot
1) Open terminal using alt + F1
2) Type svc wifi disable
3) Type svc data disable
4) Type ip link set wlan1 up
5) Type ip link set wlan0 down
6) Type setprop wifi.interface wlan1
7) Type svc wifi enable
8) Type svc data enable
To undo changes
1) Open terminal using alt + F1
2) Type svc wifi disable
3) Type svc data disable
4) Type ip link set wlan0 up
5) Type ip link set wlan1 down
6) Type setprop wifi.interface wlan0
7) Type svc wifi enable
8) Type svc data enable
How to recover from a bad install
Steps to recover and uninstall Android X86 from your PC
1. Restart PC and Boot it with Windows Installation Disc or flash drive.
2. Select a Language, Time and currency format, and keyboard or input method option.
3. Click on Repair your Computer and select the OS to repair and click Next.
4. In system recovery options dialog box, click Command Prompt.
5. Type BOOTREC and hit Enter
6. Type BOOTREC /FIXMBR and hit Enter
7. Type BOOTREC /FIXBOOT and hit Enter
8. Now Type Exit and hit enter key then Tap on restart button
9. Boot into windows first and check for android and grub folder it will be saved in that drive where you installed Android OS (Mostly in C: drive)
10. Delete Android-xxx folder along with Grub folder completely.
For a more detailed guide, please see: https://knowledgewit.wordpress.com/2020/05/19/how-to-delete-any-dual-boot-os-from-your-pc-and-delete-the-grub-boot-loader/