20 Nov 2017


Eric Anholt: 2017-11-20

Another series of VC5 GL features this week:

For VC4, I reviewed and landed a bugfix that would cause kernel oopses in the IRQ handler path for the out-of-memory signal. I think this covered the only known oops in VC4's 3D.

I also spent a while on the VC4 backport, debugging a regression related to the DSI changes: Now when the panel is disconnected, the VC4 driver won't load when the DSI panel is present in the overlay. Unfortunately, there aren't really good solutions for this because in the ARM DT world, the assumption is that your hardware is fixed and you can't just optionally plug hardware in without doing a bunch of manual editing of your DT. I'm working with the DRM bridge maintainers to come up with a plan.

20 Nov 2017 12:30am GMT

18 Nov 2017


Alan Coopersmith: Solaris 11.3: Changes to bundled software packages since GA

Looking over my blog recently, I realized I never did a post for the Solaris 11.3 GA release to list the bundled software updates, as I'd previously done for the Solaris 11.1, Solaris 11.2 beta, Solaris 11.2 GA, and Solaris 11.3 beta releases. But that was two years ago, so telling you now what we shipped then would be boring. Instead, I've put together a list of what's changed in the Solaris support repository since then.

When we shipped the 11.3 beta, James announced that Oracle Instant Client 12.1 packages were now in the IPS repo for building software that connects to Oracle databases. He's now added Oracle Instant Client 12.2 packages as well in the IPS repo, with the old packages renamed to allow installing both versions.

While there's plenty of updates and additions in this package list, there's also a good number of older packages removed, especially those which were no longer being supported by the upstream community. While the End of Features Notices page gives a heads up for what's coming out in some future release, the SRU readmes also have a section listing things scheduled to be obsoleted soon in the support repository. For instance, the SRU 26 Read Me announces the removal of Tomcat 6.0 has been completed and warns these packages will be removed soon:

Detailed list of changes

This table shows most of the changes to the bundled packages between the original Solaris 11.3 release and the latest Solaris 11.3 support repository update (SRU26, aka 11.3.26, released November 15, 2017). These show the versions they were released with, and not later versions that may also be available via the FOSS Evaluation Packages for existing Solaris releases.

As with previous posts, some were excluded for clarity, or to reduce noise and duplication. All of the bundled packages which didn't change the version number in their packaging info are not included, even if they had updates to fix bugs, security holes, or add support for new hardware or new features of Solaris.

Package Upstream 11.3 11.3 SRU 26 archiver/gnu-tar GNU tar 1.27.1 1.28 archiver/unrar RARLAB 4.2.4 5.5.5 benchmark/gtkperf GtkPerf 0.40 not included cloud/openstack/cinder OpenStack 0.2014.2.2 0.2015.1.2 cloud/openstack/glance OpenStack 0.2014.2.2 0.2015.1.2 cloud/openstack/heat OpenStack 0.2014.2.2 0.2015.1.2 cloud/openstack/horizon OpenStack 0.2014.2.2 0.2015.1.2 cloud/openstack/ironic OpenStack 0.2014.2.1 0.2015.1.2 cloud/openstack/keystone OpenStack 0.2014.2.2 0.2015.1.2 cloud/openstack/neutron OpenStack 0.2014.2.2 0.2015.1.2 cloud/openstack/nova OpenStack 0.2014.2.2 0.2015.1.2 cloud/openstack/swift OpenStack 2.2.2 2.3.0 compress/p7zip p7zip 9.20.1 15.14.1 compress/pixz Dave Vasilevsky 1.0 1.0.6 compress/xz xz 5.0.1 5.2.3 crypto/gnupg GnuPG 2.0.27 2.0.30 database/mysql-55 MySQL 5.5.43 5.5.57 database/mysql-56 MySQL 5.6.21 5.6.37 database/mysql-57 MySQL not included 5.7.17 database/oracle/instantclient-122 Oracle Instant Client not included database/sqlite-3 3.17.0 desktop/project-management/openproj OpenProj 1.4 not included desktop/project-management/planner GNOME Planner 0.14.4 not included desktop/studio/jokosher Jokosher 0.11.5 not included desktop/system-monitor/gkrellm GKrellM 2.3.4 not included developer/astdev93 AT&T Software Technology (AST)
(93u 2011-02-08)
(93u+ 2012-08-01) developer/build/ant Apache Ant 1.9.3 1.9.6 developer/build/autoconf-213 not included 2.13 developer/documentation-tool/gtk-doc 1.15 1.24 developer/gcc-5 GNU Compiler Collection not included 5.4.0 developer/java/jdepend jdepend 2.9 not included developer/meld meldmerge.org 1.4.0 1.8.6 developer/parser/byaccj byaccj 1.14 not included developer/versioning/git Git 2.7.4 developer/versioning/mercurial Mercurial 3.4 4.1.3 developer/yasm Yasm not included 1.3.0 diagnostic/mrtg MRTG 2.16.2 2.17.4 diagnostic/nmap Nmap 6.25 7.50 diagnostic/snort Snort diagnostic/tcpdump tcpdump 4.7.4 4.9.2 diagnostic/wireshark Wireshark 1.12.7 2.4.2 documentation/diveintopython Dive Into Python 5.4 not included editor/vim vim.org 7.3.600 8.0.95 gnome/applet/contact-lookup-applet Ross Burton 0.17 not included image/imagemagick ImageMagick image/library/libpng libpng 1.4.11 1.4.20 image/nvidia/cg-toolkit Cg Toolkit 3.0.15 not included image/scanner/xsane Xsane 0.997 not included image/viewer/gqview GQview 2.1.5 not included library/cacao Common Agent Container library/desktop/cairo Cairo 1.8.10 1.14.8 library/desktop/gobject/gobject-introspection GObject Introspection 0.9.12 1.46.0 library/desktop/harfbuzz HarfBuzz not included 1.0.6 library/expat Expat 2.1.0 2.2.1 library/glib2 GLib 2.28.6 2.46.0 library/gnutls-3 GnuTLS not included 3.5.13 library/graphics/pixman X.Org Foundation 0.29.2 0.34.0 library/id3lib id3lib 3.8.3 not included library/java/java-gnome/java-libvte java-gnome.sourceforge.net 0.12.3 not included library/libarchive libarchive 3.0.4 3.3.1 library/libffi libffi 3.0.9 3.2.1 library/libidn GNU IDN Library 1.19 1.33 library/libmicrohttpd GNU libmicrohttpd 0.9.37 0.9.52 library/libsndfile libsndfile 1.0.23 1.0.28 library/libssh2 libssh2 not included 1.7.0 library/libusb-1 libusb not included 1.0.20 library/libxml2 xmlsoft.org 2.9.2 2.9.4 library/nspr Mozilla NSPR 4.10.7 4.14 library/pcre pcre.org 8.37 8.41 library/perl-5/CGI CGI.pm not included 4.28 library/perl-5/database DBI 1.58 1.636 library/perl-5/net-ssleay Net-SSLeay 1.36 1.78 library/perl-5/openscap OpenSCAP 1.2.3 1.2.6 library/perl-5/xml-parser CPAN 2.36 2.44 library/perl5/perl-tk Perl-Tk 804.31 804.33 library/python/aioeventlet aioeventlet not included 0.4 library/python/argparse Steven Bethard 1.2.1 not included library/python/barbicanclient-27 OpenStack 3.0.1 3.0.3 library/python/ceilometerclient-27 OpenStack 1.0.12 1.1.1 library/python/cffi python-cffi 0.8.2 1.5.2 library/python/cherrypy CherryPy Team 3.1.2 5.1.0 library/python/cinderclient OpenStack 1.1.1 1.3.1 library/python/cliff Paul McGuire 1.9.0 1.10.1 library/python/cryptography cryptography.io 0.8.2 1.7.2 library/python/cx_oracle not included 5.2.1 library/python/django Django 1.4.22 1.11.1 library/python/django_openstack_auth OpenStack 1.1.9 1.2.0 library/python/dnspython dnspython-dev 1.11.1 1.12.0 library/python/eventlet Linden Lab 0.15.2 0.17.4 library/python/fixtures not included 1.0.0 library/python/glance_store OpenStack 0.1.10 0.4.0 library/python/glanceclient OpenStack 0.15.0 0.17.2 library/python/greenlet Ralf Schmitt 0.4.5 0.4.9 library/python/heatclient OpenStack 0.2.12 0.4.0 library/python/idna not included 2.0 library/python/importlib Brett Cannon 1.0.2 not included library/python/ipaddress ipaddress not included 1.0.16 library/python/ironicclient OpenStack 0.3.3 0.5.1 library/python/keystoneclient OpenStack 1.0.0 1.3.3 library/python/keystonemiddleware OpenStack 1.3.1 1.5.2 library/python/kombu Ask Solem 3.0.7 3.0.32 library/python/libxml2 xmlsoft.org 2.9.2 2.9.4 library/python/linecache2 not included 1.0.0 library/python/msgpack not included 0.4.6 library/python/neutronclient OpenStack 2.3.10 2.4.0 library/python/novaclient OpenStack 2.20.0 2.23.2 library/python/openscap OpenSCAP 1.2.3 1.2.6 library/python/openstackclient OpenStack not included 1.0.4 library/python/ordereddict ordereddict 1.1 not included library/python/oslo.concurrency not included 1.8.2 library/python/oslo.config OpenStack 1.6.0 1.9.3 library/python/oslo.context OpenStack 0.1.0 0.2.0 library/python/oslo.db OpenStack 1.0.3 1.7.2 library/python/oslo.i18n OpenStack 1.3.1 1.5.0 library/python/oslo.log OpenStack not included 1.0.0 library/python/oslo.messaging OpenStack 1.4.1 1.8.3 library/python/oslo.middleware OpenStack 0.4.0 1.0.0 library/python/oslo.policy OpenStack not included 0.3.2 library/python/oslo.serialization OpenStack 1.2.0 1.4.0 library/python/oslo.utils OpenStack 1.2.1 1.4.0 library/python/oslo.versionedobjects OpenStack not included 0.1.1 library/python/oslo.vmware OpenStack 0.8.0 0.11.2 library/python/pbr OpenStack 0.8.1 0.11.0 library/python/pint pint not included 0.6 library/python/psutil not included 1.2.1 library/python/pycadf OpenStack 0.6.0 0.8.0 library/python/python-dbus 1.1.1 1.2.0 library/python/python-gtk-vnc not included 0.3.10 library/python/python-mimeparse not included 0.1.4 library/python/saharaclient OpenStack 0.7.6 0.8.0 library/python/semantic-version semantic_version not included 2.4.2 library/python/sqlalchemy-migrate Jan Dittberner 0.9.1 0.9.6 library/python/sqlparse sqlparse not included 0.1.14 library/python/stevedore Doug Hellmann 1.2.0 1.3.0 library/python/swiftclient OpenStack 2.3.1 2.4.0 library/python/taskflow OpenStack 0.6.1 0.7.1 library/python/testresources Testing Cabal not included 0.2.7 library/python/testscenarios Testing Cabal not included 0.5.0 library/python/testtools Testing Cabal not included 1.8.0 library/python/traceback2 traceback2 not included 1.4.0 library/python/trollius trollius not included 2.0 library/python/troveclient OpenStack 1.0.8 1.0.9 library/python/unittest2 Michael Foord 0.5.1 not included library/python/urllib3 not included 1.10.4 library/security/gpgme gpgme 1.5.3 1.6.0 library/security/libassuan libassuan 2.2.0 2.4.3 library/security/libgpg-error libgpg-error 1.12 1.27 library/security/libksba libksba 1.3.2 1.3.5 library/security/nettle Nettle not included 3.1 library/security/nss Mozilla NSS 4.17.2 4.30.2 library/security/ocsp/libpki LibPKI not included 0.8.9 library/security/ocsp/openca-ocspd OpenCA OCSP Responder not included 3.1.2 library/security/openssl OpenSSL library/security/openssl/openssl-fips-140 OpenSSL 2.0.6 2.0.12 library/security/pam/module/pam-pkcs11 OpenSC 0.6.0 0.6.8 library/security/pcsc-lite/ccid PCSClite not included 1.4.20 library/security/pcsc/pcsclite PCSClite not included 1.8.14 library/zlib Zlib 1.2.8 1.2.11 mail/mailman GNU mailman mail/thunderbird Mozilla Thunderbird 31.6.0 52.4.0 media/dvd+rw-tools DVD+RW 7.1 not included media/mtx mtx 1.3.12 not included network/amqp/rabbitmq rabbitmq.com 3.1.3 3.6.9 network/chat/irssi irssi.org 0.8.15 1.0.2 network/dns/bind
service/network/dns/bind ISC BIND
(9.6-ESV-R11-S10) network/firewall/firewall-pflog not included 5.5 network/ftp/lftp lftp 4.3.1 4.7.6 network/open-fabrics OpenFabrics 1.5.3 3.18 network/openssh OpenSSH network/rsync rsync.samba.org 3.1.1 3.1.2 print/filter/hplip hplip 3.14.6 3.15.7 runtime/erlang Erlang 17.5 19.3 runtime/perl-522 not included 5.22.1 runtime/perl-584 Perl community 5.8.4 not included runtime/python-26 Python community 2.6.8 not included runtime/ruby-23 not included 2.3.1 security/compliance/openscap OpenSCAP 1.2.3 1.2.6 security/kerberos-5 Kerberos 1.10 security/nss-utilities Mozilla NSS 4.17.2 4.30.2 security/sudo sudo.ws service/memcached Memcached 1.4.17 1.4.33 service/network/dhcp/isc-dhcp ISC DHCP service/network/dnsmasq Dnsmasq 2.68 2.76 service/network/ftp ProFTPD 1.3.5 service/network/ntp NTP.org
(4.2.8p10) service/network/samba Samba 3.6.25 4.4.16 service/network/smtp/postfix Postfix 2.11.3 3.2.2 service/security/stunnel stunnel 4.56 5.35 shell/bash GNU bash 4.1.17 4.4.11 shell/ksh93 Korn Shell
(93u 2011-02-08)
(93u+ 2012-08-01) shell/tcsh tcsh 6.18.1 6.19.0 shell/zsh Zsh Development Group 5.0.7 5.3.1 system/data/timezone IANA Time Zone database 2015.5
(2015e) 2017.1
(2017a) system/desktop/stardict StarDict 3.0.1 not included system/library/dbus D-Bus 1.7.1 1.8.20 system/library/fontconfig FontConfig 2.8.0 2.12.1 system/library/freetype-2 The FreeType Project 2.5.5 2.8 system/library/libdbus-glib 0.100 0.102 system/library/security/libgcrypt libgcrypt 1.5.3 1.7.8 system/library/security/pkcs11_cackey CACKey not included 0.7.4 system/library/security/pkcs11_coolkey CoolKey not included 1.1.0 system/management/cloudbase-init cloudbase-init not included 0.9.9 system/management/facter facter 2.1.0 2.4.6 system/management/ipmitool ipmitool 1.8.12 system/management/puppet Puppet 3.6.2 3.8.6 system/management/puppet/nanliu-staging not included 1.0.3 system/management/puppet/openstack-cinder not included 6.1.0 system/management/puppet/openstack-glance not included 6.1.0 system/management/puppet/openstack-heat not included 6.1.0 system/management/puppet/openstack-horizon not included 6.1.0 system/management/puppet/openstack-ironic not included 6.1.0 system/management/puppet/openstack-keystone not included 6.1.0 system/management/puppet/openstack-neutron not included 6.1.0 system/management/puppet/openstack-nova not included 6.1.0 system/management/puppet/openstack-openstacklib not included 6.1.0 system/management/puppet/openstack-swift not included 6.1.0 system/management/puppet/puppetlabs-apache not included 1.8.1 system/management/puppet/puppetlabs-concat not included 1.2.1 system/management/puppet/puppetlabs-inifile not included 1.4.3 system/management/puppet/puppetlabs-mysql not included 3.6.2 system/management/puppet/puppetlabs-ntp not included 4.1.2 system/management/puppet/puppetlabs-rabbitmq not included 5.3.1 system/management/puppet/puppetlabs-rsync not included 0.4.0 system/management/puppet/puppetlabs-stdlib not included 4.11.0 system/management/puppet/saz-memcached not included 2.8.1 system/storage/smartmontools smartmontools not included 6.5 system/storage/smp_utils smp_utils not included 0.97 terminal/conman conman 0.2.5 not included terminal/resize Thomas Dickey 0.271 0.320 terminal/screen GNU Screen 4.0.3 4.5.1 terminal/tack 1.0.6 not included terminal/xterm Thomas Dickey 271 320 text/o3read 0.0.4 not included web/browser/firefox Mozilla Firefox 31.8.0 52.4.0 web/browser/w3m w3m 0.5.2 0.5.3 web/curl curl 7.40.0 7.45.0 web/java-servlet/tomcat Apache Tomcat 6.0.44 not included web/java-servlet/tomcat-8 Apache Tomcat 8.0.21 8.5.23 web/php-53 PHP 5.3.29 not included web/php-56 PHP 5.6.8 5.6.30 web/php-71 PHP not included 7.1.4 web/php/extension/php-suhosin-extension suhosin.org 0.9.38 web/php/extension/php-xdebug xdebug.org 2.3.2 2.5.1 web/proxy/squid squid-cache.org 3.5.5 3.5.23 web/server/apache-22 Apache HTTPd 2.2.31 2.2.34 web/server/apache-22/module/apache-sed Apache mod_sed 2.2.29 2.2.34 web/server/apache-24 Apache HTTPd 2.4.12 2.4.27 web/server/lighttpd-14 lighttpd 1.4.35 1.4.41 web/wget GNU wget 1.16 1.18 x11/session/sessreg X.Org Foundation 1.0.8 1.1.0 x11/xfs X.Org Foundation 1.1.3 1.1.4

18 Nov 2017 2:01am GMT

14 Nov 2017


Eric Anholt: 2017-11-14

Another series of VC5 GL features this week:

For VC4, the big news is that we've landed Boris's MADVISE support in Mesa as well now. This means that if you have a 4.15 kernel and the next release of Mesa, the kernel will now be able to clean up the userspace BO cache when we run out of CMA. This doesn't prevent all GL_OUT_OF_MEMORY errors, but it should reduce the circumstances where you can hit them.

I spent a while putting together a backport of all our kernel development for Raspbian's rpi-4.9.y branch. So much has happened in DRM in the last year, that it's getting harder and harder to backport our work. However, the PR I sent brings in fully functional support for the DSI panel (no more purple flickering!) and fix for a longstanding race that could crash the kernel when powering down the GPU (thanks to Stefan Schake for debugging and providing a patch!)

I also fixed the VC4 build and armhf cross-builds with the new meson build system, after Timothy Arceri noted that it wasn't working on his Pi. I'm now happily using meson for all of my Mesa development.

14 Nov 2017 12:30am GMT

07 Nov 2017


Dave Airlie (blogspot): radv on Ubuntu broken in distro packages

It appears that Ubuntu mesa 17.2.2 packages that ship radv, have patches to enable MIR support. These patches actually just break radv instead. I'd seen some people complain that simple apps don't work on radv, and saying radv wasn't ready for use and how could anyone thing of using it and just wondered what they had been smoking as Fedora was working fine. Hopefully Canonical can sort that out ASAP.

07 Nov 2017 7:35pm GMT

06 Nov 2017


Tomeu Visozo: Experiments with crosvm

Last week I played a bit with crosvm, a KVM monitor used within Chromium OS for application isolation. My goal is to learn more about the current limits of virtualization for isolating applications in mainline. Two of crosvm's defining characteristics is that it's written in Rust for increased security, and that uses namespaces extensively to reduce the attack surface of the monitor itself.

It was quite easy to get it running outside Chromium OS (have been testing with Fedora 26), with the only complication being that minijail isn't widely packaged in distros. In the instructions below we hack around the issue with linker environment variables so we don't have to install it properly. Instructions are in form of shell commands for illustrative purposes only.

Build kernel:

$ cd ~/src
$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
$ cd linux
$ git checkout v4.12
$ make x86_64_defconfig
$ make bzImage
$ cd ..

Build minijail:

$ git clone https://android.googlesource.com/platform/external/minijail
$ cd minijail
$ make
$ cd ..

Build crosvm:

$ git clone https://chromium.googlesource.com/a/chromiumos/platform/crosvm
$ cd crosvm
$ LIBRARY_PATH=~/src/minijail cargo build

Generate rootfs:

$ cd ~/src/crosvm
$ dd if=/dev/zero of=rootfs.ext4 bs=1K count=1M
$ mkfs.ext4 rootfs.ext4
$ mkdir rootfs/
$ sudo mount rootfs.ext4 rootfs/
$ debootstrap testing rootfs/
$ sudo umount rootfs/

Run crosvm:

$ LD_LIBRARY_PATH=~/src/minijail ./target/debug/crosvm run -r rootfs.ext4 --seccomp-policy-dir=./seccomp/x86_64/ ~/src/linux/arch/x86/boot/compressed/vmlinux.bin

The work ahead includes figuring out the best way for Wayland clients in the guest interact with the compositor in the host, and also for guests to make efficient use of the GPU.

06 Nov 2017 7:06am GMT

Eric Anholt: 2017-11-06

I spent the last week mostly working on VC5 GL features and bugfixes again.

However, most of my time was actually spent on trying to track down my remaining GPU hangs. Not many tests hang, but fbo-generatemipmaps is one, and it's a big component of piglit's coverage. So far, I've definitely figured out that the hanging RCL has run to completion without error, but without the bit in the interrupt status being set (which is supposed to be set by the final command of the RCL). I tracked down that I had my DT wrong and was treating VC5 as edge-triggered rather than level, but that doesn't seem to have helped.

On the VC4 front, I've been talking to someone trying to rig up other DSI panels to the RPi. It got me looking at my implementation again, and I finally found why my DSI transactions weren't working: I was emitting the wrong type of transactions for the bridge! Switching from a DCS write to a generic write, the panel comes up fine and the flickering is gone.

06 Nov 2017 12:30am GMT

30 Oct 2017


Eric Anholt: 2017-10-30

I spent the last week entirely working on VC5 GL features and bugfixes.

30 Oct 2017 12:30am GMT

27 Oct 2017


Robert Foss: Fixing bluetooth on the XPS 15 9550 on Ubuntu

Why doesn't this work automatically?

The firmware blob that is needed by Broadcom devices is not supplied by default, and it has to be supplied manually.

How To

Download BCM-0a5c-6410.hcd and copy it into /lib/firmware/brcm/ and then reboot your device.

wget https://memcpy.io/files/2017-10-28/BCM-0a5c-6410.hcd
sudo cp BCM-0a5c-6410.hcd /lib/firmware/brcm/
sudo chmod 0644 /lib/firmware/brcm/BCM-0a5c-6410.hcd
sudo reboot

27 Oct 2017 10:00pm GMT

26 Oct 2017


Peter Hutterer: What is libwacom? A library to describe graphics tablets

libwacom has been around since 2011 now but I'm still getting the odd question or surprise at what libwacom does, is, or should be. So here's a short summary:

libwacom only provides descriptions

libwacom is a library that provides tablet descriptions but no actual tablet event handling functionality. Simply said, it's a library that provides axes to a bunch of text files. Graphics tablets are complex and to integrate them well we usually need to know more about them than the information the kernel reports. If you need to know whether the tablet is a standalone one (Wacom Intuos series) or a built-in one (Wacom Cintiq series), libwacom will tell you that. You need to know how many LEDs and mode groups a tablet has? libwacom will tell you that. You need an SVG to draw a representation of the tablet's button layout? libwacom will give you that. You need to know which stylus is compatible with your tablet? libwacom knows about that too.

But that's all it does. You cannot feed events to libwacom, and it will not initialise the device for you. It just provides static device descriptions.

libwacom does not make your tablet work

If your tablet isn't working or the buttons aren't handled correctly, or the stylus is moving the wrong way, libwacom won't be able to help with that. As said above, it merely provides extra information about the device but is otherwise completely ignorant of the actual tablet.

libwacom handles any tablet

Sure, it's named after Wacom tablets because that's where the majority of effort goes (not least because Wacom employs Linux developers!). But the description format is independent of the brand so you can add non-Wacom tablets to it too.

Caveat: many of the cheap non-Wacom tablets re-use USB ids so two completely different devices would have the same USB ID, making a static device description useless.

Who uses libwacom?

Right now, the two most prevalent users of libwacom are GNOME and libinput. GNOME's control center and mutter use libwacom for tablet-to-screen mappings as well as to show the various stylus capabilities. And it uses the SVG to draw an overlay for pad buttons. libinput uses it to associate the LEDs on the pad with the right buttons and to initialise the stylus tools axes correctly. The kernel always exposes all possible axes on the event node but not all styli have all axes. With libwacom, we can initialise the stylus tool based on the correct information.


So now I expect you to say something like "Oh wow, I'm like totally excited about libwacom now and I want to know more and get involved!". Well, fear not, there is more information and links to the repos in the wiki.

26 Oct 2017 11:29pm GMT

24 Oct 2017


Robert Foss: Android on Mainline Graphics @ Embedded Linux Conference EU

Alt text

A recording of the talk can be found here.


If you're curios about the slides, you can download the PDF or the OTP.


This post has been a part of work undertaken by my employer Collabora.

I would like to thank the wonderful organizers of Embedded Linux Conference EU, for hosting a great community event.

24 Oct 2017 10:00pm GMT

23 Oct 2017


Lennart Poettering: Attending and Speaking at GNOME.Asia 2017 Summit

The GNOME.Asia Summit 2017 organizers invited to me to speak at their conference in Chongqing/China, and it was an excellent event! Here's my brief report:

Because we arrived one day early in Chongqing, my GNOME friends Sri, Matthias, Jonathan, David and I started our journey with an excursion to the Dazu Rock Carvings, a short bus trip from Chongqing, and an excellent (and sometimes quite surprising) sight. I mean, where else can you see a buddha with 1000+ hands, and centuries old, holding a cell Nexus 5 cell phone? Here's proof:

The GNOME.Asia schedule was excellent, with various good talks, including some about Flatpak, Endless OS, rpm-ostree, Blockchains and more. My own talk was about The Path to a Fully Protected GNOME Desktop OS Image (Slides available here). In the hallway track I did my best to advocate casync to whoever was willing to listen, and I think enough were ;-). As we all know attending conferences is at least as much about the hallway track as about the talks, and GNOME.Asia was a fantastic way to meet the Chinese GNOME and Open Source communities.

The day after the conference the organizers of GNOME.Asia organized a Chongqing day trip. A particular highlight was the ubiqutious hot pot, sometimes with the local speciality: fresh pig brain.

Here some random photos from the trip: sights, food, social event and more.

I'd like to thank the GNOME Foundation for funding my trip to GNOME.Asia. And that's all for now. But let me close with an old chinese wisdom:

The Trials Of A Long Journey Always Feeling, Civilized Travel Pass Reputation.

23 Oct 2017 10:00pm GMT

Lennart Poettering: All Systems Go! 2017 Videos Online!

For those living under a rock, the videos from everybody's favourite Userspace Linux Conference All Systems Go! 2017 are now available online.

All videos

The videos for my own two talks are available here:

Synchronizing Images with casync (Slides)

Containers without a Container Manager, with systemd (Slides)

Of course, this is the stellar work of the CCC VOC folks, who are hard to beat when it comes to videotaping of community conferences.

23 Oct 2017 10:00pm GMT

Hans de Goede: Improving Linux laptop battery life: Testers Wanted

Edit: linrunner (TLP author) has been so kind as to make prebuilt Ubuntu kernel packages with the patch available.

My next project for Red Hat is to work on improving Linux laptop battery life. Part of the (hopefully) low hanging fruit here is using kernel tunables to enable more runtime powermanagement. My first target here is SATA Link Power Management (LPM) which, as Matthew Garrett blogged about 2 years ago, can lead to a significant improvement in battery life.

There is only one small problem, there have been some reports that some disks/SSDs don't play well with Linux' min_power LPM policy and that this may lead to system crashes and even data corruption.

Let me repeat this: Enabling SATA LPM may lead to DATA CORRUPTION. So if you want to help with testing this please make sure you have recent backups! Note this happens only in rare cases (likely only with a coupe of specific SSD models with buggy firmware. But still DATA CORRUPTION may happen make sure you have BACKUPS.

As part of his efforts 2 years ago Matthew found this document which describes the LPM policy the Windows Intel Rapid Storage Technology (IRST) drivers use by default and most laptops ship with these drivers installed.

So based on an old patch from Matthew I've written a patch adding support for a new LPM policy called "med_power_with_dipm" to Linux. This saves
(almost) as much power as the min_power setting and since it matches Windows defaults I hope that it won't trip over any SSD/HDD firmware bugs.

So this is where my call for testers comes in, for Fedora 28 we would like to switch to this new SATA LPM policy by default (on laptops at least), but
we need to know that this is safe to do. So we are looking for people to help test this, if you have a laptop with a SATA drive (not NVME) and would like to help please make BACKUPS and then continue reading :)

First of all on a clean Fedora (no powertop --auto-tune, no TLP) do "sudo dnf install powertop", then close all your apps except for 1 terminal, maximimze that terminal and run "sudo powertop".

Now wait 5 minutes, on some laptops the power measurement is a moving average so this is necessary to get a reliable reading. Now look at the
power consumption shown (e.g. 7.95W), watch it for a couple of refreshes as it sometimes spikes when something wakes up to do some work, write down the lowest value you see, this is our base value for your laptops power consumption.

Next install the new kernel and try the new SATA LPM policy. I've done a scratch-build of the Fedora kernel with this patch added, which
you can download here. Linrunner (TLP author) has been so kind as to make prebuilt Ubuntu kernel packages with the patch available.

After downloading all the .x86_64.rpm files there into a dir, do from this dir:
sudo rpm -ivh kernel*.x86_64.rpm

Next download a rc.local script applying the new settings from here, copy it to /etc/rc.d/rc.local, and make it executable: "sudo chmod +x /etc/rc.d/rc.local".

Now reboot and do: "cat /sys/class/scsi_host/host0/link_power_management_policy" this should return med_power_with_dipm, if not something is wrong.

Then close all your apps except for 1 terminal, maximimze that terminal and run "sudo powertop" again. Wait 5 minutes as last time, then get a couple of readings and write down the lowest value you see.

After this continue using your laptop as normal, please make sure that you keep running the special kernel with the patch adding the "med_power_with_dipm" policy. If after 2 weeks you've not noticed any bad side effects (or if you do notice bad side effects earlier) send me a mail at hdegoede@redhat.com with:

I will gather the results in a table which will be part of the to-be-created Fedora 28 Changes page for this.

Did I mention already that although the chance is small something will go wrong, it is non zero and you should create backups ?

Thank you for your time.

23 Oct 2017 9:06am GMT

Eric Anholt: 2017-10-23

This week I mostly spent on the 7268, getting the GL driver stabilized on the actual HW.

First, I implemented basic overflow memory allocation, so we wouldn't just hang and reset when that condition triggers. This let me complete an entire piglit run on the HW, which is a big milestone.

I also ended up debugging why the GPU reset on overflow wasn't working before - when we reset we would put the current bin job onto the tail of the binner job list, so we'd just try it again later and hang again if that was the bad job. The intent of the original code had been to move it to the "done" list so it would get cleaned up without executing any more. However, that was also a problem - you'd end up behind by one in your seqnos completed, so BO idle would never work. Instead, I now just move it to the next stage of the execution pipeline with a "hung" flag to say "don't actually execute anything from this". This is a bug in vc4 as well, and I need to backport the fix.

Once I had reliable piglit, I found that there was an alignment requirement for default vertex attributes that I hadn't uncovered in the simulator. By moving them to CSO time, I reduced the draw overhead in the driver and implicitly got the buffer aligned like we needed.

Additionally, I had implemented discards using conditional tile buffer writes, same as vc4. This worked fine on the simulator, but had no effect on the HW. Replacing that with SETMSF usage made the discards work, and probably reduced instruction count.

On the vc4 front, I merged the MADVISE code from Boris just in time for the last pull request for 4.15. I also got in the DSI transactions sleeping fix, so the code should now be ready for people to try hooking up random DSI panels to vc4.

23 Oct 2017 12:30am GMT

19 Oct 2017


Christian Schaller: Looking back at Fedora Workstation so far

So I have over the last few years blogged regularly about upcoming features in Fedora Workstation. Well I thought as we putting the finishing touches on Fedora Workstation 27 I should try to look back at everything we have achieved since Fedora Workstation was launched with Fedora 21. The efforts I highlight here are efforts where we have done significant or most development. There are of course a lot of other big changes that has happened over the last few years by the wider community that we leveraged and offer in Fedora Workstation, examples here include things like Meson and Rust. This post is not about those, but that said I do want to write a post just talking about the achievements of the wider community at some point, because they are very important and crucial too. And along the same line this post will not be speaking about the large number of improvements and bugfixes that we contributed to a long list of projects, like to GNOME itself. This blog is about taking stock and taking some pride in what we achieved so far and major hurdles we past on our way to improving the Linux desktop experience.
This blog is also slightly different from my normal format as I will not call out individual developers by name as I usually do, instead I will focus on this being a totality and thus just say 'we'.

I am sure I missed something, but this is at least a decent list of Fedora Workstation highlights for the last few years. Next onto working on my Fedora Workstation 27 blogpost :)

19 Oct 2017 6:35pm GMT

18 Oct 2017


Christian Schaller: Fleet Commander ready for takeoff!

Alberto Ruiz just announced Fleet Commander as production ready! Fleet Commander is our new tool for managing large deployments of Fedora Workstation and RHEL desktop systems. So get our to Albertos Fleet Commander blog post for all the details.

18 Oct 2017 12:01pm GMT