• Coding,  mir,  Multimedia,  Ubuntu

    Mir and Vulkan Demo

    This week the Mir team got a Vulkan demo working on Mir! (youtube link to demo) I’ve been working on replumbing mir’s internals a bit to give more fine grained control over buffers, and my tech lead Cemil has been working on hooking that API into the Vulkan/Mir WSI. The tl;dr on Vulkan is its a recently finalized hardware accelerated graphics API from Khronos (who also proved the OpenGL APIs). It doesn’t surplant OpenGL, but can give better performance (esp in multithreaded environments) and better debug in exchange for more explicit control of the GPU. Some links: Khronos Vulkan page Wikipedia Vulkan entry short video from Intel at SIGGRAPH with…

  • Coding,  mir,  Ubuntu

    New Mir Release (0.18)

    If a new Mir release was on your Christmas wishlist (like it was on mine), Mir 0.18 has been released! I’ve been working on this the last few days, and its out the door now.  Full text of changelog. Special thanks to mir team members who helped with testing, and the devs in #ubuntu-ci-eng for helping move the release along. Graphics Internal preparation work needed for Vulkan, hardware decoded multimedia optimizations, and latency improvements for nested servers. Started work on plugin renderers. This will better prepare mir for IoT, where we might not have a Vulkan/GLES stack on the device, and might have to use the CPU. Fixes for graphics…

  • Coding,  mir,  Ubuntu

    Mir Android-platform Multimonitor

    My latest work on the mir android platform includes multimonitor support! It should work with slimport/mhl; Mir happily sits at an abstraction level above the details of mhl/slimport. This should be available in the next release (probably mir 0.13), or you can grab lp:mir now to start tinkering.

  • Hardware,  mir,  Ubuntu

    Mir Device Showcase!

    Here’s a video of Mir powering a few different GPUs: Nexus 10 (ARM Mali T-604 GPU) Nexus 4 (Qualcomm Adreno 320 GPU) Nexus 7 (2012) (Nvidia Tegra 3) Galaxy Nexus (PowerVR) This is a pretty big milestone, as we’re now in a position where Mir works well with 4 big Android gpu vendors. Enjoy! The only disclaimer on the video is that some of the code hasn’t trickled to the images yet, and the tablet support is still a work in progress. Onwards and upwards!

  • Coding,  mir,  Open Source,  Ubuntu

    Friendly Mir Links

    Just a friendly reminder, but Mir is open! Here are some useful links. Documentation We’ve put effort into sharing as much as possible and lowering the knowledge-barrier to entry for the project. We want you to understand how your pixels will be painted under Mir. Here’s some good links: Mir documention: http://unity.ubuntu.com/mir/ This is all generated right from the trunk code (lp:mir’s doc/ folder) We also generate api documentation on same site: http://unity.ubuntu.com/mir/annotated.html Code The code is all available on launchpad: lp:mir The reviews are all done on out in the open: active reviews Our continuous integration is on jenkins like the rest of the Ubuntu projects: https://jenkins.qa.ubuntu.com/job/mir-ci/ Lastly there…

  • Coding,  mir,  Open Source,  Ubuntu

    Mir and Android GPU’s

    With Ubuntu Touch, (and mir/unity next) we’re foraying into a whole new world of android drivers. Given the community’s bad memories from the past about graphics, let’s clear up what’s going on, and how we’ll steer clear of the murky waters of new driver support and get rock-solid Ubuntu on mobile platforms. Android Driver Components and their Openness First let’s talk about openness. Driver ecosystems tend to be complex, and android is no exception. To get a driver to work on android, the gpu vendors provide:  a kernel module The kernel module must be GPL compatible and this part of the driver is always open. This part of the driver…

  • Coding,  mir,  Open Source,  Ubuntu

    Mir and Android FAQ

    There’s been some murmurs and uncertainty about Mir and Ubuntu Touch support, so here’s a quick FAQ. Does mir support android drivers? Yes! We put great care into our platform abstraction so that when you run on mesa desktop drivers, you use our mesa/gbm platform, but when you run mir inside of an Ubuntu Touch phone/tablet, you use the android platform to get full OpenGLES acceleration. What sort of acceleration do you provide with android drivers? Full acceleration! More specifically, this means that entire path, from client render to framebuffer post, is OpenGLES accelerated and there is no-copy of the color buffers. This gives mir clients and Unity Next the…

  • Open Source,  Random,  Ubuntu

    Irssi OSD notifications

    I wanted irssi to ping me using Ubuntu/Gnome’s on screen notification system, but didn’t want to dig into irssi’s code… what is one to do? Cobble scripts together of course! Here’s how I got it done: Download this irssi plugin: fnotify.pl This script will update a text file  (~/.irssi/fnotify) with a new line every time you are pinged Put fnotify.pl in ~/.irssi/scripts autorun this script by executing: ln -s ~/.irssi/scripts/fnotify.pl ~/.irssi/scripts/autorun/fnotify.pl start irssi, and run: /hilight -nick {your_nick} /save When someone pings you, check the ~/.irssi/fnotify file for that ping, it should be there Download my script below (call it lastline_notify) and run it like this: ./lastline_notify ~/.irssi/fnotify & disown…

  • Random,  Ubuntu

    Gnome notifications from your Terminal!

    Its pretty easy to get your terminal to notify you using Gnome’s libnotify system and a short python script. Python’s pynotify package (available as Debian/Ubuntu package: python-notify) I use this short script occasionally to notify me when a long compile is done like this: [code lang=”bash”] make && echo "Done compiling!" | notifier [/code] Short python script in my $PATH called “notifier” [code lang=”python”] #!/usr/bin/python import pynotify import sys pynotify.init("Quick Notify") input = sys.stdin.readline() msg = pynotify.Notification("Shell Notification:", input) msg.show() [/code]

  • Open Source,  Ubuntu

    Back from UDS-Q

    I’m back from from the Ubuntu Developer’s Summit for Quantal Quetzal (12.10)! This was my first UDS, and it was really cool to see so many developers from everywhere come together to make the next version of Ubuntu something amazing. I saw a lot of cool presentations, sessions, and talks. I also got a bit of sightseeing in in Oakland, San Francisco, and Berkeley on the weekend and at night. Although I mostly went for planning the next version of the Ubuntu desktop interface, there were a lot of cool things going on with cloud computing as well. I learned a fair amount about MAAS (rapidly deploying thousands of servers)…