Lumina Desktop 0.8.6 Released!

Just in time for PC-BSD & FreeBSD 10.2 (coming soon), the Lumina desktop has been updated to version 0.8.6! This version contains a number of updates for non-English users (following up all the new translations which are now available), as well as a number of important bug-fixes, and support for an additional FreeDesktop specification. The PC-BSD “Edge” packages have already been updated to this version and the FreeBSD ports tree will be getting this update very soon as well.

In addition, the Lumina desktop now has its own website! While we are still working on cleaning up some of the visuals, all the information about Lumina (how to download/install it on various OS’s, a summary of the features, description of the project, screenshots, etc..) is all there and up-to-date. We are also working on a full handbook for Lumina (similar to the PC-BSD/FreeBSD handbooks) which can also be viewed directly from the website. Please check it out and let us know what you think!

 

Changes Since 0.8.5:

  1. Localizations
    • Add the ability to set system-locale overrides (used on login), allowing the user to “mix” locale settings for the various outputs.
    • Add the ability for the user to switch the locale of the current session on the fly (all locale settings changed for the current session only), and these settings will be used when launching any applications later.
    • Fix up the translation mechanisms of the Lumina interface, so everything will instantly get re-translated to the new locale.
    • More languages are now fully translated! Make sure to install the x11/lumina-i18n port or pkg to install the localizations and enable all these new features!
  2. Add support for the “Actions” extension to the XDG Desktop specifications.
    • This allows applications to set a number of various “actions” (alternate startup routines) within their XDG desktop registration file.
    • These actions are shown within Lumina as new sub-menus within the Applications menu as well as in the User button (look for the down arrow next to the application icon).
  3. Change the Lumina OSD to a different widget – allowing it to be shown much faster.
  4. Add new “_ifexists” functionality to any session options in luminaDesktop.conf. This allows the distributor to more easily setup default applications (browser, email, etc..) through an intelligent tree of options (which may or may not be installed).
  5. Bug Fixes
    • Apply a work-around for new users which fixes a bug in Fluxbox where the virtual desktop windows could still be changed/closed by various Fluxbox keyboard shortcuts. If an existing user wants to apply this fix, you need to replace your ~/.lumina/fluxbox-keys file with the new Lumina default (/usr/local/share/Lumina-DE/fluxbox-keys) – which will overwrite any custom keyboard shortcuts you had previously setup.
    • Fix some bugs in the new window detection/adjustment routines – fixing up issues with full-screen apps that change around the X session settings to suit their own temporary needs.
    • Fix a couple bugs with the automatic detection/load routines for the new QtQuick plugins.
    • Add in the “Ctrl-X” keyboard shortcut for cutting items in the Insight file manager.
    • Fix up the active re-loading of icons when the user changes the icon theme.

 

FreeBSD 10.2-RC2 Now Available

The second RC build of the 10.2-RELEASE cycle is now available.

Installation images are available for the amd64, i386, ia64, powerpc, powerpc64, and sparc64 architectures.

FreeBSD/arm SD card images are available for the BEAGLEBONE, CUBOX-HUMMINGBOARD, GUMSTIX, RPI-B, PANDABOARD, and WANDBOARD kernels.

FreeBSD 10.2-RC2 is also available on several third-party hosting providers.

See the PGP-signed announcement email for installation image checksums and more information.

FreeBSD 10.2-RC2 Available

The second RC build for the FreeBSD 10.2 release cycle is now available. ISO images for the amd64, armv6, i386, ia64, powerpc, powerpc64 and sparc64 architectures are available on most of our FreeBSD mirror sites.

BSDCan 2015 Trip Report: Mark Linimon


I arrived two days early so that I could recover from the first stage of my vacation preceding the conference, and then socialize.  (The latter can be an advantage because trying to carry on a conversation in the larger groups later in the week can sometimes be daunting.)  To some extent this was just a continuation of my vacation (i.e. funded out of my own pocket.)

Glen and Deb and I started off with an evening of conversation over dinner.  This was mostly a "well, where are we now?" discussion.  Glen and I adjourned later for a discussion of ports build infrastructure that eventually wound up with us toasting the memory of some departed four-legged friends.

As the various members of the Ports Management Team arrived over the next few days, I began spending time with them in various informal sessions.  Ports remains my main area of interest.

Wednesday was the first day of the devsummit.  I attended the nested kernels session which I will happily admit was over my head.  I was also interested to hear how Isilon manages their use of FreeBSD.

Thursday morning brought the documentation session by Warren Block. Warren has many new ideas. While translations are not my interest, Warren is thinking about ways to bring people into the translation project that involve finding ways to lower barrier of entry.  In particular, he is experimenting with technology that would allow non-technical users to contribute to a translation dictionary without having to have commit rights.  (Later, actual commits would be vetted.) I found persuasive the idea that we are excluding "people with an interest in documentation but no grasp of our documentation build processes" from participating.  This is an object lesson that my own viewpoint has been too narrow and based on my own past experience with various markup languages.

Thursday evening I was asked to sit in on the portmgr meeting.  We spent several hours going over "where are we now and where do we want to go".  Within the last 12 months we have finally acquired enough hardware to be able not just to build the bare-minimum packages and experimental (exp-) runs, but also to think about what our ideal build procedures should look like, and what kind of analysis tools that we need.  Some of those ideas are still under active discussion, but I think I can comment about the following:


  •  Establish some "publish criteria" before declaring a quarterly branch as the "new" official branch.  Right now there are no criteria other than trying to read through lists of error summaries. We need to be able to create some kind of automated figure-of-merit for each particular build.  My view is that portsmon could be augmented to help with this, but in any case, we need this functionality.

  • It is difficult to evaluate regressions on individual runs.  A "test instance" of portsmon should probably be used to do this.  A method already exists to display these data but even the portmgrs do not understand it well.  (FWIW, portsmon does not "know" what builds are -exp builds; it treats all build inputs the same.  It would be far easier to instantiate a separate "test" portsmon that takes input from those builds to display to those specifically interested, than to rearchitect the UI.  This would continue to keep those data out of the current instance, which is intended for the general public as well as ports infrastructure developers.)  (In fact, the development instance in Austin does exactly this, as well as gather occasional test results from my tier-2 machines here.  I am used to it, but others would most likely be confused.)

Friday brought the first day of BSDCan proper.  The key talk that I wanted to see was about QEMU package builds.  I retain an interest in the tier-2 architectures.  I believe that supporting multiple architectures helps keep FreeBSD more robust.  Sean Bruno and Stacey Son have made a great deal of progress on the cross-build poudriere environment.  Of particular interest was Stacey's list of what work remains to be done to complete the emulation.  There is, of course, a tradeoff curve between how complete the emulation of (e.g.) syscalls is, and how many real-world use cases are affected.  No emulation can ever be pefect, of course.

I also attended the afternoon network performance presentation.  I do not have enough in-depth knowledge of the network system to understand all the implications, but was interested to pursue whether some of the framework could help us to do more general performance testing such as Kris Kennaway used to do.  This is an area that I think we should spend effort on.

The most important session on Saturday was on packaging the base system. I expected this talk to be more controversial than it was.  (Perhaps everyone was beginning to get tired ...)

There is a great deal of work that has been done so far, but it seems there is still some distance yet to go.  One of the next problems to face will be to define "what do we consider a FreeBSD base system to be". However, there are already some variations on the theme, among the more notable being nanobsd, crochet, and freebsd-wifi-build.  IMHO each ofthese is an incompatible attempt to solve the same underlying problem. If it is possible to create one solution that will encompass all these attempts, it will be a big achievement.

Summary: lessons learned:

It's hard to overstate the importance of the "hallway track".  Among the people who I was able to reconnect with (including Glen as mentioned above) were Sean Bruno, Gavin Atkinson, Stacey Son, Justin Hibbits, and Marcel Moolenaar.  A lot of good ideas get kicked around there as well.

Another lesson that I learned the hard way last year is that it's physically impossible for me to attend every single session and then every hacking lounge and every nightly social activity.  I was much more judicious in pacing myself and this helped me not wear out as early on as I did last year.

All in all I got a much better idea of what areas we need to work on for the rest of the year by attending the conference.

mcl



Announcing MATE 1.10.0 for FreeBSD!

Presenting the MATE 1.10.0 Desktop Environment for FreeBSD. The official release notes for this release can be found at http://mate-desktop.org/blog/2015-06-11-mate-1-10-released/This version of MATE is still built on the GTK+ 2 toolkit.Replace mate-dialogs with zenity and mate-calc with galculator.Thanks go to Gustau Perez for helping track MATE development.

Essen Hackthon 2015 — last day status

I committed the 64bit support for the linux base ports (disabled by default, check the commit message), but this broke the INDEX build. Portmgr was faster than me to revert it. All errors are mine. I think most of the work is done, I just need to find out what the correct way is to handle this make/fmake difference (malformed conditional).

Share/Save

Essen Hackathon Status report — 2nd day

I had a look at the open PR’s for a quick-win and found one where the dependencies where incomplete. Fixed.

Then I reviewed Alan Jude’s patch for 64bit linux_base-c6 ports (on amd64). Looks good so far. Just a few minor issues. I took the time to get familiar with reviews.FreeBSD.org and the arc command line tool, applied the patch to my source tree, worked a while on merge-conflicts, added some minor changes, and validated the download of the 32bit RPM’s of the linux_base-c6 port.

In between I also discussed/reviewed some fixes for docs with Dru, signed some PGP keys, and served as a source for a funny picture (at least what geeks/nerds consider a funny picture). I also checked how to allow multi-cast in jails. There is a PR with a patch inside, but it’s IPv6 only. I did something similar for IPv4 and compiled a kernel. No compile time issues, but as the system where I can easily test this is at home, I prefer to be in front of the box in case it panics (that tells something about my confidence level of my patch… no idea if what I do there is actually correct… ENOCLUE about the network code in the kernel).

TODO for the last day of the Hackathon:

  • validate all RPM’s (download / distinfo) of the ports which changed
  • validate the install/deinstall of the 32bit version of the ports for regression
  • validate the 64bit install/deinstall for at least the linux base port (more if time permits tomorrow)

Share/Save

FreeBSD 10.2-RC1 Now Available

The first RC build of the 10.2-RELEASE cycle is now available.

Installation images are available for the amd64, i386, ia64, powerpc, powerpc64, and sparc64 architectures.

FreeBSD/arm SD card images are available for the BEAGLEBONE, CUBOX-HUMMINGBOARD, GUMSTIX, RPI-B, PANDABOARD, and WANDBOARD kernels.

FreeBSD 10.2-RC1 is also available on several third-party hosting providers.

See the PGP-signed announcement email for installation image checksums and more information.

FDT overlays in FreeBSD

FDT overlay is an extension to FDT format that lets user to modify base FDT run-time: add new nodes, add new properties to existing nodes or modify existing properties. It’s useful when you have base board and some extension units like cape/shield for Pi/BBB or loadable FPGA logic for Zynq. I will not go into details you can find internals described on Adafruit or Raspberry Pi websites.

When dealing with overlays there are two options where to handle them: loader or kernel. Managing overlays at kernel level gives more flexibility but requires more related logic, e.g. re-init pinmux after applying overlay, re-run newbus probe/attach. On the other hand loader-level support is quite straightforward and involves nothing but DTB modifications and it’s a natural first step to adding FDT overlays to FreeBSD.

Proposed solution is to add fdt_overlays variable that contains coma-separated list of dtbo files, e.g.: “bbb-no-hdmi.dtbo,bbb-4dcape-43.dtbo”. This variable can be defined either as a loader(8) variable or as a u-boot env variable. During the boot ubldr load base DTB and right before passing control to the kernel it would go through files, load them from /boot/dtb/ direсtory on root partition and apply to the base blob. Final DTB would be passed to kernel.

You can find patch and review comments to it on Differential site: D3180. It contains:
- Extension to dtc to generate dynamic symbols and fixup info.
- ubldr fdt_overlays support

As Warner Losh mentioned it’s not clear yet how to deal with dynamic symbols support patch. It’s not part of official dtc tree though it’s accepted by RPi and BBB communities.

Essen Hackathon status report — 1st day/evening

The Essen Hackathon 2015 starts. More or less around 6pm people started to show up (including myself). The socializing session (BBQ) had some funny/interesting stories, and provided already some interesting topics to have a closer look at.

Possible candidates where I can provide some input are around DTrace: How to use it (but probably Sean Chittenden has some much more interesting DTrace things to show) and how to add SDT probes to the kernel.

On the ports side I want to get some insight into the USES framework, to see if it may be easy to convert the linuxulator ports to it or not. Maybe I can also have a deeper look into patches for the 64bit side of the linux_base ports.

Share/Save

FreeBSD 10.2-RC1 Available

The first RC build for the FreeBSD 10.2 release cycle is now available. ISO images for the amd64, armv6, i386, ia64, powerpc, powerpc64 and sparc64 architectures are available on most of our FreeBSD mirror sites.

FreeBSD 10.2-BETA2 Now Available

The second BETA build of the 10.2-RELEASE cycle is now available.

Installation images are available for the amd64, i386, ia64, powerpc, powerpc64, and sparc64 architectures.

FreeBSD/arm SD card images are available for the BEAGLEBONE, CUBOX-HUMMINGBOARD, GUMSTIX, RPI-B, PANDABOARD, and WANDBOARD kernels.

FreeBSD 10.2-BETA2 is also available on several third-party hosting providers.

See the PGP-signed announcement email for installation image checksums and more information.