Masalah VGA Intel (masih) belum terselesaikan di Linux
Ini berita untuk teman-teman pengguna VGA Intel sebagaimana (laptop) saya. sayangnya belum ada berita mengembirakan….
Anyone who reads the Linux technical press, Linux blogs, or the comments section of DistroWatch Weekly knows that there has been a lot of discussion, dissatisfaction, and even anger over the state of Intel video drivers for Linux. In a nutshell and without going into the nuts and bolts, Intel made significant changes to the drivers for their chipsets, introducing new technologies that were designed to radically improve performance. Keith Packard wrote a detailed technical description of the changes to the Intel drivers and what they mean which can be found here. (Tip of the hat to Adam Williamson of Red Hat who originally provided the link.)
Corresponding changes were made to the Linux kernel, including migrating the new Graphics Execution Manager (GEM), which manages video memory, into the mainline kernel beginning with version 2.6.28. Setting graphics resolution, which has traditionally been done as part of the X server, has also been migrated to the kernel. Kernel Mode Setting (KMS) is now enabled by default in the most recent Ubuntu 9.10 alpha release.
The changes in both the Intel driver and the kernel also required changes to X.Org. Even my brief and decidedly less than detailed description of these changes makes it obvious that an awful lot of Linux core code has been undergoing some very major changes during the past year. Sadly, the results have, at least so far, meant that for many users of some of the most popular Linux distributions, performance did not improve. Quite the opposite: performance severely deteriorated and instability was introduced. Some users who upgraded their systems to the latest and greatest version of their favorite distribution found themselves with a system that ran very poorly, crashed frequently, or in some cases, found that X wouldn’t work at all. Phoronix described their testing of Ubuntu 9.04 on a Samsung netbook this way: "…a buggy Intel Linux graphics stack led to slow performance, stability issues, screen corruption, and other problems."
I freely admit that I am not an expert on X.Org internals or graphics drivers but I’ve tried to follow the technical discussions, the issues involved, and how they have impacted Linux distributions. Today we’ll look at the state of Intel graphics in several popular distributions, looking both at what went right and what went wrong in recent releases, what progress has been made, and what can be expected from upcoming releases.
Different results on different systems
As we saw in the comments following my review of Mandriva 2009.1 in the May 25th issue of DistroWatch Weekly, a release which included what was probably the most problematic version of the Intel driver, some users, myself included, had severe issues while others reported that everything worked perfectly for them. Reports in the forums for Ubuntu and Fedora show similar results: some users have serious problems and other users don’t. Workarounds work well on some systems and not on others. There are four factors which determine what kind of results you are likely to see on an individual system:
The model and revision of the Intel graphics chipset
The version of the Intel driver used
The version of the X.Org server
The kernel used
In addition, as Keith Packard explained, there are up to 48 combinations of settings for different features in the 2.6.x and 2.7.x Intel video drivers. Different settings yield different results. Despite all the expertise available on various forum discussions and mailing lists there are still users who report no success in getting X working properly on some recent distribution releases, no matter what they try.
The first step in finding out if a workaround is going to produce an acceptable result on a given system is to determine the model and revision of the chipset. At the command line you can type
lspci -v | grep VGA
which will display the required information. On my Sylvania g Netbook Meso the output looks like this:
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GME Express Integrated Graphics Controller (rev 03) (prog-if 00 [VGA controller])
The package manager included in almost any Linux distribution should be sufficient to determine what version of the Intel driver being used. The package is usually called xorg-video-intel.
Impact on popular Linux distributions
Linux distributions released in the last four or five months have had to decide between using an older version of X.Org and the corresponding Intel driver or including code known to be problematic. Distributions that chose older code avoided the Intel issue at the cost of not supporting some of the latest and greatest hardware on the market. The popular distributions which release every six months and which stay on the cutting edge all have Intel graphics issues to some degree. How serious the issues are depends on when they released and how much progress had been made in mitigating the problems. The rest of this report examines the impact on and progress by some of the most popular Linux distributions.
Ubuntu 9.04 was released on April 23rd and users with Intel graphics were severely impacted. The Ubuntu forum includes a Jaunty Intel Graphics Performance Guide which offers three possible workarounds, all of which involve upgrading the Intel driver to a 2.7.x release and possibly upgrading the kernel as well. At the end of the guide are responses and reports from Ubuntu users totalling an amazing 107 pages. Glancing through the reports will reveal mixed results. For some users the problems they had experienced were completely resolved. Others reported no improvement. With my Intel Mobile Express 945GME graphics chipset the best I could achieve was either excellent performance but poor stability in the form of system freeze-ups or X crashes, or poor performance and some video corruption but excellent stability. Another workaround is to revert to an older 2.4.1 Intel driver, an approach which was abandoned early on in the forum but which worked reasonably well for me.
In the discussion which follows the Performance Guide, the Ubuntu developers make it clear they will not be porting more recent kernel builds or Intel drivers to 9.04. Development is now focused on solving the problems in time for the release of 9.10 on October 29th.
The third alpha of Ubuntu 9.10 shipped with the latest 2.8.0 Intel driver, X.Org Server 1.6.2 RC1, and a development snapshot of the Linux 2.6.31 kernel. Phoronix reported poor performance test results with this alpha but I found significant improvement on my system. Ubuntu 9.10 alpha 4, released last week, also includes a newer kernel snapshot and the 2.8.0 driver, which no longer supports EXA and DRI1. While enabling UXA and DRI2 caused instability on my system with the 2.7.x drivers I have no such problem with 2.8.0. With 3D animation enabled I do still see some brief video corruption for a second, perhaps less, when a new window is opened, and a corresponding stutter in whatever action is being performed. I wonder if the stutter I see is part of the cause of the poor performance numbers the Phoronix testers saw. Once a window is open performance seems to be very good. I see no problems at all with 2D graphics using the latest Ubuntu 9.10 build. This is the same result I reported in my review of Pardus 2009 last week. Even though this is an early alpha build with some bugs I found Ubuntu 9.10 to already be far more usable than Ubuntu 9.04.
I should mention that Ubuntu 8.04 LTS uses older code and was not affected. Ubuntu Netbook Remix 8.04 was the factory installed OS on my netbook. With all the latest updates it performs flawlessly.
Mandriva 2009.1 was released on April 29th and suffered from essentially the same problems that Ubuntu 9.04 had. Mandriva took more time to provide a workaround which resulted in what was essentially an unusable distribution at the time I reviewed the release in May. The workarounds, when offered, again involved upgrading the driver and possibly the kernel and the results on my system were essentially the same as I experienced with Ubuntu, forcing me to give up on the release.
The second alpha of Mandriva 2010 was released on July 31st. It includes a 2.6.31-rc4 kernel, one release candidate earlier than the version included in the latest Ubuntu alpha. It also includes X.Org server 1.6.2 with the latest 2.8.0 Intel driver. In the release announcement the developers state that the new Intel driver "should improve performance and stability," which, in fact, it does. My brief testing of this alpha release shows the expected bugs but usable if imperfect support for my Intel 945GME graphics chipset. Running KDE 4.3 with 3D animation enabled I saw essentially the same results I reported in my review of Pardus 2009 and in Ubuntu 9.10 alpha 4 running GNOME.
Fedora 11 was released on June 9th. The later release allowed Fedora developers to include a 2.7.0 Intel driver as opposed to the 2.6.x drivers included in the April releases of Ubuntu and Mandriva. Fedora developers were also able to incorporate workarounds for some of the existing issues and perhaps even tying them to specific graphics chipsets. The net result was that Fedora 11 was better out of the box on my Sylvania netbook than either Mandriva 2009.1 or Ubuntu 9.04, even after trying the various upgrades and workarounds. 3D performance was still not what it should be but my system was stable. I did not run Fedora 11 for any length of time on my system. There have been no development releases of Fedora 12 as of yet; however, it is clear that the progress being made on the Intel drivers upstream should translate to improvement in Fedora paralleling Ubuntu and Mandriva.
Distributions like Debian GNU/Linux, openSUSE and Slackware Linux did not have a final release during the past six months and have avoided the problems which plagued distributions with faster release cycles. Red Hat Enterprise Linux and its free clones, including Scientific Linux and CentOS, also avoided the issue because they always use older, stable code.
Taking a look at releases in development: Milestone 5 of openSUSE 11.2, released on August 10th, includes the 2.8.0 version of the Intel driver, X.Org server 1.6.3 and a 2.6.31-rc4 kernel. A problem with X freezing up before KDM loads in runlevel 5 has been reported on systems using Intel or VESA video drivers. Slackware 13 RC2, released on August 6th, also includes X.Org server 1.6.3 and the 2.8.0 Intel driver but uses a slightly older 126.96.36.199 kernel. I have not had a chance to test these development releases yet.
The problems caused by the wholesale changes in the Intel graphics stack have not been fully resolved. Judging by the forums of distributions using the 2.8.0 Intel driver in testing and my own experience, it appears that the most serious problems, particularly those affecting system stability, have been solved. Based on the rate of progress in recent months I am hopeful that releases scheduled for the 3rd and 4th quarters of 2009 may finally have Intel graphics performance that is at least the equal of what we had last year. The promised improvements in performance using the kernel-based GEM, kernel mode switching (KMS), UXA and DRI2 will be delivered later than the Intel developers anticipated and after much heartache for the user community. In the end, though, the promises that were made will undoubtedly be fulfilled.
The usual critics of Linux have used the Intel video driver regression as further "proof" that Linux is somehow not ready for the desktop. The openness of the Linux community allowed every aspect of this issue to be examined in excruciating detail which made the situation seem somehow unique. It isn’t. Problematic proprietary video drivers have been released for proprietary operating systems before and probably will be again.
Linux users with affected Intel chipsets ended up running one of the many Linux distributions that didn’t have the problem or else simply ran a previous but still supported version of their favorite distro. We continued to enjoy Linux on the desktop even if we experienced some disappointment and frustration with our favorite distribution. My own frustration with Mandriva was an expression of the fact that I had come to expect nothing less than excellence from their products over a period of years.
We can only hope that those who develop core elements of Linux and the various Linux distributors have learned from this experience and will think twice before rushing code to market too early in the future.