Friday, 24 February 2017

Mainline kernel support for BYT and CHT HDMI audio

Finally HDMI audio on Bay Trail and Cherry Trail devices will be officially supported in mainline kernel starting from v4.11:

please pull sound updates for v4.11-rc1 from:
git:// tags/sound-4.11-rc1
The topmost commit is 7086b7b3d101e0e6fca2bf7ca2f14483fc881837
sound updates for 4.11-rc1
here is the update of sound bits for 4.11: again at this time, no bigchanges in ALSA and ASoC core but only cosmetic changes likeconsitifaction. Meanwhile, quite a lot of developments are seen ina few driver side.
ALSA Core:- Clean up, consitification of some ops
HD-audio:- A slight behavior change of single_cmd option- Quirks for AmigaOne X1000, Samsung Ativ Book 8, Dell AiO, ALC221 HP,and fixes for Lewisburg controller- Realtek ALC299, ALC1220 codecs
Others:- USB-audio: Tascam US-16x08 DSP mixer quirk- Intel HDMI LPE audio support for Baytrail / Cherrytrail; thiscontains some updates in drm/i915 for the new platform binding
ASoC:- Lots of updates in Intel drivers, mostly for DisplayPort and HDMIon Skylake and onwards, as well as more Baytrail / Cherrytrailboards support- Channel mapping support for HDMI- Support for AllWinner A31 and A33, Everest Semiconductor ES8328,Nuvoton NAU8540.

See for the complete details of the patches being upstreamed.

Wednesday, 22 February 2017

Ubuntu 16.04.2 and updated Ubuntu 17.04 pseudo Alpha 2

UpdateThis work is superseded by my '' script which can respin an official ISO suitable for use on Intel Atom devices.

Please note my blog is intended to be the 'dynamic' update content partner to my 'static' core content pages on my website. This particular post relates to my page where I've created some Ubuntu ISOs whose purpose is to better support Intel Atom based devices. 

The latest mainline kernel v4.10 has just been released and the revised HDMI LPE Audio Support patch set for Intel Atom SoCs is now queued for mainline inclusion so we could see it in v4.11 in a couple of months and then hopefully in Ubuntu possible as early as 17.10. Additionally Canonical have just released Ubuntu 16.04.2 and introduced the rolling Hardware Enablement (HWE) kernels which aim to provide support for the latest hardware. As a result I've decided to provide a single kernel which is effectively a HWE 'edge' kernel specifically patched for Intel Atom SoCs in my ISOs to simplify kernel management and create a forward path for future migration to mainline kernels.

My new kernel is based on Canonical's next 'zesty' kernel which is rebased to v4.10 and also available in 'xenial' as hwe-edge. To this I've added the latest HDMI LPE patches from Pierre-Louis Bossart, Jerome Anand & Takashi Iwai. I've also added Mika Kuoppalad's new anti-freeze patch, Hans de Goede's PWM, AXP288 and I2C patches, Pierre-Louis Bossart's PMC Platform Clock and Codecs patches, Bastien Nocera's wifi patch, Laszlo-Fiat's bluetooth patch and part of my bluetooth support is based on a script from Larry Finger. The kernel source is available on my github.

WIP includes providing backlight support for some devices and the ES8316 driver which is currently under development. Unfortunately as I don't have a tablet I cannot advise on the screen rotation issues however others have commented in previous posts with their solutions which I'd recommend reading.

At this stage I'm providing two ISOs: Ubuntu 16.04.2 (with kernel Ubuntu-4.10.0-9.11) and Ubuntu 17.04 pseudo Alpha 2 (with kernel Ubuntu-lts-4.10.0-9.11~16.04.2). Further flavours will be added once initial feedback has been reviewed together with updated 16.10 releases. Later I will also provided the corresponding kernel update scripts as I will maintain the kernels with security patches and/or Intel Atom SoC added functionality/improvements.

To try an ISO download it from the link below (in red) and write it to a USB using either 'Rufus' in Windows or 'dd' in Linux.

Ubuntu 16.04.2 (superseded)
Ubuntu comes with everything. All the essential applications, like an office suite, browsers, email and media apps come pre-installed and thousands more games and applications are available in the Ubuntu Software Centre.

Ubuntu 17.04 pseudo Alpha 2 (superseded)
Ubuntu comes with everything. All the essential applications, like an office suite, browsers, email and media apps come pre-installed and thousands more games and applications are available in the Ubuntu Software Centre.

If freezing persists follow Len Brown suggestion of adding "intel_idle.max_cstate=2" as a kernel boot parameter which enables Core-C6 but disables module/package-C6. With the Alpha release (including the official version) the installation does not recognize previously installed OS so use 'Something else' and manually set up your partitions. Prior to embarking on an encrypted LVM installation you should first open a terminal session and turn off swapping using the command 'sudo swapoff -a'. If there is no wifi after booting devices with a Broadcom chip then reload the driver: in a terminal window enter 'sudo modprobe -r brcmfmac' followed by 'sudo modprobe brcmfmac'. Occasionally on some devices bluetooth doesn't initially load so it is necessary to restart the service: for Broadcom chip devices enter 'sudo systemctl stop brcmbt.service' followed by 'sudo systemctl start brcmbt.service' and for Realtek chip devices enter 'sudo systemctl stop rtl8723bsbt.service' followed by 'sudo systemctl start rtl8723bsbt.service'. Some devices still do not reboot (or warm restart) correctly which can result in a purple screen or lack of wifi and/or bluetooth on reboot. In these circumstances cycle the power and boot the device from cold. 

Because my ISOs include a patched kernel it means no automatic Ubuntu kernel updates are provided. Consequently I've also developed a manual patching process where a script can be downloaded and then executed to update the kernel to match the official releases. These kernel update scripts are only for updating the kernel after installing my ISOs otherwise you will be missing the 'userland' files required for audio, wifi and bluetooth. To upgrade the existing installed kernel (created from my ISO or as a result of a previous upgrade) to the later version provided by the script first download the script and after making it executable (enter 'chmod 755 <script>') install it as 'root' (by entering 'sudo <script>'). Once the script has finished executing the device will need to be rebooted to use the updated (patched) kernel. 

4.10.0-9.11~16.04.2 (superseded)
4.10.0-9.11 (superseded)

Don't forget when making a comment to include the name/model of your device and if reporting a technical issue please include a copy of the output from 'dmesg' by sharing the log using 'pastebinit' or similar.