Tag Archives: Fedora

Fedora 12 Alpha

So recently Fedora released the alpha of their latest OS. I’d been running rawhide for quite a while. Of particular interest is that my RS690 no longer flickers when I move a window that includes an alpha channel, and no longer randomly crashes. I’ve still got to disable modesetting but modesetting currently only stops me from enabling desktop effects.

Particular points I’m enjoying:

  • The desktop wallpaper that has squares on an angled surface is very appealing. The other new desktop wallpapers are very eye catching too.
  • Having 3D rendering working properly on my laptop.
  • The newΒ Fedora 12 Login Theme is music to my ears (except when I have my laptop speakers turned up and it reverbs horribly).
  • EXT4 support seems a bit stronger. Of particular importance barrier based sync now works on LVM metadevices.
  • Dracut has made no discernible difference to boot times and ability to boot.
  • resize2fs is now able to shrink an ext4 partition. system-config-lvm now recognises ext4 and allows resizing it.

Particular points I’m not enjoying:

  • Eclipse is unstable and keeps crashing.
  • Turning off the menu icons in GNOME seems like a bad idea, it makes it harder to recognise each menu.
  • Modesetting stops me from using 3D effects.
  • You can’t drag icons from the menu to the panels or the desktop any more.

Fedora 12 (Constantine) Features

So it appears I called the feature freeze a little early. The feature freeze will actually happen on July 28. You will need to read my other post for features that haven’t changed since then. You can see the official list of features at this page.

New Features

Abrt 1.0

ABRT stands for Automated Bug Reporting Daemon. It is a tool designed to make it trivially easy for a user to submit a bug report when an application they are using crashes. This will require a fully updated system (to ensure you’re not reporting bugs already fixed, and the debuginfo packages for the software you’re reporting the bug for (they will be downloaded on demand). This will mean that should an application crash a popup will appear in the system tray, clicking the pop-up will launch a simple wizard to walk the user through the steps of reporting the bug.

Anaconda MDRaid

This feature involves changing the default RAID type from dmraid to mdraid when using Intel BIOS-RAID devices. Mdraid (Linux Software RAID) holds many advantages over dmraid including RAID 5 sets and better flexibility. In the past the dmraid drivers were built into the initrd and hence the only way to stop them loading would be to rebuild the initrd without them. Of course this was a non-solution as you had to do it every time you upgraded the kernel.

FCoE

Fibre Channel over Ethernet is a recent attempt to reduce the number of cables and interfaces in datacenters. With less switches, cables and interfaces then less cooling is needed and less power is needed, which saves money which is clearly good for companies. So currently to get Fedora working over FCoE you have to play some very interesting tricks. This new feature is aiming to get Fedora 12 to easily install and boot straight from FCoE without any hassle.

Fedora Studio

If you have many multimedia applications installed in Fedora 11 you can end up with a very large menu. This can make it difficult to see all the applications and choose the right one. This feature is about creating submenus for media applications to make it easier to find everything.

GFS2 Clustered Samba

This feature (though I must admit I’m not experienced with samba) allows you to export GFS2 clustered filesystems across samba. This means that you can have high availability samba share. Unfortunately that’s as much as I can tell you. If you want to know more, I suggest you visit the feature page.

KDE 4.3

Keeping Fedoa at the cutting edge of the Linux software world involves keeping the desktop environments up to date. A desktop environment is what the user sees most and what will make the most difference to their experience. KDE 4.3 has many new features including: a new default theme, brand new plasma gadgets, Google Calendar support in KOrganiser and a new bug reporting tool.

KSM

KSM or Kernel SamePage Merging allows KVM to request pages of RAM that are identical between multiple virtual machines be shared. This approach works because visualized guests will be running the same daemons, loading the same kernels and loading a large amount of similar files. This requires a large amount of kernel changes which probably wont make it into the 2.6.31 kernel so will have to be backported.

Mobile Broadband Enhancements

The current black spot in NetworkManagers support is around mobile broadband. Today mobile broadband adaptors are becoming commonplace, but support in Linux is anything but easy. Adding NetworkManager support should make it extremely simple to get your broadband working where ever you are, whatever plan you’re on and whatever device you’re using.

Moblin

Moblin is a Linux platform that is optimised to give a better experience on netbooks. This feature involves the addition of new desktop manager from Moblin Core. Moblin is a complete rethink of the GUI in a way that’s designed to be easy to work on netbooks. Its also integrated with socail networking and all the features the ‘new kids’ want. Check out the intro video.

Gnome 2.28

The plan for Gnome 2.28 hasn’t been completely finalized yet. So I cant tell you what you’ll see, what it will be like or whether this feature will eventually be dropped. You can find a list of planned changes for Gnome overall here and a separate list for each Gnome application here.

KVM NIC Hotplug

This feature add support for hot plugging KVM network interfaces. Having to restart every time you want to add a host to a new network, or give it another interface to load balance over can be a royal pain. Adding a new device simply involves creating a new TAP device and passing its file descriptor to QEMU. Some changes to SELinux will be required but that’s about it.

KVM qcow2 Performance

qcow2 is a disk format for QEMU. Currently though it has a poor performance when using it without a in memory write cache. Unfortunately though storing writes in memory means that in the event of a system crash they may not get written to the physical disk. This feature focuses on improving performance so that administrators don’t feel the need to choose between performance and data safety.

KVM Huge Page Backed Memory

Normally on an x86 CPU the page size would be 4 kilobytes, but the Linux kernel has the ability to use huge page sizes. To find out what size a huge page is in you system type ‘cat /proc/meminfo | grep Hugepagesize:’. On my x86_64 bit system this is 2048 Kb. Large pages require less memory for page tables, which increases performance.

KVM Stable Guest ABI

When QEMU is upgraded some of the devices it emulates may change, for example it may support new network cards or different hard drive controllers. These upgrades are equivalent to upgrading the hardware the guest runs on. Unfortunately if Windows detects that hardware has changed it requests activation. Reactivating all your windows guests can become very tiresome every time you upgrade QEMU. This feature is about providing a stabilized hardware to each guest, and only upgrading on the request of the administrator.

libguestfs

Libguestfs allows you to easily access any filesystem that can be accessed by your qemu virtual machines. It borrows code from the Linux kernel and qemu. This saves application developers from using complicated loopback mounts and LVM (of which there is another feature to improve).

Lower Process Capabilities

The DAC_OVERRIDE capability allows a process to override any file permissions that may be set. If we can remove the DAC_OVERRIDE permission from system daemons then they will become a less attractive target for exploitation. If the filesystem permissions are set in such a way as to protect the files even better (such as 0000 permissions on /etc/shadow and 005 on /bin) then attacking a program with root privileges will be even less attractive. This feature is about dropping DAC_OVERRIDE from some system daemons and modifying file permissions system wide.

NetBeans 6.7

Fedora has always been up to date with the latest cutting edge software. Currently NetBeans 6.5 is in Fedora 11. The plan it to move to NetBeans 6.7 to take advantages of the new features.

Ovirt Node

Ovirt node is a host installation of Fedora that is extremely lightweight. The only items included are utilities to run and manage virtual machines and their dependencies. This takes much less memory, disk and CPU for the host leaving more memory available to the guests and increasing the amount of virtual machines you can run on any host.

Open Shared Root

This feature is extremely interesting to me because as part of my work I manage several High Performance Clusters. This feature is about having multiple Fedora systems all boot off the same root filesystem. This way people who manage a large number of systems can make one completely stateless image that they all boot off.

Power Management F12

A sneak addition to Fedora 11 was tuned, so sneaky I only discovered it recently. It allows the system to tune its setting on the fly. For example on my laptop when there is little filesystem activity it can tune the commit interval so it only has to spin up the HD on rare occasions. It has a plugin architecture so it could also tune the network card to 10Mbits when it is hardly being used, or turn off the wireless network card when it isn’t required. This feature involves merging tuned and Red Hats ktune in order to automatically tune the power usage of your PC.

SystemTap Eclipse GUI

There is currently a focus on making SystemTap easier to use. Currently SystemTap only has a CLI GUI, and while there is a vim syntax highlighter it isn’t installed by default. This effectively means there is no IDE for developing SystemTap scripts. Eclipse is a visual editor for writing many types of applications. SystemTap will no doubt benefit With eclipse integration, maybe we’ll even see automatically generated SystemTap scripts.

Systemtap Tracing Refresh

Originally a feature was proposed for Fedora 12 titled ‘SystemTap Static probes’, but the work required for this feature to become a reality hasn’t been finished yet. So that feature has been re targeted for Fedora 13. Instead this feature will focus on documenting and streamlining the SystemTap tools to provide a better user experience. This work going into this feature also enables the ‘SystemTap Static probes’ for the next version of Fedora.

Rakudo Perl 6

Rakudo is an implementation of the Perl 6 specification under the Parrot Virtual Machine. There are currently many implementations of Perl 6 but this one clearly separates the compiler and the runtime and its more actively maintained than the rest. This feature allows Fedora to stay at the cutting edge of technology.

Thusnelda

Thusnelda is the name of the new Theora encoder. As of the libtheora 1.1 release it is now the chosen encoder for Theora video. Thusnelda’s development was supported by Red Hat, Wikimedia and Mozilla. It should be noted that mplayer and ffmpeg include their own implementation for Theora encoders so this feature will not include those applications that rely on them.

Virtual Network Interface Management

Linux allows some very complicated setups for networking, for instance you can bond multiple physical interfaces for increased throughput or reliability, you can set an inteface to tag VLANs and many more. None of these configurations are easy, and NetworkManager has even made some harder. This feature is especially important when guest machines are involved because they can involde some interesting network setups. This feature will introduce a netcf library to allow the easy configuration of complicated network setups. Netcf will not be integrated with NetworkManager in this release of Fedora, but these features will be designed with future integration in mind.

NFSv4Default

Simply put, this feature is about changing the default NFS protocol for Fedora 12 to NFSv4. NFSv4 includes many improvements over its predecessors but most importantly it uses less traffic to perform the same tasks.

PackageKitBrowserPlugin

Lets say I’m writing a blog post that explains how get SystemTap working on your system. I’d have to tell you what packages you’d need to install in order to get it working. Rather than give you a bunch of yum commands to run wouldn’t it be cool if you just clicked a button on my site. That’s basically what is involved in this feature, it means I can add a button which will prompt you to install the features I’ve told it to.

PackageKitCommandNotFound

Ever typed mplayer into a terminal only to find out it isn’t installed yet? This integrates into bashes command not found message to help you find the program you were looking for. Now instead of bash saying command not found when you type iotop for the first time it will prompt you to install it.

SR-IOV

using QEMU you can assign PCI devices directly to the guests machines, but previously this would stop the host from using it, and it would only be available on the one guest. This feature is about allowing multiple guests and the host to simultaneously access one PCI device. This requires driver support so that the machines can be organised and coordinated to prevent mishaps and errors.

Virt Privileges

This feature allows running QEMU as a non root user. Running with these lower privileges limits the damage that can be done by particular vulnerabilities. Another advantage is that you can have a much better intergration with a users desktop. The guest machine will be able to use that users sound server, put disk images in that users home directories and generally integrate with the desktop better.

VirtioSerial

This feature will create an interface between the userspace on the guest and the userspace on the host. This interface will consist of simple character devices that will be able to alert the guest to windows size changes, or transfer copy/paste data bidirectionally.

VirtgPXE

Every time Red Hat fix a bug in etherboot and send a patch upstream the get the response “we currently do not support etherboot, can you use gpxe instead?”. At the moment gxpe is included in Fedora but is not used by QEMU. The plan for this feature is to deprecate etherboot and move towards gxpa.

Virt Storage Management

At the moment if you want a guest machine to use a SAN for storage you’ll have to set it up manually. This feature plans to make it easier to configure by allowing machines to auto-detect and configure the SAN for the virtual machine.

XI2

XInput2 is a major enhancement over XInput1.5. It opens up X to some very interesting posibilities, for example I could have two keyboards and mice attached to my desktop allowing both me and another person to use two applications on the same screen simultaneously. I could copy something to the clipboard and they could paste it. I could drag a picture into their document from my image editor and so on. Somewhat less exciting is support for 32bit keycodes, instead of 255 allowing even more multimedia keys, support for devices that modify the amount of buttons they have at runtime and so on.

YumLangpackPlugin

Fedora is available in many different languages, but finding and installing the correct langpacks to get the language you want can be very difficult. This feature lets yum find and install the correct langpacks when the base langpack is installed. this makes Fedora much more accessable to people who speak languages other than English.

Dropped Features

Debuginfo filesystem

Dropped due to a lack of status updates

Multiseat

Dropped due to a lack of status updates

SystemTap Static probes

See the SystemTap Tracing Refresh.

Random Thought: I just wrote a 2446 word post about Fedora’s features and you expect me to be able to think afterwards? I’m too tired to think!

A Look forward to Fedora 12 (Constantine)

So, they’ve named Fedora 12 Constantine. Both Constantine and Leonidas are towns in Township in St. Joseph County, Michigan. There is going to be much more to the new Fedora than just a fancy pants new name, so lets look at the accepted features. It needs to be noted that since Fedora has hit the feature freeze stage new features will not be added (except in an exception :P) but may be dropped.

Better Webcam Support

If you’re like me and have a webcam that sends a jpeg (or even worse, a proprietary compression) stream from the sensor through USB then you’ll like this one. The kernel guys have been adamant that JPEG decompression should not be in the kernel. This makes it hard to present a common interface to userspace, as the stream could come in several different formats. To fix this problem drivers are having their decompression code moved out of the kernel and into a new library, called libv4l.Β  libv4l presents a common interface for all the webcams it supports to applications, this includes v4l1 and v4l2 webcams. This feature also involves porting applications (like cheese, ekiga and amsn) to this new library.

DebugInfo Filesystem

Currently should you want to debug a package in Fedora you have to install the often large -debuginfo packages. For example the kernel-debuginfo package is usually around 300Mb compressed. When installed this figure can inflate to up to 400Mb. With enough debug packages installed this can quickly fill your system. Even if you install a debuginfo package often the whole package isn’t required, for example installing the kernel debug information just to write SystemTap scripts or to debug a single module. This feature allows debug information to be installed when required and only what is required. This is most useful when users are reporting bugs, as their machines can resolve the addresses in the backtraces on the fly as bugs are reported. This means we get better bug reports, which leads to easier fixes, which leads to more time, which leads to more features and who doesn’t want more features?

DisplayPort Support

DisplayPort is a new type of connector that was designed to replace DVI and VGA. Designed by the people at the Video Electronics Standards Association (VESA), like its predecessors it is royalty royalty free. It is going to be extremely important for laptops, which will most likely switch to it because it uses less power and DVI and LVDS. Adding support for DisplayPort will be more complicated than others but most of the work will be able to be shared (by putting in Xorg or the kernel).

Dracut

Currently when a Red Hat system boots, it loads the initrd, and starts nash. Nash isn’t really a shell its just enough to get load the correct drivers and to finally load init. To rebuild your initrd (to include an extra drive for example) you use a tool called mkinird. These tools are maintained by Red Hat and they have done the bulk of the development work. A better approach would be to have a common set of tools to build Linux ramdisk images that can be used across many distributions. That is basically what Dracut is, and this feature is about moving Fedora to these new tools.

Empathy

GNOME dropped Pidgin and now heralds Empathy as the official instant messenger application. Empathy includes not only instant messaging, but also voice and video chat. It can connect and voice/video chat to Google Talk and other XMPP/Jabber users. Another awesome advantage with Empathy is that it includes an API to allow other applications to check your status online. Empathy will enhance the Linux Desktop experience and provide an instant messaging experience that Pidgin simply can’t.

LibLVM

Should you currently want to write a program that creates, removes or alters in any way the LVM setup of the machine your only option is to exec the command line tools, and parse the output. While this approach does work (anaconda and system-config-lvm currently work this way) it isn’t perfect. What is really needed is somebody to come along and write a library to directly interface with LVM that works in an object oriented fashion. This library is currently being written for Fedora 12 and according to the project pages it is 25% complete.

Multiseat

With the current economy saving money is as important as ever. Multiseat will allow you to plug two keyboards, mice and monitors into the same computer and allow each to work independently. This effectively allows two (or more) users per computer, saving you from buying two PCs. The last time this support was available was Fedora 8 but it was dropped in order to use the new GDM, ConsoleKit and X.

NetworkManager Improvements

When I first used NetworkManager I hated it, and I immediately disabled it and rolled back to the network service. The second time I used it things went a little better, but I still ended up disabling it. In Fedora 10 NetworkManager worked flawlessly for me and I discovered that NetworkManager was previously working as well as it could with a poorly written wireless driver. Yes, NetworkManager has copped a lot of flak recently but its constantly improving and some of its problems are caused by dodgy drivers. This feature (actually two on the Fedora 12 features page) focuses on getting system connections working (the ones in /etc/sysconfig) and IPV6 support.

NFS Client IPV6

At the moment IPV6 roll outs across enterprises are happening, but not at a fast rate. There is a lack of support for many applications and the nfs client is included, yet Solaris has had support for NFS over IPV6 for years. This adds one more application to the slowly growing list of applications that support pure IPV6.

PolicyKit 1.0

PolicyKit is a tool kit designed to allow applications to request escalated privileges, for example the time/date control panel can request access to set the system time or the shutdown dialog can request permissions to log out other users prior to shutdown. Unfortunately the current PolicyKit design is not flexible enough. Fortunately it’s been redesigned and now the new improved PolicyKit is ready to take over. It now includes a plugin API and you can change exactly what admin authentication means.

Systemtap static probes

So if you haven’t heard of SystemTap you soon will, I’ve got a post on it coming up shortly, but for the moment just think Dtrace for Linux. Anyway, SystemTap lets you monitor the performance of your machine and your applications in ways that you define. For example I can monitor how many reads Firefox makes while sitting idle on my system (quite a lot actually) but at the moment I can’t monitor how many hits firefox gets in its cache, or how fast queries to its built in SQLlite database are. If static probes were inserted into Firefox at these particular points then I could, and this feature focuses on getting static probes into postgresql, xorg-x11-server, openjdk, tcl and finally firefox.

XZ RPM Payloads

XZ is the new version of LZMA which offeres better compression at faster rates. This means that RPMs in Fedora will be smaller and will be able to be downloaded quicker. This feature will mean that more RPMS can fit on each DVD (or CD) allowing a bigger distribution on the same media. This feature will also help users on slower connections who are currently using deltarpms as now the deltarpms will be even smaller.

x86 Improvements

The Processor world is constantly moving forward, making new processors and dropping old ones on the floor. Fedora is also moving forward, and its come time to drop support for some older processors so we can optimise for the newer ones. So the proposal is that for Fedora 12 i586 support be dropped and packages be optimised for the i686 architecture. For me personally this means that my extremely old HP Desktop will no longer run Fedora, but at 800MHz and with 256Mb of RAM I should probably be retiring it soon anyway.

Random Thought: Which distro has the highest version number? RHEL is at 5.4, Ubuntu is at 9.04, Fedora is at 11, Gentoo is 2009.0 and Mandriva is at 2009.1. So I guess Mandriva wins πŸ˜€

Edit (20/7/2009): According to the Fedora 12 Features pages many many new features have been added. A repost will follow in a few weeks.

Edit (6/8/2009): You’ll find the current feature list in my new post titled Fedora 12 (Constantine) Features.