There have been a number of questions regarding problem with starting X after the recent security update. This email is an attempt to summarize the situation, provide insight, demonstrate the process as a whole, and clear up some confusion with the solution. Solution: It is believed that anyone who runs 'yum clean all; yum update' at this time will have the problem fixed. Praise for the SL community from Pat and Connie: The community immediately started working together to get this resolved. The attitude expressed by the 20+ emails on the list was generally wonderful. Helpful details were given, explanations were provided to people of all sorts of skill sets - in general people started pitching in and being wonderfully helpful. People mostly provided fixes or troubleshooting information. Thanks for that, it means a lot witnessing how helpful everyone on the list can be in times like this! Cause: At the root of the problem was the security update for xorg-x11-server published on July 9th. The problem was caused by a change in the module ABI for loading xorg drivers that happened in SL6.2. That change was a bugfix and not a security update, so it was not pushed out to earlier releases. The security update for xorg-x11-server uses the new ABI. The package, however, does not force the use of these newer drivers though any rpm dependency tools - such as requires, conflicts, or obsoletes. Thus the xorg-x11-drv update can be installed without incident, even though it will not work as expected. Our usual dependency resolution process is unable to locate and report dependencies that are not listed by the package. The change in the ABI happened with SL6.2, but none of the xorg packages were security errata at that time. So, we didn't catch the problem then as we didn't have to integrate the 6.2 ABI with the 6.1 ABI. On the period in testing: The xorg-x11-server package was in the sl-testing repository for 12 days before the date of release. I received a few reports from people who tested the packages while they were in testing. It appears that those testers were on 6.2 and thus didn't run into the incompatibility problem. There were no problems reported with this package during the testing window. I tested these packages. My test system was SL6.2 and uses the ERRepo nvidia kmod. So I did not encounter any problems. Details on the solution: Several packages that were present in SL6.2 have been placed in the security tree for SL6.1 and SL6.0.[1] They have been working on 6.2 for some time now, and I have many reports of things working as expected for people using them. SL6.0-SL6.2 have also received some driver updates that will be present in SL6.3. It is believed that this is exactly what upstream has done for their release. Forward looking resolution: A bug has been filed with upstream to have the 'conflicts' section updated. The upstream bug number is 840078. If the fix listed there is placed in the next version of this rpm by upstream the problem should not reoccur. Answers to common questions: Q: Who was affected? A: Anyone who was running Scientific Linux 6.0 or 6.1 and dependent on the xorg-x11-drv provided drivers for running the X server. Q: Why didn't you just automatically include all the drivers? A: We provide the older point releases as an attempt to provide a reasonably unchanging platform. Many of our users have their applications certified with very specific versions of things. When putting new security packages in older releases our approach is simply, "If nothing forces me to add this package I wont add it." Nothing in the package itself said that these drivers were required for functionality. Furthermore, with SL6.2 the x11-xorg-drv-* packages provided with the initial release seem to work just fine with this new xorg-x11-server package. This is part of the upstream attempt to preserve a consistent ABI. Usually when the ABI changes this is noted in either a 'requires' section or a 'conflicts' section. Q: Shouldn't I just get new drivers every time there is a new X? A: Not necessarily. For example, with SL6.1 the wacom and xgi drivers were identical to the SL6.0 packages. Upstream didn't update them for that release. And with 6.3 the only updated drivers are currently for ati, intel, mga, and wacom. If they didn't rebuild it there shouldn't be a need for us to rebuild it. Q: Can you just make it your policy to release X drivers every time there is a new X? A: If this is something you need, I would encourage you to instead move to the 6x release. As we are trying to keep the releases as unchanging as possible while remaining secure. Adding non-security packages only happens to resolve dependency issues. Q: Some of these packages are from February, aren't they too old? A: No, the packages from February are those that came with SL6.2. They have been working for a while with the updated xorg ABI. The packages are 'new' to 6.1 and 6.0, but have been around since February as a part of the SL6.2 tree. Q: Why did it take 3 days to fix? A: Many of the early problem reports required additional research. Several of the people reporting problems are many hours off from the people working with them to get more information. Additionally, several users were quick to discover moving to 6.2 corrected the issue. This was wonderful, however, many people simply moved to SL6.2 rather than installing the packages posted to testing. This makes sense as SL6.2 was available instantly, while the testing packages were being assembled and having their dependencies checked. This is not a criticism of that solution. However, getting independent verification that the packages in testing actually fixed the problem was a priority before they got pushed out. If they had compounded the issue rather than resolving it, the additional problems would have further made a mess of things. Once reports came in from two community members that the packages in testing fixed the issue, they were pushed. [1] list of 6.2 packages published to 6.0 and 6.1 i386: xorg-x11-drivers-7.3-13.3.el6.i686.rpm xorg-x11-drv-acecad-1.5.0-3.el6.i686.rpm xorg-x11-drv-aiptek-1.4.1-2.el6.i686.rpm xorg-x11-drv-apm-1.2.3-2.el6.i686.rpm xorg-x11-drv-ast-0.91.10-1.el6.i686.rpm xorg-x11-drv-cirrus-1.3.2-2.el6.i686.rpm xorg-x11-drv-dummy-0.3.4-1.el6.i686.rpm xorg-x11-drv-elographics-1.3.0-2.el6.i686.rpm xorg-x11-drv-evdev-2.6.0-2.el6.i686.rpm xorg-x11-drv-evdev-devel-2.6.0-2.el6.i686.rpm xorg-x11-drv-fbdev-0.4.2-2.el6.i686.rpm xorg-x11-drv-fpit-1.4.0-2.el6.i686.rpm xorg-x11-drv-geode-2.11.12-1.el6.i686.rpm xorg-x11-drv-glint-1.2.5-1.el6.i686.rpm xorg-x11-drv-hyperpen-1.4.1-2.el6.i686.rpm xorg-x11-drv-i128-1.3.4-1.el6.i686.rpm xorg-x11-drv-i740-1.3.2-2.el6.i686.rpm xorg-x11-drv-keyboard-1.6.0-1.el6.i686.rpm xorg-x11-drv-mach64-6.9.0-1.el6.i686.rpm xorg-x11-drv-mouse-1.7.0-4.el6.i686.rpm xorg-x11-drv-mutouch-1.3.0-2.el6.i686.rpm xorg-x11-drv-neomagic-1.2.5-1.el6.i686.rpm xorg-x11-drv-nouveau-0.0.16-13.20110719gitde9d1ba.el6.i686.rpm xorg-x11-drv-nv-2.1.18-2.el6.i686.rpm xorg-x11-drv-openchrome-0.2.904-4.el6.i686.rpm xorg-x11-drv-openchrome-devel-0.2.904-4.el6.i686.rpm xorg-x11-drv-penmount-1.5.0-2.el6.i686.rpm xorg-x11-drv-qxl-0.0.14-13.el6_2.i686.rpm xorg-x11-drv-r128-6.8.1-3.el6.i686.rpm xorg-x11-drv-rendition-4.2.4-1.el6.i686.rpm xorg-x11-drv-s3virge-1.10.4-2.el6.i686.rpm xorg-x11-drv-savage-2.3.2-1.el6.i686.rpm xorg-x11-drv-siliconmotion-1.7.5-1.el6.i686.rpm xorg-x11-drv-sis-0.10.3-1.el6.i686.rpm xorg-x11-drv-sisusb-0.9.4-1.el6.i686.rpm xorg-x11-drv-synaptics-1.4.1-3.el6.i686.rpm xorg-x11-drv-synaptics-devel-1.4.1-3.el6.i686.rpm xorg-x11-drv-tdfx-1.4.3-2.el6.i686.rpm xorg-x11-drv-trident-1.3.4-1.el6.i686.rpm xorg-x11-drv-v4l-0.2.0-4.el6.i686.rpm xorg-x11-drv-vesa-2.3.0-2.el6.i686.rpm xorg-x11-drv-vmmouse-12.7.0-1.el6.i686.rpm xorg-x11-drv-vmware-11.0.3-1.el6.i686.rpm xorg-x11-drv-void-1.4.0-1.el6.i686.rpm xorg-x11-drv-voodoo-1.2.4-1.el6.i686.rpm xorg-x11-drv-xgi-1.6.0-11.el6.i686.rpm x86_64: xorg-x11-drv-acecad-1.5.0-3.el6.x86_64.rpm xorg-x11-drv-aiptek-1.4.1-2.el6.x86_64.rpm xorg-x11-drv-apm-1.2.3-2.el6.x86_64.rpm xorg-x11-drv-ast-0.91.10-1.el6.x86_64.rpm xorg-x11-drv-cirrus-1.3.2-2.el6.x86_64.rpm xorg-x11-drv-dummy-0.3.4-1.el6.x86_64.rpm xorg-x11-drv-elographics-1.3.0-2.el6.x86_64.rpm xorg-x11-drv-evdev-2.6.0-2.el6.x86_64.rpm xorg-x11-drv-evdev-devel-2.6.0-2.el6.i686.rpm xorg-x11-drv-evdev-devel-2.6.0-2.el6.x86_64.rpm xorg-x11-drv-fbdev-0.4.2-2.el6.x86_64.rpm xorg-x11-drv-fpit-1.4.0-2.el6.x86_64.rpm xorg-x11-drv-glint-1.2.5-1.el6.x86_64.rpm xorg-x11-drv-hyperpen-1.4.1-2.el6.x86_64.rpm xorg-x11-drv-i128-1.3.4-1.el6.x86_64.rpm xorg-x11-drv-i740-1.3.2-2.el6.x86_64.rpm xorg-x11-drv-keyboard-1.6.0-1.el6.x86_64.rpm xorg-x11-drv-mach64-6.9.0-1.el6.x86_64.rpm xorg-x11-drv-mouse-1.7.0-4.el6.x86_64.rpm xorg-x11-drv-mutouch-1.3.0-2.el6.x86_64.rpm xorg-x11-drv-nouveau-0.0.16-13.20110719gitde9d1ba.el6.x86_64.rpm xorg-x11-drv-nv-2.1.18-2.el6.x86_64.rpm xorg-x11-drv-openchrome-0.2.904-4.el6.i686.rpm xorg-x11-drv-openchrome-0.2.904-4.el6.x86_64.rpm xorg-x11-drv-openchrome-devel-0.2.904-4.el6.i686.rpm xorg-x11-drv-openchrome-devel-0.2.904-4.el6.x86_64.rpm xorg-x11-drv-penmount-1.5.0-2.el6.x86_64.rpm xorg-x11-drv-qxl-0.0.14-13.el6_2.x86_64.rpm xorg-x11-drv-r128-6.8.1-3.el6.x86_64.rpm xorg-x11-drv-rendition-4.2.4-1.el6.x86_64.rpm xorg-x11-drv-s3virge-1.10.4-2.el6.x86_64.rpm xorg-x11-drv-savage-2.3.2-1.el6.x86_64.rpm xorg-x11-drv-siliconmotion-1.7.5-1.el6.x86_64.rpm xorg-x11-drv-sis-0.10.3-1.el6.x86_64.rpm xorg-x11-drv-sisusb-0.9.4-1.el6.x86_64.rpm xorg-x11-drv-synaptics-1.4.1-3.el6.x86_64.rpm xorg-x11-drv-synaptics-devel-1.4.1-3.el6.i686.rpm xorg-x11-drv-synaptics-devel-1.4.1-3.el6.x86_64.rpm xorg-x11-drv-tdfx-1.4.3-2.el6.x86_64.rpm xorg-x11-drv-trident-1.3.4-1.el6.x86_64.rpm xorg-x11-drv-v4l-0.2.0-4.el6.x86_64.rpm xorg-x11-drv-vesa-2.3.0-2.el6.x86_64.rpm xorg-x11-drv-vmmouse-12.7.0-1.el6.x86_64.rpm xorg-x11-drv-vmware-11.0.3-1.el6.x86_64.rpm xorg-x11-drv-void-1.4.0-1.el6.x86_64.rpm xorg-x11-drv-voodoo-1.2.4-1.el6.x86_64.rpm xorg-x11-drv-xgi-1.6.0-11.el6.x86_64.rpm