alanc @ sun.com

Alan Coopersmith’s blog

Random thoughts of a disorganized mind...
(and though it should be obvious, while Sun pays me to think about things, they disclaim any responsibility for these thoughts, nor do I claim what I say matches in any way what Sun thinks)

Loading...
http://blogs.sun.com/alanc/date/20050614 Tuesday June 14, 2005

Solaris Express changes for desktop users

Along with the rest of the OpenSolaris downloads made available today, was a new Solaris Express: Community Edition, which like the current Solaris Express is based on the "Nevada" development branch of Solaris. While the bits released are the same, the community edition comes out more often, and with less testing first, to allow building, testing and debugging OpenSolaris with the same bits the engineers have internally. Once testing is done, one out of every two or three releases should be promoted to the main Solaris Express program, for those who like living near the cutting edge, but not right on it.

So the first community edition release today is build 16 of the "Nevada" branch of Solaris. The latest Solaris Express release was Solaris Express 4/05, which was build 10 of the "Nevada" branch. I imagine Dan or the Alan from Down Under will put together their usual lists soon covering the entire feature set, but I've already got a list gathered of changes you'll see in the Solaris desktop software consolidations (X, CDE, JDS, etc.) when you move from build 10 to build 16, so I figured I'd go ahead and post it. Some, but not all, of these changes should also be in Solaris Express 6/05, with the rest coming in the Solaris Express release after that.

Unfortunately, since these desktop components are not yet part of OpenSolaris, their bugs aren't yet available on the bugs.opensolaris.org portal yet either, so I can't link to the bug database for more info on them yet.

  • Once again, new login screen graphics. (The "squiggles" didn't compress well for remote display or low-bandwidth Sun Ray, like the people in Sun's Sun-Ray-at-home internal pilot program.) Also, a 1400x1050 graphic size is added for all the laptop users.
  • Java Desktop System theme changes to match the upcoming JDS3 for Linux release. The Java coffee cup is back in the default background and the curved lines in the background don't clash with the icons as much. The Launch menu button is changed to look like a single button instead of a Java button next to a launch button.
  • Sun Update Connection icon in the JDS toolbar.
  • Updated versions of Xorg's nv (open source nVidia) & i810 (Intel 8xx & 9xx series chipsets) drivers to support newer hardware. [These are both updated to the X.Org CVS versions from around March 2005.]
  • Added libraries and clients for extensions created by XFree86:
    • programs (in /usr/X11/bin): xgamma, xrandr, xvidtune, xvinfo
    • libraries (in /usr/X11/lib): libXxf86misc.so.1, libXxf86vm.so.1
  • SPARC OpenGL upgraded to Sun's OpenGL 1.5 alpha release
  • Mesa open-source OpenGL-workalike for Xorg included on Solaris x86/x64.
  • Xscreensaver OpenGL modules now shipped on Solaris x86/x64 too. (Were previously SPARC-only since we had no x86 OpenGL support.)
  • agpgart kernel driver and Xorg server support (only used by the Xorg driver for Intel 8xx & 9xx series chipsets though) [See the OpenSolaris X Window System community announcements page for links to the sources integrated into X.Org CVS for this.]
  • Virtual mouse and keyboard drivers in the kernel make all USB & PS/2 keyboards and mice available via /dev/mouse and /dev/kbd, so you no longer need to manually configure your X config files to support multiple devices, and hotplugging additional devices simply works. If you open one of the other mouse or keyboard device files directly, it splits it out of the coalesced virtual devices and lets you access directly, if you need special configuration for specific devices.
  • Bugs in 3-button mouse emulation in both Xsun & Xorg have been fixed.
  • xorgcfg GUI tool provided for configuring xorg.conf files for Xorg.
  • libXext is now compatible with the XFree86/Xorg flavor of Xinerama. (See my June 2nd blog post for details. )
  • gdm2 better configured to work on Solaris (reboot & shutdown commands properly set, etc.)
  • JDS no longer locks up the keyboard when displayed to foriegn X servers like Xvnc or Exceed.

Though as I mentioned, these bits are from a development release, not fully debugged yet, so there's a couple of things to watch out for as well:

  • If you've installed the nVidia accelerated driver and upgrade to build 16, you need to reinstall that driver after upgrading since it clashes with the Mesa OpenGL in this build. That will be fixed in the future as we work on integrating the nVidia driver directly into Solaris.
  • If you're using an Xorg configuration file with multiple mouse devices, make sure the /dev/mouse device comes before the /dev/kdmouse or your system may hang on Xorg startup if you don't have a USB mouse plugged in. (Alternatively, delete the kdmouse device and just use the virtual mouse via /dev/mouse.) This is bug 6275666, fixed in Nevada build 17.

[] [] []

Opening Day

access(2) OpenSolaris As you may have noticed, the release of the first big batch of code from OpenSolaris project today is being accompanied by blogs from many of the Solaris engineers. When you read these blogs you'll see most of the engineers are writing about the parts of the code they know best. Unfortunately, for me, that's the parts not yet released. (There are a couple of lines of code here and there from me that I submitted as suggested fixes in bugs I filed, but I've never checked in any code directly to the source tree the released code comes from.)

Why is that? Because of the way Solaris is built - it's not one single monolithic source tree, but instead organized into chunks called "consolidations." Today's first phase is a single consolidation, called "OS/Networking" or ON for short, which contains most of the Solaris kernel, drivers and core utilities. The consolidation most of my work goes into is simply called "X", and includes both the Xsun & Xorg source trees for Solaris, but not the Xsun device modules. Other consolidations include CDE/Motif, JDS, Graphics and Networking drivers, Developer Tools, Administration/Installation, and so on. Each consolidation manages it's own source trees and builds, and delivers the built packages to a central dock where all the consolidations are combined into the Solaris WOS ("Wad of Stuff") which is the CD or DVD set delivered to the users.

Since Solaris is huge, instead of waiting until everything was ready for release, a staged plan was developed for OpenSolaris, starting with the consolidation at the core of the OS and then working out to the higher layers. Now that ON is out and the infrastructure used is set up, we're starting to work out how to release code from other consolidations. Once everything is in place for additional consolidations to be added to OpenSolaris, the next phase will probably be the source trees that come from open source releases and are thus not needing as much work to separate out the bits that can be released from those that can't, and that is expected to include our Xorg server source tree.

Of course, if you want to build Xorg for Solaris, you don't need our changes - there's not actually much you need that's not currently in the X.Org CVS repository on freedesktop.org. There's even stuff there that's not yet in our builds, like the experimental support for building 64-bit Xorg servers for AMD64 machines. Our Solaris builds are based on the Xorg 6.8.2 source tree, with various changes backported from the CVS head, such as the newer ATI, nVidia, and i810 drivers, and a few small customizations. Some of those can be enabled in the open source builds by using the BuildLikeSun Imake option recently added to CVS to document some of our customizations. The rest we'll be working on getting out there later this year.

We've also set up a "X Window System" community on the new OpenSolaris.org website where you can find out more information about the status of our X source releases, and talk to the engineering teams and other users. Come join us over there if this part of OpenSolaris interests you!

[] [] []