แก้ปัญหาการ์ดจอ Intel ใน Ubuntu 9.04 Jaunty


หลังจากที่อัพเกรดมาเป็น Ubuntu 9.04 Jaunty Jackalope ผมก็พบว่าประสิทธิภาพกราฟิกของการ์ดจอ Intel บนเครื่องผมลดไปจริงๆ อย่างที่ได้ยิน “เสียงฦๅเสียงเล่าอ้าง” มา หลังจากที่ทนใช้มาได้สักระยะ เมื่อวานผมก็จึงลองแก้ไขตามวิธีของคุณ psyke83 ที่ได้ไปโพสต์ไว้ใน Ubuntuforums

ก่อนอื่นต้องเข้าใจก่อนว่าเกิดอะไรขึ้นกับไดรเวอร์อินเทลใน Ubuntu ตัวนี้ ซึ่งในโพสต์ของคุณ psyke83 ก็อธิบายไว้แล้วอย่างดี แต่ผมขอสรุปเหตุผลหลักแบบบ้านๆ ก็คือ ช่วงนี้เป็นช่วงการย้าย code ของการ์ดจออินเทลไปใช้เทคโนโลยีตัวใหม่ เช่น เปลี่ยนจาก EXA ไปเป็น UXA (2D Graphics acceleration), และ DRI1 ไปเป็น DRI2 (3D Graphics acceleration) ธรรมชาติของของใหม่ก็มักจะมี bug เยอะ Ubuntu จึงเลือกใช้ตัวเดิมไปก่อน ซึ่งก็ต้องเผชิญหน้ากับปัญหาเรื่องประสิทธิภาพอย่างเลี่ยงไม่ได้ บวกกับมี Bug ของ MTRR ด้วย ผลกระทบจึงค่อนข้างแย่ การ์ดบางรุ่นอาจบูตเข้า Graphic mode ไม่ได้เลยก็มี

วิธีที่คุณ psyke83 เสนอนั้นมี 3 แบบแบ่งตามดีกรีความสด

  • แบบแรก Safe – อัพเดต Xorg driver, เปิดใช้ UXA, แก้ MTRR bug
  • แบบที่สอง Optimal – อัพเดต Xorg driver, เปิดใช้ UXA, แก้ MTRR bug, อัพเดตเคอร์เนลเป็น 2.6.29.x
  • แบบที่สาม Bleeding EdgeXorg driver ตัวใหม่ล่าสุด, เปิดใช้ UXA, แก้ MTRR bug, อัพเดตเคอร์เนลเป็น 2.6.31-rc

สำหรับผมใช้แบบ Optimal แต่ว่าส่วนของเคอร์เนลอัพเดตเป็น 2.6.31-rc4 เพราะว่าบนเคอร์เนล 2.6.29.x แค่ move window ยังกระตุกเลย เล่นเอาเสียอารมณ์มากๆ

ขั้นตอนสิ่งที่ผมทำเมื่อวานขอสรุปไว้ดังนี้ (การ์ดจอผมเป็น 915GM — เครื่องอื่นรุ่นอื่นอาจจะมีวิธีแตกต่างกันออกไป)

1. Backup xorg.conf

$ sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak

2. แก้ไข xorg.conf

$ sudo gedit /etc/X11/xorg.conf

แก้ในส่วนของ Device ให้เป็นตามนี้

Section "Device"
	Identifier	"Configured Video Device"
	Option		"AccelMethod"			"uxa"
	Option		"EXAOptimizeMigration"		"true"
	Option		"MigrationHeuristic"		"greedy"
	Option		"Tiling"			"true" # i8xx users: set to false
EndSection

3. แก้ไข MTRR bug โดยใช้สคริปต์ของคุณ Bartek

$ sudo wget http://launchpadlibrarian.net/26193373/fixmtrr.sh -O /usr/local/bin/fixmtrr.sh

$ sudo chmod +x /usr/local/bin/fixmtrr.sh

$ sudo ln -s /usr/local/bin/fixmtrr.sh /etc/gdm/PostLogin/Default

4. เพิ่ม Repository ไดรเวอร์ตัวใหม่

$ sudo gedit /etc/apt/sources.list

เพิ่มสองบรรทัดต่อท้ายไฟล์ sources.list ดังนี้

deb http://ppa.launchpad.net/ubuntu-x-swat/x-updates/ubuntu jaunty main #X-Updates PPA

deb-src http://ppa.launchpad.net/ubuntu-x-swat/x-updates/ubuntu jaunty main #X-Updates PPA

5. อัพเดตไดรเวอร์

$ sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com AF1CDFA9

$ sudo apt-get update

$ sudo apt-get dist-upgrade

6. ดาวน์โหลดและติดตั้งเคอร์เนลตัวใหม่

$ wget -c http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.31-rc4/linux-headers-2.6.31-020631rc4-generic_2.6.31-020631rc4_i386.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.31-rc4/linux-headers-2.6.31-020631rc4_2.6.31-020631rc4_all.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.31-rc4/linux-image-2.6.31-020631rc4-generic_2.6.31-020631rc4_i386.deb

หมายเหตุ ถ้าไม่อยากใช้ wget ก็เข้า Firefox ไปที่หน้าเว็บ http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.31-rc4/ แล้วใช้ Downthemall ดาวน์โหลดแพ็คเกจสามตัวข้างบนมาไว้ที่ Home Folder โดยตรงเลยก็ได้ (ผมใช้วิธีนี้เพราะว่าเร็วกว่า wget เยอะเลย)

รัน dpkg เพื่อติดตั้ง .deb ที่โหลดมา

$ sudo dpkg -i linux-headers-2.6.31-020631rc4-generic_2.6.31-020631rc4_i386.deb linux-headers-2.6.31-020631rc4_2.6.31-020631rc4_all.deb linux-image-2.6.31-020631rc4-generic_2.6.31-020631rc4_i386.deb

7. Restart เครื่องและลองทดสอบดู


เนื่องจากผมไม่มีชุด Test Suite ติดตั้งบนเครื่อง จึงขอรายงานผลแบบบ้านๆแล้วกัน

  1. สามารถเล่น HD 720p ได้โดยไม่กระตุก แต่ต้องใช้ Totem เล่น สำหรับ VLC ยังกระตุกเหมือนเดิม
  2. สามารถดู Flash ใน YouTube แบบเต็มจอได้บ้าง ไม่ลื่นมาก แต่ก็ไม่กระตุกจนปวดหัว
  3. Compiz effects รู้สึกว่าลื่นขึ้น เช่น Desktop Zoom, Expo, Scale
  4. Compiz Benchmark เพิ่มขึ้นเล็กน้อยจาก ~90 fps เป็น ~100 fps
  5. glxgears แสดงผลดีขึ้น ไม่มีภาพเงาค้างเวลาเลื่อนหน้าต่างแล้ว แต่ Framerate กลับลดลง จาก ~520 fps เหลือ ~460 fps
  6. Framerate ใน Stellarium ลดฮวบฮาบจาก 40-50 เหลือ ~20 fps (อันนี้งง)

นอกจาก Graphics Performance จะเพิ่มขึ้นแล้ว ผมยังพบว่า Kernel 2.6.30-rc7 ยังเร็วกว่าอันเดิมด้วย นับจากเวลาบูตที่ลดลงมาประมาณ 4 วินาที จาก 53 เหลือประมาณ 49 วินาที การบริโภค RAM ในตอนต้นก็ลดลงจาก ~160 MB มาอยู่ที่ ~120 MB

ตอนนี้ยังคงไม่วางใจกับ Kernel 2.6.30-rc มากนัก หวังว่าคงจะเสถียรพอตัวนะ สาธุ…

Update Thursday, July 23 2009: ตอนนี้ผมได้อัพเกรดมาเป็น 2.6.31-rc4 แล้ว คิดว่าน่าจะดีกว่าอันเดิม

$ sudo ln -s /usr/local/bin/fixmtrr.sh /etc/gdm/PostLogin/Default

5 Responses to แก้ปัญหาการ์ดจอ Intel ใน Ubuntu 9.04 Jaunty

  1. note says:

    –ขออนุญาตเปลี่ยนแปลงข้อความที่โพสต์ไว้นะครับ–

    เสียดายจังครับที่ผมไม่เคยได้ลองใช้ Ubuntu เลยไม่ค่อยเข้าใจบทความทั้งหมด

    แต่เห็นว่ามีปัญหาอย่างนี้ ผมเองก็ชักไม่แน่ใจว่าจะเปลี่ยนมาใช้ทดแทน Windows ได้เลยหรือไม่ เพราะผมเองก็ยังต้องเรียนและทำงาน อาจจะมีข้อจำกัดด้านเวลา อย่างไรก็จะลองศึกษาต่อไปเรื่อยๆก่อนครับ

    ถ้าจะให้ดี ยังไงขอพี่เอกช่วยแนะนำโปรแกรมอะไรที่มีบน Windows บ้างสิครับ เป็นพวก Opensource หรือ Freeware ก็ได้

    • เด็กศรี-เกษ says:

      ถึงเจ้าของบล็อก ผมกำลังลองใช้วิธีของคุณแก้ปัญหาใน netbook Dell Inspiron mini 10 อยู่ครับ ถ้าได้ผลอย่างไรจะกลับมารายงาน😀

      —ขออนุญาตลบบางข้อความของท่านนะครับ (ผู้แก้ไข : akedemo)—

      • akedemo says:

        ผมต้องกราบขออภัยคุณเด็กศรี-เกษด้วยที่ถือวิสาสะแก้ไขความเห็นของท่าน เนื่องจากผมเห็นว่าคุณ note ก็ได้เข้าใจในความหวังดีของท่านและได้แก้ไขข้อความดั้งเดิมไปแล้ว

        ขอบคุณมากครับที่อุตส่าห์เข้ามาอ่าน blog ที่ผมเขียน สิ่งที่ผมพอจะทำตอบแทนคืนให้กับชุมชนก็มีแต่เพียงเท่านี้ เพราะผมก็ไม่ได้มีความรู้ความสามารถอะไรมาก เป็นเพียงแค่ user ธรรมดาที่อยากจะแบ่งปันประสบการณ์

        สุดท้ายนี้ขอให้คุณเด็กศรี-เกษประสบความสำเร็จในแก้ไขปัญหานี้นะครับ ได้ผลอย่างไรก็อย่าลืมมาเผื่อแผ่ให้ทราบกันบ้าง

  2. akedemo says:

    เพิ่มเติมนะครับ ถ้าลองแก้ตามวิธีนี้แล้ว ยังไม่พอใจในผลที่ได้ ผมแนะนำให้เปิด Pre-released Updates ด้วยครับ เพราะเหมือนจะคุ้นๆว่าเคยเห็นแพ็คเกจ Compiz ใหม่อยู่ในนั้นซึ่งอาจจะแก้ Blacklist ของการ์ดอินเทลบางตัวแล้วก็ได้ ไม่แน่ใจนะครับ เพราะ ผมเองก็ไม่ได้ใช้ Dell mini 10

    วิธีเปิด Pre-released Updates ก็ให้ไปที่ System > Administration > Software Sources เลือกแท็บ Updates แล้วติ๊กถูกเพิ่มตรงกล่อง Pre-released Updates (Jaunty-proposed)

    ขอให้โชคดีนะครับ ลองอ่านลิงค์ต้นฉบับใน Ubuntuforums ด้วย บางทีแต่ละเครื่องก็ต้องใช้หลากหลายวิธีผสมกันไป
    May the (open)source be with you.

  3. พี่ท่านคับมันช่วยในการเล่นเกมส์ด้วยป่ะ

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: