Getting started with Fedora on the 96boards Dragonboard

Support for this board has been a long time coming, it was originally announced in March 2015 and shipped later that summer. Two years on we can finally add support for it to Fedora. The enablement here will also assist us with supporting the newly announced 600c and 820c boards more quickly. We’re not all the way there yet, there’s still some firmwares that needs to go upstream into linux-firmware, but the improvement is fantastic and it’s been a pleasure working with the 96boards and Qualcomm teams getting to where we are today.

At the moment we support running Fedora off either an micro SD card or a USB stick. We don’t currently support running off the eMMC and currently basically treat that as the location of the firmware. Anyway lets get started!

Updating the firmware

You’ll want to update to the latest firmwares, my board originally had an old firmware without support for PSCI and so it didn’t bring up all four cores or support reboot. OOPS! You’ll need the latest linux rescue images from the 96boards download site. As I write this the latest is the 17.09 release (version 88). Create a directory for this file before you unzip it because it’ll expand all into the current directory. While there we also need a u-boot build that’s prepared for flashing, the upstream support isn’t quite complete, we add a few patches to the Fedora build to get everything working nicely. You can grab a pre-built version here and also get LK firmware build which enables display output.

You’ll need a host with the fastboot utility, in Fedora this is found in the android-tools package, and a micro USB cable. This process is very similar to flashing a phone with a new image, not surprising given the chipset really. If you have a serial console on the board you can follow along on the console but it’s not required for this board.

To put the board into fastboot mode we hold down the volume down button, labeled as ‘(-)’ near the middle USB port and then power it on. Wait around 30 seconds to ensure it’s booted to fastboot. You can test this with the fastboot devices command. You’ll likely want to run the next commands as root, or use sudo, and be in the directory you created with the extracted firmware and u-boot build:

sudo ./flashall
sudo fastboot flash aboot emmc_appsboot.mbn
sudo fastboot flash boot u-boot.img
sudo fastboot oem select-display-panel adv7533_1080p

The flashall command runs a series of fastboot command to write out various early boot firmware to the eMMC, then we write u-boot out to the boot partition, and finally ensure that output is configured to appear on the HDMI port. Assuming you don’t get any errors from fastboot that should be all the firmware done and in place.

Fedora image and further setup

Next up is the Fedora image. I chose the Workstation image, but we also have a Minimal Image and a traditional Server image. GNOME not the fastest in the world as 1Gb of RAM isn’t really enough for GNOME-3 anymore, but it works well enough. On a USB stick or Micro-SD card (I’ve tried both). We need to write out the image, then expand the rootfs (Note: update XXX for the device you’re writing to):

xzcat Fedora-Workstation-27-1.6.aarch64.raw.xz | sudo dd status=progress bs=4M of=/dev/XXX
sudo gparted /dev/XXX (expand the last partition)
partprobe

Next up we need to adjust the kernel command line slightly, mount up the first partition and edit /EFI/fedora/grub.cfg and search for the string cma=256MB and delete it, then add in it’s place the following console=tty1 console=ttyMSM0,115200n8. Next mount the boot partition (partition 2) and create a sym link

ln -s dtb-4.13.9-300.fc27.aarch64 dtb

. Unmount the partitions and we should be good to go on the Dragonboard.

Plug in a keyboard, mouse (and/or a usb cable for the serial console if you’re going that route) and a HDMI cable, plug in the USB stick or SD card and power it up. If you’re following along on the serial console you should see output straight away, screen might take a little longer.

Once you’ve booted you should be able to complete initial-setup (text or the one from Workstation) and login. To get the WiFI and Bluetooth working you need to install a Radio (WiFi and friends) firmware package which I’ve made into a rpm you can grab from here until it lands into linux-firmware.

What next?

The DragonBoard 410c is pretty functional. I’ve not widely tested sound, the Venus media offload components (we have all the firmware and kernel bits for this), the GPS or some of the other more advanced components but I’ll have more details about those soon. I’ll be documenting the above plus other bits on the Fedora ARM wiki so keep an eye on that or get involved and help out 😛

Fedora 23 on the Thinkpad X1 Carbon gen 3

So my corporate laptop for the last three years has been a Thinkpad x220, it’s getting a bit long in the teeth, when I got it the x230 was already out but the corporate standard hadn’t rebased. This time I happened to get a new device just after the new corporate refresh so I have the shiny X1 Carbon gen 3 with real track pad buttons.

Of course I grabbed the latest rawhide nightly boot.iso to install the latest shiny! How did I get on? Initially it was disaster, the kernel crashed before I even got to anaconda (will spend some time to recreate and log that soon). Oops! So I grabbed a couple of the earlier installers and with a bit of trial and error before long I was at the initial anaconda screen. From there the process was relatively boring! Up and running with Fedora Workstation installed, disk encrypted I started to play with it to see which bits were good, bad or ugly.

So first up with the good. Over all the vast majority of the hardware just worked out of the box. The GPU, USB3, wired ethernet, wireless ethernet (iwl 7265 AC), trackpad/thumb pointer, bluetooth mouse, camera, onboard speakers all work just fine, I even managed to enrol my finger in the finger print reader without issue. I must say I’m loving the 1920*1080 screen over the old 1366*768 of the x220 and I’m getting use to the chiclet keyboard layout. Overall F-23/rawhide is solid right out of the gate with pretty much everything working as you’d expect on a stable release. 🙂

It’s not all rosy though and some of the bad is that I’ve not managed to get the firmware upgraded to support 4K displays @ 60hz, thanks to Major and Sandro for the heads up on this, but it never seems to find the usb stick as a bootable image. Not a major issue in the short term as the OneLink Pro Dock I ordered is AWOL but I’ll want it soon as I’ve got a standing desk with a Dell 24 inch 4K monitor. The x220 and 4K monitor had never really worked overly well, the big issue was it only ran at 30hz refresh but I knew that when I got the monitor because I knew I was due for a refresh soon, it also had random glitches. I also need to workout how to adjust the acceleration of the thumb pointer thingy with libinput. Adjusting either the trackpad or mouse options in control panel doesn’t seem to have any effect, I never really used the trackpad on the x220 but I admit I’m getting use to the two finger scrolling for reading long pages. This should all be relatively easy to solve with a bit of poking!

The ugly seems to be the stability of the iwl 7265 wireless driver/firmware. It generally works but regularly shits itself. Some times minor by dropping SSH connections, sometimes majorly resulting in a need to unload/reload the modules or even to reboot! URGH! I’ve heard people complain about recent Intel Wireless stability but the “Advanced-N 6205 [Taylor Peak] (rev 34)” that was in the x220 was always solid. The solid lockups seems to be when pushing a reasonable amount of data via rsync/ssh. I do have a WRT1900AC router and I’ve connected to the 5 ghz 11ac so I’m wondering whether this combo is part of the issues. There is a newer firmware that hasn’t made it upstream yet. I need to do some more playing here testing the 11n 2.4ghz network as well as testing the newer firmware and possibly some patches that are on the wireless mailing list which I’m hoping will actually just land in 4.2 before long 🙂

There’s a few other things I need to play with some more. I’ve not tried external HDMI video/audio, the external display port, the DP to VGA converter (nice one was included in the box though) or the headphone/mic socket. None of the functionality of the dock has been tested yet simply because it’s yet to show up! It reports around 7.5 hours of battery life but I want to look at what the state of power consumption on these devices after mjg59’s post about it to see if I can’t get that well into the double digit hours.

Overall I’m pretty impressed with out of box experience of F-23/rawhide on the Thinkpad X1 Carbon gen 3 🙂

GNOME 3 fall back mode

I’ve been aware of the possibility of gnome fallback mode being dropped for quite some time. I wasn’t aware a decision had been made to definitely do so.

This is somewhat disappointing to me as I know of a lot of users of it. For starters there’s the 2.5 million OLPC XOs that were in the field as of January 2012 (I’m led to believe there’s around 1.5 million more to add from this year) and there’s a lot of ARM devices that have no 3D support because it’s pretty much impossible to use ESGL with gnome-shell at the moment (yes I know there’s plans to refactor mesa and friends to cope with this but that’s not now).

This isn’t designed to be a Federico style rant and if it was it would be aimed as much at the MATE Desktop as the GNOME team. I personally believe MATE would have been better off targeting their resources at properly fixing the GNOME 3 fall back mode to do the things they miss from GNOME 2 as attempting to glue together the GNOME 2 desktop as at least all the core apps are not duplicated and they get to keep the newer code which ultimately will be a lot more maintainable moving forward through the shared development of code. I’m not sure why they went the other route.

Oh well ultimately I believe it will be yet another net loss for GNOME as possibly eventually losing 4+ million odd young users from OLPC deployments (and all the other people such as families that use the devices) when they leave school I think would be a loss for the community moving forward and then add to that the users of it on ARM devices and other old computers in the developing world I think they’re not even aware of the users they have.

N.B. As always the words and thoughts are those of my own and don’t represent anyone else’s opinions.

Using Fedora on your shiny new OLPC XO

So you’ve just received your shiny new OLPC XO 1.75 as part of the awesome Fedora Open Hardware Summer of fun! or you have an existing OLPC XO that you haven’t used for a while and it’s gathering dust. While it’s running Fedora it doesn’t seem to act completely like Fedora and what’s more it’s likely running an ancient Fedora 14 based release and that’s not really cool is it?

Well the first thing to do is to update it to a newer release. There’s XO releases based on both Fedora 17 (stable 12.1.0 release) and devel releases based on Fedora 18 (development 13.1.0 releases). For a XO-1.5 or XO-1.75 the update process is identical. The process I mention here re-images the machine so if there’s anything you need to save back it up first!

It’s relatively straight forward. You basically get the appropriate .zd file, put it on a USB key and away we go. The Fedora 18 based 13.1 images can be found here. You just need the latest .zd (and it’s good practice to grab the .zd.md5 file too) so for 13.1.0 os3 we’d download this file or for F-17 we’d use this one and pop it on a usb key. From there we make sure our XO has battery juice and is plugged into the power. We power it on and instantly hit ESC to get the OFW OK prompt. Plug in the usb key and run the command “fs-update u:\31003o2.zd“. The screen should change to a grid and slowly go all green. Once we’re back at the OK prompt we can type “reboot”. It will take a while to boot the first time as it will update the Open Firmware and do a few other bits but you should eventually be greeted with a Sugar prompt to enter your name. More detailed instructions including for the XO-1 can be found on the OLPC WIKI.

If you wish to move from the Sugar UX to the more familiar GNOME UX you can right click on the little man in the middle, select “My Settings” to get the Control Panel and there’s a icon “Switch to GNOME”. It will ask you to restart X. There’s a matching App in the GNOME menus to switch back.

Next up we want to unblock all updates from the Fedora repositories. The OLPC releases have a specific package NVR set for stability and release just selected updates rather than the usual firehose from Fedora. We generally want all updates available. The one exception to that at the moment is the kernel. So we do the following which removes the OLPC excludes and excludes just the kernel:
vi /etc/yum.repos.d/fedora*
delete this line
include=file:///etc/yum/olpc-exclude
add this line
exclude=kernel

Of course the first thing you want to do now is “yum update” to get the latest and greatest :-D!

Next up is enabling the standard GDM login. This is as simple as yum install gdm and then updating which display manager starts with the following:
rm /etc/systemd/system/display-manager.service
ln -s /usr/lib/systemd/system/gdm.service /etc/systemd/system/display-manager.service
reboot

Finally I suggest joining the Fedora OLPC mailing list. It’s a pretty quiet list but it’s where we copy any release announcements and also a spot to ask XO specific Fedora questions.

So that should get you to something a little more standard and allow you to install some of your favourite bits. Next up of course is getting more involved in both OLPC and ARM things happening in the Fedora community. I look forward to hearing about what works and what doesn’t on the Fedora planet and mailing lists 🙂

Also note that the above isn’t just restricted to the ARM based XO 1.75, even the original XO-1 runs Fedora 17 and 18 well so if you have an old XO lying around now is a good time to dust it off.

gnome 3.2

Well gnome 3.2 is a nice evolution from 3.0 but to me it feels somewhat disappointing, it actually feels for the most part like a 3.0.2 release for the core UX with some nice added applications and a few applications that do feel like its a .1 bump rather than 0.1.

Some of the good include the new gnome-contacts app is brilliant! In fact the whole “Online Accounts” is a great idea, even if it only currently supports Google and is still a little rough around the edges. Also the ability to finally make VoIP calls directly from the contacts apps is fabulous. Evolution has evolved as it does just about every release, the mapi support continues to improve and the calendaring is back to being usable. The calendar still doesn’t have multi timezone and weather support added back in like was promised for 3.2, this is probably one of two main promises I was looking forward to 🙁

The hotplug notification is good but it needs a noticeable way to get rid of it, often I plug something in and don’t want to do anything with it, or will deal with it on the command line. On the topic of notifications… why does everything seem to change again for what used the notification area? I gnotes no longer appears down the bottom like it did previously? The other thing that has regressed again is that the “lock screen” support. WHY?!? How hard is it to get something so simple correct?

The other thing I was looking forward to returning, and it has, is Network Sharing support. Its not something I use a lot but with inbuilt 3G its something very useful when I’m travelling, and that is useful 🙂 although there’s still a number of regressions in the NetworkManager stack that move between plain annoying to why? The wireless for my Enterprise WPA AP in the office finally remembers the password when I change it, but it still pops up and prompts for the password, I click OK with the password that’s in there and it joins.

The themeing hasn’t improved, if anything its regressed. The title bar isn’t a smooth blend and there’s still not a great distinction between active and non active windows. Also the gtk2 theme still hasn’t been bought up to the same design to the rest of it so you still have the blue scroll bars. That said the dark theme’s for totem and Image Viewer is great!

Overall its certainly an improvement, but in most cases they’re small but I do wish they would pay more attention to regressions and polish.

gnome-shell one week in

Well its almost a week since I upgraded to Fedora 15 and started using gnome-shell. The good news is I’m still using it and generally really like it, although admittedly there’s quite a few bugs, and quite a few regressions that I really dislike. Fortunately a lot of those are fixed in the short tern with a few extensions and gnome-tweak-tools. I’ve also filed quite a few bugs, updated others where I felt I could add useful information, or just added myself onto the bug for easier tracking. There’s a lot of fixes that are being worked on for gnome 3.2 and I appreciate that the gnome team is working hard to balance their vision and design with a workable desktop.

One thing that grates me a little is the attitude of certain developers though. Comments like “realise that this feature wasn’t a feature in gnome 2 until gnome 2.XX so you’ll just have to wait” isn’t really helpful and 3.0 > 2.XX so it is a regression. You don’t give a toy to a child and then tell them they’ll have to wait to get it back. If they didn’t have it previously they don’t know what they’ve never had.

Dual Screen dock/undock: It works, mostly without issues! This was one of the major concerns I had with gnome 3 as it had caused me problems in testing previously. I’m very glad this just works. Not sure if the issues I had previously were a bug that was fixed or something weird on the live image I used.

Stability: My graphics is an Intel IronLake and the stability is OK. I do have to on occasion swap to a tty and run “killall -HUP gnome-shell” to make it usable again and this mostly seems to be when I’m on a dual screen. I also seem to run into the it leaks a lot of memory bug. When I do a killall it starts off at 80Mb RAM but if its left I’ve seen it get up to 2Gb!

Screen lock, unlock and suspend: This looks like an area that sorely missed out in the development. They hid the shutdown menu option by default but gnome-shell doesn’t suspend when I shut the lid of my laptop. It works fine when I select the option from the menu but that’s no where near as quick especially when I forget and have to reopen the laptop. Looking at Xorg.0.log it detects the “Lid Switch” but seems to ignore it although it configures the sleep and power buttons. Similarly I can’t use Pause to lock the screen and I’ve seen other references to this for other keys. Finally there’s an issue where the screen isn’t always locked on resume from suspend which in my opinion is a security risk.

Alt+Tab and Alt+`: Love it! The later for tabbing between windows of the same app is great!!

pidgin: I fixed my issues with Pidgin by installing the gnome-shell extension. Its not perfect but fixes most of the problems so its usable so for the time being I’ll stick with it rather than migrate to empathy.

Calendaring: It took a surprising amount of time to get use to the clock being in the middle of the screen. What I didn’t get use to is the lack of the date in the display. gnome-tweak-tool to the rescue for that one. I also miss the weather and multiple timezones. The Multiple Time zones should be back for 3.2 although I don’t see any guarantee for Weather information.

One other nice addition to calendaring that the tweak tool added was week numbering down the side of the calendar view. I would like to be able to click on the week number to get that week’s schedule rather than the current week. Its very useful for quick reference when on a call trying to work out which week is best for something.

Notifications: If I’m away from my desk I can sometimes miss notifications unless I explicitly go and hover down the bottom of the primary monitor. This doesn’t run along the bottom of the both screens if you have them in side by side configuration. It also seems that I don’t get notifications from calendar or abrt (that come to mind).

Theme: I generally like the monochrome theme quite a bit but there’s a number of usability issues with it. I find it very hard to tell the active and inactive windows. There’s almost been a couple of embarrassing mistakes there in the style of embarrassing text messages. Also things like the light switch look disabled when they aren’t. I have good eye sight, I can’t begin to imagine how bad this is for people who don’t. Also colour for things like battery/charge indicators (eg the charge thunder bolt is nearly indecipherable from the background), mute etc is a quick visual guide. There use to be colours for batteries at least, I’ve seen that in screenshots on the gnome wiki. There’s a number of things that should be fixed in 3.2 documented in the aptly named Fix Annoying Things on the gnome wiki.

System Settings: There’s weird things that seem to happen here. Firstly I remember some how discovering the “Default Applications” settings, but they’re not in the Systems Settings. No I don’t want to change my default Terminal 😉 somehow my default browser changed from Firefox to Epiphany. I had to go to the Preferences to get it back. Some things seems to be duplicates but different (did I mention this already?) like the places to set languages (User Accounts and Region and Language). There’s no touchpad options in “Mouse and Touchpad” even though its a laptop, again I suspect its getting miss detected. I would have thought there would a “Mail Settings” panel as well.

Mostly I really like gnome 3, it certainly is a dot zero release but is still very usable and quite nice, although not quite perfect. I look forward to the spit and polish 3.2 release.

making the jump to gnome 3

Clearly I’m not quite as bleeding edge as AdamW is!

Well the pros, well really the wants, finally won out over the cons and I upgraded my primary laptop that I use for work and just about everything else to Fedora 15 and gnome 3. What finally pushed me over the edge? Evolution 3 and Firefox 5.

I’d been running evo 3 in a VM on my laptop for quite some time. At work our corporate mail system is MS Exchange and the only access we have to it is via MAPI so Evolution is my life saver and I generally find it quite good. Over the last couple of release cycles Matthew Barnes, Milan Crha and others have been making MASSIVE improvements so I often end up compiling the latest dev release for the current stable Fedora release for the latest evolution bling. GTK3 sort of put a halt to that for F-14 -> F15. One thing I couldn’t work out for this upgrade is why evolution-NetworkManager wasn’t installed by default (maybe its my setup).

I mostly like gnome 3, I have been using it on a number of non primary devices for months. I’m really not interested in any of the politics of it. As a primary device I’ve only been using it for an hour or so. That said there’s a few weird discrepancies.

Language: I live in the UK and use UK language and keyboard settings. On upgrading and logging back in it was back to the US. Hmm. Going into my account there’s a spot to set the language. Cool! Why do I need to put the root password in to change this setting? I can understand having to re-enter my password (we have jokers in the office that change things like this) but not the root password. And why do I also then have to set it in “Region and Language” in the System Settings as well? Oh, and why isn’t the “Colour” system icon localised?

Printing: I have a networked copier configured on this. It seems I can now print colour to it. Awesome! Why when I click “Options” do I get nothing? I happen to like the minimisation of options (I’m lazy so tend to stick with defaults anyway) but printing tends to be one of the horribly complex things. EG I don’t want to print to US paper and I do want to print duplex and turn off colour printing as default options.

Active window: The new gnome theme with its nearly the same colour for all windows makes it hard to tell which is the active window. While with all maximised windows on a single screen this doesn’t really make much difference. On multi monitor it does!

While we’re on the topic of multiple monitors, I’ve yet to test dock/undock and suspend/resume monitor detection. It was sorely broken the last I tested it and it was the primary reason I had delayed my upgrade so long. I usually go 2-3 weeks without a reboot and will undock/redock 100s of times in that time. Having it remember my screen and windows layout is important. Its very time consuming to have to reconfigure and position every time I change configs.

Instant Messaging: I’ll need the pidgin extension. I have around 6 years of pidgin logs that I reference regularly. There’s been a bug open for this since F-10 and until that’s closed pidgin and I are wed.

Rhythmbox: Wasn’t there suppose audio controls somewhere? Or am I plain blind. I would like to get rid of the main box and just be able to control play/pause/skip etc from within the shell like the icon use to. I thought I saw somewhere that the shell had media controls in there.

I’m looking forward to gnome 3.2 especially getting multiple time zones back in the clock, the online account integration and of course Evolution 3.2 and all its new features and improvements!

gnome 3

Well the new gnome 3 has certainly polarised the community. I must say I generally really like it, but also I’m not yet running it on my default machine. Historically I’ve upgraded my primary laptop to the current development release of Fedora around the beta release. This time I’ve not. Why? Well there’s one major feature that has “Just Worked” for me for as long as I remember and I use it every day I’m in the office that isn’t yet working well in gnome 3 and it would cost me way too much time on an average work day.

I have a Dell Latitude E-Series laptop with a docking station and a second screen. Pretty much everyone in our 300 person office has this config. People use them all a different ways. Side by side, stacked on top of each other, laptop closed with one screen etc. Some Gnome 3 just doesn’t work well with dual screens in a dock evironment yet. On Fedora 14 I can undock the laptop and head off to a meeting. When I undock all the windows collapse down onto the laptop screen. When I redock it detects my second screen is back and all my windows go back to the way they were. At the end of the day I suspend my laptop and go home, it works, when I return the next day it returns them as I had them. On gnome 3 the undock generally works well most of the time. The redock doesn’t. It doesn’t turn on the screen, reconfigure it as a second screen and put all the windows back on there. To get my windows back to the way I had them takes a good 5 mins of moving stuff around. Do that ten times a day and it adds up to quite a bit of wasted time that I just don’t have! Chatting with Jon McCann at RedHat Summit he mentioned it was likely a gsettings (I think from memory) problem and should be easily fixed (I will test patches!).

But there are things I love in gnome 3 and I would love to move to it permanently. The new evolution 3 is lovely! Our office uses Exchange as its corporate collaboration system. evolution-mapi allows me to do all the email/contacts/calendaring within Fedora generally without too much issue. v3 adds to that and evo 3 works pretty well! To get this lovely in the office while retaining my dual screen functionality I run a lvm VM on my laptop with F-15 and have evo running over a X session to the main F-14 desktop.

There’s lots of other nice things about gnome 3 and I look forward to being able to run it properly to get access to those things. There’s other regressions I know, and I can live with those. WPA Enterprise support (which again we use through out all out offices in Europe) has work arounds, the timezones in the clock I’m reliably informed will be back in gnome 3.2, people are working on gnotes and there’s a gnome 3 plugin for pidgin flying about (I would move to empathy when I can import my 5 years of logs that I use daily for reference). Those are minor, it was a massive change and there will always be regressions. I look forward to decent dual screen support again soon 🙂