UPDATE - 21 October 2017 - Full installation instructions for Ubuntu 17.10.



With this week's final release of Ubuntu 17.10 I thought it would be a good time to rewrite the installation instructions to consolidate some procedures mentioned over the past few years and eliminate others. Ubuntu 17.10 now natively supports the Stream's Wifi, touchscreen, battery indicator and audio (after copying some firmware files). It is interesting to note that when the Stream was introduced in the fall of 2014, the latest 14.10 version of Ubuntu supported none of these devices so device support has come a long way. I still have not gotten bluetooth working, if anyone has, please post here.

Installing Ubuntu 17.10 on the HP Stream tablet.

Create a Ubuntu live USB to boot on the Stream's 32-bit UEFI firmware

- Download a 32-bit Ubuntu or Mint image and burn it to a USB drive, I used Ubuntu MATE 17.10 32-bit.

- Obtain the Fedora i686 grub2-efi package file from this page. I picked the latest Fedora 26 file here.

- Extract the grubia32.efi file from within the package: /./boot/efi/EFI/fedora/grubia32.efi and rename it bootia32.efi

- Copy the bootia32.efi file to the /EFI/BOOT directory on your Live USB (you have to create this directory).

- Also copy the Live USB's /boot/grub/loopback.cfg file to /EFI/BOOT, and rename it "grub.cfg".

- Edit the /EFI/BOOT/grub.cfg file like below, changing each "linux" and "initrd" label to "linux efi " and "initrd efi ":

Change this:

menuentry "Try Ubuntu MATE without installing" {

linux /casper/vmlinuz file=/cdrom/preseed/ubuntu-mate.seed boot=casper iso-scan/filename=${iso_path} quiet splash --

initrd /casper/initrd.lz

To this:

menuentry "Try Ubuntu MATE without installing" {

linux efi /casper/vmlinuz file=/cdrom/preseed/ubuntu-mate.seed boot=casper iso-scan/filename=${iso_path} quiet splash --

initrd efi /casper/initrd.lz

The USB should now boot on the Stream and give you the option to run Ubuntu or install it.

The Secure Boot option needs to be disabled within the UEFI. An OTG adapter and powered USB hub with an external mouse and keyboard are required to do the installation.

- Power on the tablet and hold down the volume down button or press the F9 key on the keyboard to boot from the USB.

- Select "Try Ubuntu without Installing"

- Connect to the internet via Wifi, it is required during installation to prevent a know problem with installing the grub bootloader.

- Select the desktop icon "Install Ubuntu".

- Select both buttons:

Download Updates

Install third-party software

- For Installation Type, I selected "Erase Ubuntu 17.10 and Reinstall" since I had an earlier 17.10 installation that I wanted to overwrite.

- After the installation, reboot, connect to Wifi again and install the firmware for the audio.

Audio Firmware installation

Download the zip file from: https://github.com/plbossart/UCM and unzip it to your home directory and use this command to copy it:

sudo cp -r UCM-master/bytcr-rt5640 /usr/share/alsa/ucm

and then reboot.

Open Sound Preferences and you will see multiple audio devices, you may have to change from the default device to test it and also switch manually between speaker and headphones since the automatic headphone detection does not work. In the VLC media player, you will also have to go to Audio => Audio D evice and change it to "Built-in Audio MonoSpeaker Playback etc..." and restart VLC.

Manually adjusting screen brightness

I created an executable script in my home directory containing the below line and made a desktop launcher for it. The value can be between .2 and 1. You can create multiple scripts for different brightnesses if needed:

xrandr --output DSI-1 --brightness .7

Rotating the Screen

The screen can be rotated 90 degrees right or left to landscape mode with these commands, I created a script and launcher for this:

xrandr -o right

xinput set-prop 'Goodix Capacitive TouchScreen' 'Coordinate Transformation Matrix' 0 1 0 -1 0 1 0 0 1

xrandr -o left

xinput set-prop 'Goodix Capacitive TouchScreen' 'Coordinate Transformation Matrix' 0 -1 1 1 0 0 0 0 1

==================================================

UPDATE - 19 August 2017 - Wifi supported natively in Ubuntu 17.10 now.



Ubuntu 17.10 daily builds now come with the 4.12 kernel as of this past week which means the Stream's built-in RTL8723BS Wifi is recognized natively now. I downloaded an ISO of Ubuntu MATE 32-bit 17.10, burned it to a USB adding the bootia32.efi boot loader file as instructed below. The live USB booted up with Wifi working. This is an important development since an internet connection is required during installation otherwise the grub installation will fail. Audio works as before after copying the firmware files as instructed below.

I also tried Ubuntu Budgie 17.10 on the Stream 7 and surprisingly, the auto screen rotation worked although in reverse. When I held the tablet in portrait mode, the screen rotated to landscape mode and vice versa. Also strangely, the audio did not work, the driver did not seem to be loaded. I went back to using Ubuntu MATE for now.

==================================================

UPDATE - 11 July 2017 - 32-bit UEFI boot file again available.



As mentioned below, the Fedlet site I had previously used to obtain the 32-bit EFI directory to modify the standard Ubuntu live USB to boot on the Stream's 32-bit UEFI is now dormant and the ISO downloads are no longer available. I tried some of the other bootia32.efi files available online and none of them worked with my Stream 7 for some reason. The USB would boot but then drop to the grub prompt.

AdamW of the Fedlet site advised that he had originally obtained the bootia32.efi for his ISO images from the Fedora i686 grub2-efi package. I just tried that and it worked. The instructions are below:

- Download a 32-bit Ubuntu or Mint image and burn it to a USB drive, I used Ubuntu Mate 17.04 32-bit.

- Obtain the Fedora i686 grub2-efi package file from this page. I picked the latest Fedora 26 file here.

- Extract the grubia32.efi file from within the package: /./boot/efi/EFI/fedora/grubia32.efi and rename it bootia32.efi

- Copy the bootia32.efi file to the /EFI/BOOT directory on your Live USB (you have to create this directory).

- Also copy the Live USB's /boot/grub/loopback.cfg file to /EFI/BOOT, and rename it "grub.cfg".

- Edit the /EFI/BOOT/grub.cfg file like below, changing each "linux" and "initrd" label to "linux efi " and "initrd efi ":

Change this:

menuentry "Try Ubuntu MATE without installing" {

linux /casper/vmlinuz file=/cdrom/preseed/ubuntu-mate.seed boot=casper iso-scan/filename=${iso_path} quiet splash --

initrd /casper/initrd.lz

To this:

menuentry "Try Ubuntu MATE without installing" {

linux efi /casper/vmlinuz file=/cdrom/preseed/ubuntu-mate.seed boot=casper iso-scan/filename=${iso_path} quiet splash --

initrd efi /casper/initrd.lz

The USB should now boot on the Stream and give you the option to run Ubuntu or install it.

AdamW also mentioned that it has been proposed that Fedora 27 include support for 32-bit UEFI's so it would be interesting to try that on the Stream when it comes out.

==================================================

UPDATE - 24 June 2017 - Audio is working and the 4.12 kernel supports Wifi now

Audio for both the built-in speaker and headphones is working on the Stream tablet, support was added with the 4.10 kernel (or possibly earlier). I installed Ubuntu Mate 17.04 32-bit using the original instructions below (a working internet connection is still required for the bootloader to install). The firmware for the audio then has to be installed, I downloaded the zip file from: https://github.com/plbossart/UCM and used this command to copy it and then rebooted:

sudo cp -r UCM-master/bytcr-rt5640 /usr/share/alsa/ucm

RTL8723BS Wifi support is included as of the 4.12 kernel, these instructions can be followed to upgrade the kernel: http://linuxg.net/install-kernel-4-12-on-ubuntu/ The Wifi firmware also has to be installed with these commands:

git clone https://github.com/hadess/rtl8723bs.git

cd rtl8723bs-master

sudo su



mkdir -p /lib/firmware/rtlwifi/

cp -n rtl8723bs_nic.bin /lib/firmware/rtlwifi/rtl8723bs_nic.bin

cp -n rtl8723bs_wowlan.bin /lib/firmware/rtlwifi/rtl8723bs_wowlan.bin

==================================================

UPDATE - 24 October 2016 - New Ubuntu Bay Trail project site



There is a new Ubuntu on Bay Trail and Cherry Trail project by Linuxium where ISO files of Ubuntu 16.04 and 16.10 64-bit are available with the 32-bit bootloader and Wifi driver already included. HDMI Audio and Bluetooth drivers are also included although they did not fix the audio and bluetooth on my Stream 7. The Ubuntu MATE 16.04 ISO hung while installing but 16.10 MATE worked well. The Stream's built-in RTL8723BS Wifi is recognized so there is no need to attach an external USB network adapter during the installation which is a big plus.

These ISO's are the 64-bit versions of Ubuntu which are not ideal for the Stream's limited 1 GB of RAM, it seemed to run okay but did use more memory. With no other applications running, System Monitor in 64-bit 16.10 showed 509 MB of 918 MB utilized. 32-bit 16.10 displayed 430 MB utilized of 925 MB. Applications may also use more memory under 64-bit I suspect.

Even with the 64-bit limitation, this does still seem like the easiest option currently for someone who wants to try Ubuntu on their Stream tablet. The site seems active for the short time it has been up so there may be some new developments coming also.

Another update is the Fedlet site I have been using to obtain the 32-bit EFI directory to modify the standard Ubuntu live USB to boot on the Stream's 32-bit UEFI is now dormant and the ISO downloads are no longer available. There are other solutions available online, here is one.

==================================================

UPDATE - 24 April 2016 - Ubuntu 16.04 LTS

I did a fresh install of the newly released Ubuntu MATE 16.04 LTS 32-bit on the Stream 7 and it worked well without hanging as 15.04 had been doing. The touchscreen and battery indicator work out of the box. The installation instructions are the same as 14.10 noted below, a working internet connection is still required or else the GRUB bootloader install will fail. I used a USB ethernet adapter since it seemed more reliable than my USB Wifi adapter.

The 4.4.0 kernel in 16.04 requires the https://github.com/hadess/rtl8723bs driver for the built-in RTL8723BS Wifi adapter. I used the below procedure to install it after the installation completed, a working internet connection is required for the first two steps:

sudo apt-get install build-essential linux-headers-generic git

git clone https://github.com/hadess/rtl8723bs.git

cd rtl8723bs

make

sudo make install

sudo depmod -a

sudo modprobe r8723bs

The Wifi freezes at times requiring a reboot to restore it. There are some patches mentioned in the README.md and Issues list. Someone posted this solution which worked well for me:

There is a bluetooth driver available here although I tried it on the Stream 7 and it did not detect the bluetooth device. I did not try to debug it, if anyone gets this working, please post here.

I did not attempt to get the built-in audio working, I can confirm the popular Sabrent USB audio adapter works well with the Stream 7 and Ubuntu 16.04.

==================================================

ORIGINAL - 12 January 2015

I installed Ubuntu Mate 14.10 32-bit on the Stream 7 and it is running well. All of the devices are not yet recognized although the wifi and touchscreen are currently working.

The Secure Boot option needs to be disabled within the UEFI. An OTG adapter and powered USB hub with an external mouse and keyboard are required to do the installation. A USB network adapter recognized by Ubuntu and an internet connection are also required to avoid a known error when installing the GRUB boot loader at the end of the Ubuntu installation. The Panda Wifi USB and this LAN RJ45 Adapter both worked well for this. The popular Edimax Wifi did not connect reliably for me, it lost its connection during the installation and the GRUB install failed, maybe I have a bad one.

32-bit UEFI

The Stream tablet uses a 32-bit UEFI with no legacy mode support. Most Linux distributions (even 32-bit versions) only support 64-bit UEFI's so the below tweaks are required to create a live Ubuntu USB drive to boot from. It involves getting an install image called Fedlet that has a 32-bit EFI directory and copying it to an Ubuntu USB and tweaking the grub.cfg file:

Creating an Ubuntu live USB to boot on the Stream's 32-bit UEFI firmware

- Download the latest Fedlet ISO file and burn it to a USB drive, (or just extract the EFI directory).

- Download a 32-bit Ubuntu 14.10 ISO file and burn it to a USB drive .

- Copy the Fedlet EFI directory to the root of the Ubuntu USB drive.

- Rename the Ubuntu USB /EFI/BOOT/grub.cfg file "grub.cfg_FEDLET" (or just delete it).

- Copy the Ubuntu USB /boot/grub/loopback.cfg file to /EFI/BOOT, and rename it "grub.cfg".

- Edit the new /EFI/BOOT/grub.cfg file like below, changing each "linux" and "initrd" label to "linuxefi" and "initrdefi":

Change this:

menuentry "Try Ubuntu MATE without installing" {

linux /casper/vmlinuz file=/cdrom/preseed/ubuntu-mate.seed boot=casper iso-scan/filename=${iso_path} quiet splash --

initrd /casper/initrd.lz

To this:

menuentry "Try Ubuntu MATE without installing" {

linuxefi /casper/vmlinuz file=/cdrom/preseed/ubuntu-mate.seed boot=casper iso-scan/filename=${iso_path} quiet splash --

initrdefi /casper/initrd.lz

The Ubuntu USB should now boot on the Stream. As you probably know, you can boot the live USB and try it out without installing it.

You can also boot the Fedlet image and try that, it will boot without modification since it supports 32-bit UEFI. The touchscreen works but it ran slowly and seemed unstable on the Stream 7 so I went with Ubuntu which seems stable, runs as fast as Windows 8.1 and uses less memory.

A third option is KNOPPIX version 7.4.2 which also supports 32-bit UEFI and will boot without modification. It did not recognize my USB Wireless adapter, I am more familiar with Ubuntu so I only tested it briefly.

Here is the procedure I used for Ubuntu, I performed dual boot installs with both Windows 8.1 and Windows 10 Technical Preview and they both worked fine:

Dual Boot Ubuntu 14.10/Windows Install Procedure for the HP Stream tablet

- In Windows, use the Disk Management utility to shrink the C: drive to make room for Ubuntu, I shrank mine by 9 GB.

- Turn the tablet on and when you see the backlight, press the F9 key to display boot options and select the USB drive. Select "Install Ubuntu", there is a 2-3 minute delay due to the eMMC drive's RPMB partition, (press ESC if you want to see the "Buffer I/O error on device mmcblk0rpmb" errors).

- When the Install screen appears, select language and add a Wifi connection if you are using Wifi. I selected both options presented here: "Download Updates while Installing" and "Install this third-party software".

- There is a 8 minute delay here while it reads the disk configuration again due to the RPMB partition issue.

- For Installation Type, pick "Something else". It should now show the free disk space you created in Windows, I created a 8 GB ext4 partition mounted on root "/" and a 1 GB swap area partition.

- Highlight the ext4 partition and click "Install Now", it will confirm that it will write changes to the disk configuration.

- If you want to only run Ubuntu and not Windows, you can instead wipe the entire eMMC drive clean (including the 5 GB recovery partition) by selecting the default "Erase Disk and Install Ubuntu" option. It will do the partitioning for you if you want, creating a EFIboot, ext4, and swap partition. You probably want to first create recovery media in Windows using the Recovery Manager utility and a 8 GB USB drive so you can restore back to the factory configuration if needed.

- While the installation runs, it will prompt for time zone, keyboard, user credentials and computer name.

- After Ubuntu is installed, you will need to press F9 during boot up and select Ubuntu from the UEFI menu to get to the Grub Boot Menu. If the boot hangs, select "Advanced Options for Ubuntu", select recovery mode and in the Recovery Menu select "Resume normal boot" and that should fix it.

Installing the RTL8723BS Wifi device

A working internet connection is required for the first two steps below:

sudo apt-get install build-essential linux-headers-generic git

git clone https://github.com/codeTom/rtl8723bs.git

cd rtl8723bs

make

sudo make install

sudo depmod -a

sudo modprobe r8723bs

Installing the Goodix Touchscreen

sudo apt-get install build-essential linux-headers-generic git (skip this if you have already done it above)

git clone https://github.com/hadess/gt9xx.git

cd gt9xx

make

sudo make install

sudo depmod -a

sudo modprobe goodix_backport

Manually adjusting screen brightness

I created an executable script in my home directory containing the below line and made a desktop launcher for it. The value can be between .2 and 1. You can create multiple scripts for different brightnesses if needed:

xrandr --output DSI1 --brightness .7

Rotating the Screen

The screen can be rotated 90 degrees right or left to landscape mode with these commands, I created a script and launcher for this:

xrandr -o right

xinput set-prop 'Goodix Capacitive TouchScreen' 'Coordinate Transformation Matrix' 0 1 0 -1 0 1 0 0 1

xrandr -o left

xinput set-prop 'Goodix Capacitive TouchScreen' 'Coordinate Transformation Matrix' 0 -1 1 1 0 0 0 0 1

There is a great "Ubuntu Status Report" page for Bay Trail tablets here with more information.