Yesterday marked the release of
Solaris Express 2/06
(or Nevada Build 31). Get it here.
Among other things, about 1150 bugs were fixed. Wow. This release is
pretty vast, with new and interesting features everywhere. If you’re
a desktop user, there’s a lot to love: Realplayer, improved USB support,
USB pilot sync, DVD burning support, much improved font handling
and WiFi support. Let’s dive in…
Notable New Features in Solaris “Nevada”, Build 31 (2/2006)
- The Solaris version of Real‘s RealPlayer was added for both SPARC and x86 platforms, in /usr/bin/realplay.
- The dvd+rw-tools package was added 
- The Gnome-pilot project integrated, and it is now possible to Sync PDAs via
USB, including from Evolution  gpilotd is also provided.
- Changes in the X client code have yielded much nicer looking fonts
for JDS applications. (I’m a big fan of this fix!)
- X.org was upgraded to X11R6.9 RC 4
- The nautilus cd-burner finally works 
- In the printing subsystem, ‘localhost’ can now be used as a hostname for
lpadmin instead of using a hardwired hostname– this is useful if your laptop
changes names (say, via DHCP)   .
- The st(7d) driver gets several updates: support for the
T10000 tape drive , and the IBM 3592 drive .
- Support was added for the for Summit-E HBA, Emulex’s PCI-E 4G Fibre Channel
HBA  and the Pyramid-E HBA, Emulex’s PCI-X 4G Fibre Channel HBA
- UFS picks up support for posix_fallocate(3c), a standard interface
to reserve disk space for a file .
- The ZFS team delivered numerous performance fixes, including:
- Many other ZFS bugs were fixed, including
 and quite a number more.
- Additionally, a number of bugs in the ZFS gui were fixed.
x86/x64 Platform Support
- A 64-bit glm driver for x64 was delivered. This driver supports
LSI 53c810, 53c875, 53c876, 53C896 and 53C1010 SCSI chips.
- Compatibility with the USB controller on the Sony Z1WA,
Sony Vaio PCG-V505DX and Acer Ferrari 4005 laptops
(and probably on others) was improved– in particular USB
2.0 ports should now work at full speed, rather than a USB 1.x
- The ACPI interpreter was updated to the Intel ACPI CA 20050930 source drop
- The gfx_private module was delivered for x86/x64. This module will be able
to provide services to future graphics card drivers; it provides the ability to
allocate buffers for DMA, to find PCI/AGP/PCI-E devices by a combination of
vendor-id/device-id or PCI bus/device/fucntion, to read and write to PCI config
spaces for devices not owned by the graphics driver, the ability to create a KVA
mapping to an arbitrary contigous physical address range with the correct cache
attributes, and the The ability to translate a KVA/UVA to physical address.
- LSI SAS 1064 support was enabled on Ontario (T2000) systems.
Additionally, raidctl(1m) now supports RAID 0 on hardware controllers which
- libc_psr (processor-specific libc) was delivered for
UltraSPARC-IV+ processors, providing a speed boost to memmove(),
memcpy() and other memory intensive operations. memmove()
is in some cases twice as fast.
- A significant complaint about zones has been corrected with the
fix for . It is now easier to construct a minimized system
which includes zones, without pulling in Java and other toolkits.
- The Resource pools facility has been brought under the control of
SMF via two new services, svc:/system/pools and
- The Greyhound project integrated, providing an
Greyhound simplifies and significantly accelerates the SSL/TLS protocol
implementation by pushing the handshake and records processing into the kernel.
The proxy supports the most commonly used cipher suites. Applications (e.g. web
servers) may be enabled to off-load the handling of the SSL operations with
those cipher suites to the proxy, and seamlessly fall-back to their existing
user level SSL library for the others.
- dirname and basename were rewritten as C programs, providing much improved
- A performance enhancement for multiprocessor systems called “soft rings”
was implemented in the network driver framework (“Nemo”). This helps
to spread the load of an incoming workload out across multiple CPUs
- MediaLib now provides libraries tuned for the UltraSPARC-T1 CPU, and
MediaLib and libmvec received faster versions of sinf,
cosf, sincosf and others.
- Support for Keyspan USB
serial adapters was added.  
- Support for Prolific USB
serial adapters was added. 
- The ixgb (Intel 10 Gigabit) driver was updated to support Jumbo frames and
hardware checksum offload. Additionally, the driver was ported to the Nemo
Framework, so it picks up all of the benefits thereof, including vlans,
etc.   
- The chs(7d) and dbri(7d) drivers were EOF’d (removed).
- The WiFi project, previously available on opensolaris.org,
was folded into the mainline release. This includes the command line
wificonfig and the Atheros AR5212 802.11b/g driver (I’m
using the wifi support to type this blog entry…).
- The USB hub driver now includes support for power budgeting .
- Support for Logitech mx900 mice was added.
- Power management for the new Sun optical mouse was added. 
- Ipod shuffle’s should work again. 
- The pktool (which manages PKCS#11 token object storage)
command line interface has been updated to include alternate token
support (such as is proved by the SCA-4000
card) and pktool‘s command line interface has been reworked.
- Support for the Sun Crypto Accelerator 500 and 1000 cards was added via
the dca(7d) driver was added. Previously, support for these cards was
- The kernel cryptographic API was updated to provide support for session
based cryptographic functions.
- The AES kernel cryptographic provider now supports CTR (counter) mode
Fault Management Architecture (FMA)
- The FMA Transport Layer was integrated; this extends the scope of
FMA beyond a single fault region, and allows fault managers to cooperate
with each other. This allows e.g. coordination between a fault manager
running on a service processor with one in a Solaris instance. This is
important because some error telemetry may be visible to the SP, and
some to Solaris– accurately diagnosing the fault requires access to
all of the information.
- FMA support for the UltraSPARC-T1 CPU
and Memory subsystems was integrated. The T1 supports diagnosis of failures
at the thread and core level, and the OS can offline failing components
of the CPU as needed.
- A more sophisticated page-retire system was implemented for
big Sun-Fire servers (V1280, 2900, 4800, 4900, 6800, 6900, 15K, 25K).
In particular, Solaris and the Service processor can now cooperate
to track the serial numbers of DIMMs, so that more automated diagnosis
and tracking of DIMM faults can be achieved. Additionally, information
available from the service processor about UniBoard data path faults
can now be gathered by Solaris and used by the fault manager to
aid diagnosis, and to guide the isolation of the fault. On relevant
platforms, a new datapath-retire diagnosis agent is provided.
OpenSolaris related activity
We have lots of community contributions this time around– here’s a rundown:
- We’re in the final stretches of our effort to clean up the source code
to be cleanly compilable using gcc. In this release we’ve got 74
more bugs worth of gcc cleanup taken care of.
- The long-awaited source tree split, which internally restructures
the code based into “open” and “closed” trees, is complete. This is
important because it makes it much easier to deliver the OpenSolaris
source base to the community quickly and accurately. Mike Kupfer,
who did this work, has written an extensive blog
entry describing the work.
- Contributed by Juergen Keil:
 runtime linker may respect LANG and LC_MESSAGE more than LC_ALL  update pci interrupt line information after configuring pci interrupts  ehci_detach panics debug kernel with a failed assertion with ALi USB2.0 PCI card  SUNWvolr preinstall script broken, smf "smserver" service disabled  hidparser shouldn't use signed chars when computing max packet size  # key cannot be used in polled mode with a german layout ps/2 keyboard
- Contributed by Rich Lowe:
- Contributed by Michael Berger:
 comments in /usr/src/uts/i86pc/io/agpgart/agptarget.c are not correct
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Technorati Tag: Solaris