Dell Optiplex 3010 Intel VGA (Intel HD Graphics) on openSUSE 12.2 KDE Desktop

My computer: Intel® Core™ i5-3450 CPU @ 3.20 GHz, VGA compatile Intel corporation Ivy Bridge Graphics Controller (VGA controller)

//www.dell.com/th/business/p/optiplex-3010/pd
ทดสอบเลือกใช้ไดร์เวอร์:
• แก้ไข “Device” section ในไฟล์ xorg.conf

vi /etc/X11/xorg.conf


Section “Device”
BoardName “Ivybridge D GT1”
Driver “intel”
Identifier “Device[0]”
Option “monitor-VGA1” “Monitor[0]”
VendorName “Intel”
EndSection

เปลี่ยนบรรทัด Driver ให้เปลี่ยนเป็น vesa ไดร์เวอร์หรือ fbdev ไดร์เวอร์ (intel open source graphic driver) ขึ้นอยู่กับการกำหนดค่าซิปกราฟิก

Driver “intel”
เป็น
Driver “vesa”

หรือจะใช้คำสั่ง sax2 -r -m 1=vesa ที่คอนโซล จากนั้นจะขึ้นหน้าต่างให้เลือก resolution ของ monitor(ใช้ในการสร้างไฟล์ xorg.conf ใหม่)

sax2 -r -m 0=vesa

หรือ

sax2 -r -m 1=vesa

where the 0 or 1 depends on what graphic chip one is trying to configure. The “-r” option tells sax2 to ignore any previous created xorg.conf file, and overwrite/replace it.

การเลือกใช้ไดร์เวอร์ vesa นั้นไดร์เวอร์สนับสนุน resolutin สูงสุดได้ที่ 1366 x 768 (ถ้าเป็นจอปกติ 17 นิ้วก็สามารถใช้ vesa ได้) แต่ถ้าจอที่สนับสนุน resolution สูงกว่านี้เช่น 1469 x 900 หรืออาจจะเป็น HD resolution 1600 x 900? ( ตัวอย่าง Dell IN2030M) ดังนั้นเพื่อให้ได้มาซึ่งประสิทธิและการทำงานสูงสุด เราก็จำเป็นต้องติดตั้งอินเทลไดร์เวอร์เอง เพื่อให้สนับสนุน Intel graphic hardware ที่เราใช้งานอยู่

Solution:
1. อับเดทลีนุกซ์เคอร์เนล ให้สนับสนุนฮาร์ดแวร์ หรือคอมไพล์ลีนุกซ์เคอร์เนลใหม่ (3.4, 3.5 หรือ 3.6) สำหรับลีนุกซ์เคอร์เนล 3.6 ติดตั้งดีฟอลต์บนดิสโทร openSUSE 12.3 Beta สามารถดาวน์โหลดมาทดสอบได้
2. คอมไฟล์อินเทลลีนุกซ์ไดร์เวอร์ ให้สนับสนุนฮาร์ดแวร์เอง
3. ซื้อการ์ดแสดงผลกราฟิก PCI Express ยัดเข้าไปซะ (ATI หรือ Nvidia แล้วแต่ครับ ดูรุ่นที่มัน compatible open source driver ปกติผมจะใช้ค่าย ATI)

ตรวจสอบว่าเคอร์เนลโหลดโมดูลไดร์เวอร์ i915/i915.ko หรือไม่ (อินเทลซิปเซต)

$ lsmod | grep i915
<meta http-equiv="content-type" content="text/html; charset=utf-8" />

ทางเลือกสำหรับใครที่ใช้เครื่อง Dell Optiplex 3010 แล้วต้องการติดตั้งลีนุกซ์

1. ติดตั้งดิสโทร Ubuntu 12.4.1 ซึ่ง Ubuntu โหลดไดร์เวอร์จากเคอเนอร์ไดร์เวอร์ เลือกใช้ไดร์เวอร์ i915 ซึ่ง GUI สามารถทำงานได้ปกติ
(Kernel driver in use: i915)

2. ติดตั้งดิสโทร openSUSE 12.2 KDE Desktop ซึ่ง 2D ไดร์เวอร์ใช้ intel และ 3D ใช้ Galllium (8.0.4)

สรุป: บน openSUSE 12.2 KDE Desktop การฟิกทุกอย่างใช้งานได้ ok แต่ GNOME Desktop และดิสโทร SUSE Enterprise Desktop 11 SP2 ยังคงมีปัญหาเรื่องไดร์เวอร์การฟิกไม่สนับสนุน ยังไม่สามารถปรับความละเอียดหน้าจอ ที่จอสนับสนุนได้

Note: i915/GEM ไดร์เวอร์สำหรับซิปเซ็ต i915 และ GEM (Graphics Execution Manager) คือตัวจัดการการฟิกบนฮาร์ดแวร์ของอินเทล ที่ทำงาบนซิปเซ็ตไดร์เวอร์ i915 ใน DRM subsystem ( Direct Rendering Manager) บนลีนุกซ์เคลเนอร์ก่อนรุ่น 2.6.36

Note: สำหรับใครที่ต้องการคอมไพล์อินเทลไดร์เวอร์บนดิสโทร SUSE Linux Enterprise Desktop เท่าที่ลองยัง make install ไม่ผ่านนะครับ ถึงแม้จะหลอกข้ามการตรวจสอบรุ่นแพ็คเกจ หรืออีกวิธีก็ต้อง online upgrade ตัว SLED ก่อนเพื่อให้แพ็คเกจตรงตามที่มัน require รายละเอียดการทดสอบด้านล่างครับ

1. ดาวน์โหลดไฟล์

$ wget xorg.freedesktop.org/archive/individual/driver/xf86-video-intel-2.20.19.tar.gz

or latest vesion download here: //01.org/linuxgraphics/downloads

2. แตกไฟล์ที่โหลดมา

$ tar zxf xf86-video-intel-2.20.19.tar.gz

3. คอมไพล์ไดร์เวอร์

$ cd xf86-video-intel-2.20.1

 

$  ./configure --prefix=/usr --libdir=/usr/lib

(ต้องติดตั้ง gcc เครื่องมือคอมไพลเลอร์ก่อน และถ้า system เป็น 64-bit พาทจะเป็น –libdir=/usr/lib64)

คอมไพล์ไม่ผ่าน———————————————————————————-

configure: error: Package requirements (libdrm_intel >= 2.4.29) were not met:

No package 'libdrm_intel' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables DRMINTEL_CFLAGS
and DRMINTEL_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

———————————————————————————————————————————
[SOLVED]: ติดตั้งแพ็คเกจ xorg-x11-libX11-devel และ libdrm-devel

libdrm-devel สามารถดาวน์โหลดได้ที่ //demeter.uni-regensburg.de/SLE11SP2-SDK-x86/DVD1/suse/i586/libdrm-devel-2.4.27-0.6.6.i586.rpm
หรือดาวน์โหลด media “SUSE Linux Enterprise 11 SDK” แล้ว add repostiry เข้าไปก็ได้เช่นกันครับ

จากนั้น install

rpm -ivh libdrm-devel-2.4.27-0.6.6.i586.rpm
Preparing...                ########################################### [100%]
   1:libdrm-devel           ########################################### [100%]

และรีคอมไพล์ใหม่อีกครั้ง

$  ./configure --prefix=/usr --libdir=/usr/lib

จะเห็นว่ายังคงไม่ผ่านอยู่เนื่องจาก source มันต้องการ libdrm_intel เวอร์ชั่นสูงกว่า 2.4.29 ในเมื่อรุ่นล่าสุดบน SLED 11 SP2 เป็นเวอร์ัน 2.4.27 จะทำไงล่ะที่นี่ครับ

[SOLVED]: แก้ไข code ไฟล์ comfigure และ configure.ac มันซะเลย

$ vi comfigure

:%s/2.4.29/2.4.27/g

$ vi configure.ac

:%s/2.4.29/2.4.27/g

ผ่าน libdrm ล่ะ แต่ยังติดอย่างอื่นเพิ่มเติมอีก
———————————————————————————————————————————-

checking for XORG... no
configure: error: Package requirements (xorg-server >= 1.10 xproto fontsproto pixman-1 >= 0.24 ) were not met:

No package 'xorg-server' found
No package 'pixman-1' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables XORG_CFLAGS
and XORG_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

———————————————————————————————————————————-

[SOLVED]: ดาวน์โหลดและติดตั้งแพ็คเกจ xorg-x11-server-sdk (ชื่อแพ็คเกจที่มันต้องการก็อยู่ในนี่แหละ) และ xorg-x11-devel (ติดตั้งจาก YaST)
//demeter.uni-regensburg.de/SLE11SP2-SDK-x86/DVD1/suse/i586/xorg-x11-server-sdk-7.4-27.60.5.i586.rpm

$ rpm -ivh xorg-x11-server-sdk-7.4-27.60.5.i586.rpm
Preparing...                ########################################### [100%]
   1:xorg-x11-server-sdk    ########################################### [100%]

1. แก้ไขไฟล์ configure

บรรทัด
required_xorg_xserver_version=1.6
required_pixman_version=0.24

แก้ไขเป็น

required_pixman_version= 0.16

บรรทัด
if pkg-config –exists ‘pixman-1 >= 0.27.1’; then

แก้ไขเป็น
if pkg-config –exists ‘pixman-1 >= 0.24.0’; then

2. แก้ไขไฟล์ configure.ac

บรรทัด
if test “x$SNA” = “xauto” && pkg-config –exists “xorg-server >= 1.10”; then

แก้ไขเป็น
if test “x$SNA” = “xauto” && pkg-config –exists “xorg-server >= 1.6.5”; then

และบรรทัด
required_xorg_xserver_version=1.6

แก้ไขเป็น
required_xorg_xserver_version=1.6.5

หรือง่ายๆ ค้นหาข้อความ “xorg-server >= 1.10” แล้วแก้ไขเป็น “xorg-server >= 1.5.6”

เนื่องจากไฟล์ไดร์เวอร์ xf86-video-intel-2.20.19.tar.gz ที่เราโหลดมาคอมไพล์มันอับเดทล่าสุด แต่บนแพ็คเกจต่างๆ บนเครื่องเรายังเวอร์ชันเก่าอยู่ พอ process ไปถึงขั้นตอนตรวจสอบรุ่นแพ็คเกจซึ่งมี error

• หลังจากผ่านแล้ว ก็ติดตั้งไดร์เวอร์ได้เลย ด้วยคำสั่ง make install

มาอีกล่ะ error
—————————————————————————————————

make  all-recursive
make[1]: Entering directory `/root/software/xf86-video-intel-2.20.19'
Making all in man
make[2]: Entering directory `/root/software/xf86-video-intel-2.20.19/man'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/root/software/xf86-video-intel-2.20.19/man'
Making all in uxa
make[2]: Entering directory `/root/software/xf86-video-intel-2.20.19/uxa'
  CC     uxa-render.lo
In file included from /usr/include/xorg/scrnintstr.h:58,
                 from /usr/include/xorg/xf86str.h:39,
                 from /usr/include/xorg/xf86.h:47,
                 from uxa-priv.h:37,
                 from uxa-render.c:31:
/usr/include/xorg/dix.h:533: warning: redundant redeclaration of 'ffs'
In file included from /usr/include/xorg/picturestr.h:28,
                 from uxa.h:39,
                 from uxa-priv.h:39,
                 from uxa-render.c:31:
/usr/include/xorg/glyphstr.h:101: warning: redundant redeclaration of 'FindGlyphHashSet'
/usr/include/xorg/glyphstr.h:95: warning: previous declaration of 'FindGlyphHashSet' was here
uxa-render.c: In function 'uxa_check_triangles':
uxa-render.c:1884: warning: implicit declaration of function 'pixman_add_triangles'
uxa-render.c:1884: warning: nested extern declaration of 'pixman_add_triangles'
uxa-render.c:1886: error: 'pixman_triangle_t' undeclared (first use in this function)
uxa-render.c:1886: error: (Each undeclared identifier is reported only once
uxa-render.c:1886: error: for each function it appears in.)
uxa-render.c:1886: error: expected expression before ')' token
make[2]: *** [uxa-render.lo] Error 1
make[2]: Leaving directory `/root/software/xf86-video-intel-2.20.19/uxa'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/software/xf86-video-intel-2.20.19'
make: *** [all] Error 2

——————————————————————————————————-

สำหรับดิสโทร openSUSE 12.2 //vavai.net/2012/10/solved-intel-vga-intel-hd-graphics-installation-on-opensuse-12-2

Reference :
//lslezak.blogspot.com/2011/04/installing-latest-intel-graphics-driver.html
//www.intel.com/content/www/us/en/intelligent-systems/intel-hd-graphics-and-intel-graphics-media-accelerator/hd-graphics-overview.html
//01.org/linuxgraphics/
//forums.opensuse.org/english/get-technical-help-here/how-faq-forums/advanced-how-faq-read-only/438705-opensuse-graphic-card-practical-theory-guide-users.html

Leave a Reply

Your email address will not be published. Required fields are marked *

Please validate : * Time limit is exhausted. Please reload CAPTCHA.