Fedlet: a Fedora Remix for Bay Trail tablets

Fedlet development is currently DORMANT

PLEASE NOTE: At present (October 2016), I do not have any time to work on Fedlet. Through the magic of Google, this looks like a current effort to get Linux (Ubuntu) running on Baytrail / Cherrytrail devices; you might want to try that.

EDIT FEB 2017: I still don't have time for Fedlet, sorry. However, Nemanja Milosevic is doing stuff, and he links to this page, of another person who is...doing stuff. Hope this helps you.

Fedlet

Can you run Linux on a tablet? Sure you can!

Here's video proof.

This is Fedlet, a Fedora remix for Intel Bay Trail-based tablet devices with 32-bit firmwares. Particularly the Dell Venue 8 Pro, which is what I have. It has been reported to work on the Lenovo Miix 2 and Asus T100. It may work on the Toshiba Encore and any other 32-bit firmware Bay Trail-based tablet.

It's based on Fedora 23, more or less - but it has a slightly patched kernel, and a few other tweaks. Some of the Bay Trail support is not yet complete, and testers on various devices have reported instability. So this is not yet stable release quality, but it's appropriate for playing around with these devices. Seriously, I mean it's pretty experimental and nothing is guaranteed. This is for playing around and helping to make things better, it's not a production OS. Please don't install this if for some reason your Intel tablet is your primary work device or something.

Releases

20150810

Eleventh release of Fedlet.

  • Fedlet 20150810 for all 32-bit Baytrail hardware - SHA256SUM: 7b2b6a45df4738865481b9af17536f2f011b6c24a3c29fb9d6644dd21da2e545
  1. Fedora 23 Alpha-ish userland
  2. Kernel 4.2rc6
  3. Seems to be a bug where no OSK appears for Firefox; try installing Epiphany

20141209

Tenth release of Fedlet.

  • Fedora 20141209 for all 32-bit Baytrail hardware - SHA256SUM: c1fcf78e883d28345074bb48c814732a2dced2c79f54ee007c769e31a4fd134b
  1. Fedora 21(ish) userland - with 0-day updates
  2. Kernel 3.18.0, with Fedlet patches

20141124

Ninth release of Fedlet.

  • Fedlet 20141124 for all 32-bit Baytrail hardware - SHA256SUM: c64b859d5ec08dd1c6e15eb8e0553d1b775475e22c852062166a9ae63bfeac6a
  1. ~Fedora 21 Final TC4 userland
  2. Kernel 3.18rc6
  3. NVRAM map for Broadcom brcmfmac43241b4 (thanks "Brainwreck" of the Ubuntu T100 project) which may make wifi work OOTB on Asus T100
  4. Accelerometer-based rotation support for Venue 8 Pro (i.e. display rotates when you rotate the tablet)
  5. Backlight level control on Venue 8 Pro when booted with i915.force_backlight_pmic=1

20141111

Eighth release of Fedlet.

  • Fedlet 20141111 for all 32-bit Baytrail hardware - SHA256SUM: 3a4078db12b1ed17d9c330ef9c16d2690299212ec6f58867d64f2589a6afc088
  1. ~Fedora 21 Final TC1 userland
  2. Kernel 3.18rc4
  3. Patch from Jan-Michael Brummer to make Venue 8 Pro wifi work
  4. Has generic-release-cloud not generic-release-workstation, sorry, I'll fix it for the next release

20140929

Seventh release of Fedlet, aka the "God, I'm still doing this?" release

  • Fedlet 20140929 for all 32-bit Baytrail hardware - SHA256SUM: aa2f1150e40965471fc2888db6aad7da52d98f36ce1224b630ba5ed99b28fd5e
  1. Current Fedora 21 userland, ~F21 Alpha
  2. Kernel 3.17rc6
  3. efibootmgr is back, so install might work (not tested)
  4. Patch from Jan-Michael Brummer for 'Home' button on V8P to act as 'Super' (start) key
  5. Patch from Jan-Michael Brummer for mic input (not tested yet)

20140911

Sixth release of Fedlet

  • Fedlet 20140911 for all 32-bit Baytrail hardware - SHA256SUM: d76574e38d5afab1cb84ac95dde3945376c76518d2610c8afdaa84305ba3f43e
  1. Updated to current Fedora 21 userland, ~= Fedora 21 Alpha TC7
  2. Based on Workstation kickstart
  3. Updated to 3.16 kernel with small Baytrail patch set, native modesetting should now work, no more hard-coded resolution hacks needed
  4. Sound driver and firmware included (but you still need to load a correct ALSA config to hear sound)
  5. Partial support for Venue 8 Pro built-in wireless (firmware included)
  6. Hardware button support for Venue 8 Pro
  7. Battery status support
  8. Install broken (missing efibootmgr)

20140310

Fifth release of Fedlet

  • Fedlet 20140310 for 8", 800x1280 tablets
  1. Updated base packages and kernel
  2. Xorg hack to allow windows with integrated title bars to be dragged in GNOME (from Jan-Michael Brummer)

20140226

Fourth release of Fedlet

  1. Latest Fedora Rawhide base
  2. Kernel update: based on latest Rawhide, sound (and LPSS) support built in (but not working until you provide fw_sst_0f28.bin* in /usr/lib/firmware/intel and apply this mixer config), shutdown/reboot should work on Venue 8 Pro, T100 and Miix 2
  3. GNOME Terminal added to the Dash for convenience
  4. Updated the patched anaconda to latest Rawhide
  5. LibreOffice dropped to save space (I doubt anyone wants to use it on a tablet much...)

20140221

Third release of Fedlet

  1. Fix kernel performance regression
  2. Touch input rotation seems to work automagically now, so drop it from v8p-rotate (it's now just a simple xrandr wrapper)
  3. Add a 10in (T100) build (untested)

20140220

Second release of Fedlet

  1. Repository configuration added (package: fedlet-repo)
  2. Useless custom build of xorg-x11-drv-intel dropped
  3. Kernel up to 3.14rc3 with some patches upstreamed, display hotplug reversion patch dropped and video= parameter adjusted to allow display to work with the hotplug reversion patch dropped
  4. anaconda bumped to latest version (with fedlet patch applied)

20140207

First release of Fedlet

Working

  1. Boot
  2. X
  3. GNOME
  4. 2D, 3D and video playback acceleration
  5. Touchscreen
  6. CPU frequency scaling (pstates)
  7. USB (you can use a USB wifi adapter)
  8. Power monitoring (battery status)
  9. Sound (with ALSA config file)
  10. Wifi (on Venue 8 Pro at least, possibly also Asus T100)
  11. Hardware buttons (on Venue 8 Pro)
  12. Backlight control (on Venue 8 Pro, when booted with i915.force_backlight_pmic=1)
  13. Installation and boot of installed system (if you're very brave)

Partly working

  1. KMS (hence accelerated video) on Venue 8 Pro seems to have quirks related to boot process, see notes below
  2. Suspend (kinda works since kernel 3.16 or so, but screen backlight may stay on, and various things may not survive the resume, e.g. touchscreen or rotation)

Not working

  1. Venue 8 Pro onboard Bluetooth
  2. Icon for rotation app is invisible with recent GNOME
  3. Most likely lots of other things

Unknown (please let me know!)

  1. Hardware support (wireless, bluetooth etc) on devices other than Venue 8 Pro

Usage

Not for 64-bit firmwares

64-bit firmware Bay Trail devices are showing up now: I wouldn't recommend using Fedlet on those, probably, as most of the point of Fedlet is to be a 32-bit UEFI image for the 32-bit firmware Bay Trail devices. If you have a 64-bit firmware Bay Trail device, I'd probably suggest installing Fedora 21 Beta (or a Final TC/RC) then updating to a 3.18 kernel from the rawhide-kernel-nodebug repository. I could do a 64-bit build of the Fedlet kernel and the few other divergent packages, I guess.

Writing the image to USB

You can follow the standard Fedora USB writing instructions - both livecd-iso-to-disk --format --reset-mbr --efi and dd like methods should work. Do not use Rufus, unetbootin or any other 'smart' third party USB stick writer. They rarely work correctly, especially for UEFI booting. Tools that work like dd (several are mentioned on the page linked above) are fine.

Booting from USB on Venue 8 Pro

To boot from USB on the Venue 8 Pro, turn it off, connect the USB stick, then hold down the volume up button immediately after pressing the power button, until you see the Dell logo. This should take you into a boot menu from which you can pick your USB stick. You can also hold volume down to get into the firmware UI, where you can go to the Boot tab and move the USB stick up to the top position in the boot order (see note above about how different boot paths impact graphics).

Notes and tips

Native graphics on Venue 8 Pro

It seems to vary between devices, but I have found that graphics don't work properly on the Venue 8 Pro (screen goes black when KMS kicks in) if you boot normally or through the firmware UI (hold volume down on boot). KMS always works if you boot through the boot device menu (hold volume up on boot). If you have a V8P and you're getting the black-screen-on-boot problem, try different boot paths.

Sound

On most hardware, you should be able to make sound work with this ALSA state file. Download it and run alsactl -f /path/to/t100_B.state restore.

Connecting USB devices

If you don't know this already you probably shouldn't be playing with Fedlet, but in order to connect any USB devices, you need something called a "USB OTG cable", which basically turns the micro-USB port on the tablet into a 'regular' USB port you can plug keyboards and USB sticks and things into. Available at any decent parts retailer for about $5, or any big box electronics store for about $25. Your choice.

If wifi isn't working on your device, you can plug in a wireless USB adapter if you have a USB OTG adapter. I'm using an Asus USB-N10, it should work out of the box.

For ease of testing it's probably a good idea to have a USB hub you can plug a wireless adapter (if needed), USB stick(s) and keyboard into.

Firefox extensions

The grab-and-drag and Go-Mobile extensions for Firefox are probably useful things to have.

Video playback acceleration

If you are legally allowed to - I can't tell you whether you are or not, I am not a lawyer - you can install the libva-intel-driver package from RPM Fusion's free repository. This will enable hardware-accelerated video playback in any app which speaks libva (for me, it fails on quite a few videos, have to dig into that).

Installation

If you're very, very bold, you should be able to install Fedlet. On the Venue 8 Pro, the internal storage has a fairly big NTFS partition with Windows on it, and a bunch of smaller partitions. I'd recommend just destroying the big Windows partition and installing into that space: the other partitions are system and recovery partitions, if you leave them intact, it should be possible to recover the Windows installation later if you want to (I have not tested this).

If you do install this, get kernel updates from [my repository][19], and don't install official kernel updates from the Fedora repos. We're trying to get all the patches merged ASAP. I'll try and remember to put updated kernel builds in my repo regularly. Stock kernels will now boot, at least, but (as of 3.16) shutdown/reboot may not work, battery status won't work, and Venue 8 Pro wifi won't work.

On the Venue 8 Pro at least, the firmware has an irritating habit of putting the Windows boot loader back at the top of the UEFI boot manager list if you attach or remove USB sticks (or sometimes, just for giggles). If you boot it with this setup it'll go into Windows auto-recovery. I haven't been brave enough to see what this does yet, I just force power off and go back into the firmware and put Fedlet ("Generic") back at the top of the list.

What's in it that's different from Fedora?

The 'sources' for the outside-of-Fedora stuff that's included in the image can be found in this github repository. There are:

  • Some kernel patches in the kernel/ directory which are applied to the kernel package in the image
  • Some Xorg config snippets and a trivial utility for rotating the screen on the Venue 8 Pro, in the xorg/ directory
  • The kickstart used to build the image, and a patch to python-imgcreate for building UEFI bootable 32-bit live images, in the ks/ directory
  • The patch that (hopefully) makes installation work smoothly in the anaconda/ directory
  • The necessary firmware for the Venue 8 Pro's wifi adapter in the baytrail-firmware/ directory
  • The repository definition for the fedlet repo in the fedlet-repo/ directory
  • A (hopefully) working ALSA configuration file in the alsa/ directory

The packages that differ from pure Fedora Rawhide are all available from [this repository][19]. There is:

  • A patched anaconda which should allow installation to work cleanly
  • The kernel package patched with the patches from the git repository
  • The fedlet-repo package containing the repository definition
  • A package of the v8p-rotate utility
  • The baytrail-firmware package, currently containing only Venue 8 Pro wireless firmware (license proprietary-but-freely-redistributable)
  • A backport of Rawhide's linux-firmware package, which contains the firmware needed for the sound adapter

All the variant packages have the dist tag 'awb' to make them easily distinguishable from official Fedora packages (except the linux-firmware package, which is just a backport).

The image should be roughly reproducible by just building a live image, using the kickstart, from a running Fedora 21 system, after applying the patch to python-imgcreate's /usr/lib/python2.7/site-packages/imgcreate/live.py.

I cannot take any of the credit for the hard work on this: all I've done is write silly little scripts and stick the bits together. Multiple folks at Intel, Red Hat and elsewhere have done the tough work. An especial big thanks to Alan Coxm Aubrey Li, and Mika Westerberg at Intel, Jan-Michael Brummer at IAV (formerly of Intel), and Kalle Valo at Qualcomm (for the V8P wifi) who are really pushing the thing along.