Bliss OS/Troubleshooting

From BlissWiki
Jump to navigation Jump to search

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:

APTv270.zip - 15.9 MB

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: Description
  • root=: Root filesystem.
  • rootflags=: Root filesystem mount options.
  • initrd=: Specify the location of the initial ramdisk.
  • init=: Run specified binary instead of /sbin/init (symlinked to systemd 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 for sleep.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 properly
  • SETUPWIZARD=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 old modprobe 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 Android init
  • 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 use video= 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 as eng, userdebug, or user
  • 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:1
  • VULKAN=1: Required for Vulkan-supported chipsets. This enables hwcomposer 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: Define DRM_HWComposer - options include drm, drm_minigbm, and intel.
  • GRALLOC=xxx: Define DRM_Gralloc - options include gbm, minigbm, and intel.

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/