ความเห็น: 0
Dual monitors with ATI Radeon HD 3450 on Ubuntu Hardy
บันทึกนี้ขอใช้ภาษาแบบลวกๆ ขออภัยสำหรับคนนอกวงการที่อ่านไม่เข้าใจครับ...
Ubuntu ตั้งแต่ v7.x เป็นต้นมา สามารถ detect card และติดตั้ง proprietary driver ได้อย่างง่ายดาย เรียกได้ว่าแทบไม่เจอปัญหาเลยก็ได้ นอกเสียจากจะดัดแปลงอะไรเป็นพิเศษ เช่นให้แสดงผล 2 หน้าจอ จากการ์ด ATI แบบนี้จะต้องเหนื่อยกันหน่อย ดังจะร่ายต่อไปนี้....
เครื่องที่ผมใช้อยู่ เป็น ATI Radeon X550 ค่อนข้างเก่า ส่วนจอใช้ขนาด 1280x1024 ทั้งสองจอ คราว Ubuntu 7.10 ยังไม่มี fglrx ให้ จึงใช้ driver จาก Ubuntu restricted และใช้คำสั่ง
$ xrandr --output VGA-0 --left-of DVI-0
ไปเขียนไว้ในไฟล์ ~/.bashrc เพื่อให้มันแสดงผลได้ 2 หน้าจอ
แต่พอ v8.04 Hardy เปลี่ยนมาใช้ fglrx จึงไม่สามารถใช้คำสั่งข้างต้นได้ แต่สามารถแก้ปัญหาโดยใช้ตัวอย่างไฟล์ xorg.conf ที่หาจาก "Google: ubuntu hardy ati dual monitor" ภายในการบูตเครื่องเพียงครั้งเดียว (มั่วครั้งเดียวแล้วได้เลย ฮา)
ส่วนอีกเครื่องหนึ่งใช้การ์ด ATI Radeon HD 3450 + จอ 1440x900 ของใหม่ร้อนๆ จาก กทม. ซึ่งสามารถแสดง output เหมือนกัน 2 จอได้ แสดงว่าการ์ดไม่มีปัญหา ต่อไปก็ไปลุยแก้ config กันเลย
มั่ว #1: copy xorg.conf จากเครื่องเก่ามาใช้เลย จากสมมติฐานว่ามันเป็น ATI เหมือนกัน น่าจะใช้ได้แหละหน่า .. ผลคือ สามารถแสดง 2 จอที่ความละเอียด 1280x1024 เท่านั้น พอเปลี่ยนเป็น 1440x900 จะกลายเป็น 2 จอแสดงเหมือนกัน (clone) ไม่ใช่ 2 จอกว้าง (big desktop) อย่างที่ต้องการ
มั่ว #2: ได้คำแนะนำจาก อ.ธวัชชัย ให้ disable fglrx ตัวที่มาจาก Ubuntu repository แล้วไป download fresh driver จาก http://ati.amd.com/support/driver.html มาติดตั้งแทน จากนั้นใช้คำสั่ง
$ amdcccle
มันจะเปิด configuration dialog ที่สามารถเลือกแสดง 2 จอแบบ big desktop ได้ แต่ต้องมา manual เองทุกๆ ครั้งที่เปิดเครื่อง และหน้าจอจะ render กระตุก เวลาเกิดการเลื่อน object เช่น move window, เลื่อน scroll bar
มั่ว 2.1, 2.2, 2.3.... จนมันเละเทะ เกิดความคิดชั่ววูบว่าลง OS ใหม่น่าจะดีกว่า กว่าจะคิดได้ว่าทำไมไม่ remove fresh driver ออกวะ ก็ต่อเมื่อลงใหม่เกือบเสร็จแล้ว -_-'
มั่ว #3: ลงใหม่เสร็จ .. disable repository driver แล้วไปใช้ fresh driver แทน คราวนี้ไม่ใช้ amdcccle เพราะคิดว่ามันเป็นวิธีที่ยังไม่ดีพอ จากขั้นตอน มั่ว #2 อาจารย์ให้ไปลองดูคำสั่ง "aticonfig" ซึ่งมีค่า option เยอะแยะไปหมด ดูผ่าน console ไม่ไหว จึงใช้วิธี
$ aticonfig > Desktop/aticonfig.txt
พอมาเป็น text file อะไรๆ ก็ดูง่ายขึ้น เห็นส่วนท้ายของไฟล์มีตัวอย่างการใช้คำสั่ง จึงลอง
$ sudo aticonfig --initial=dual-head --screen-layout=right --dtop=horizontal --overlay-on=1 --resolution=1440x900
มันจะทำการสร้างไฟล์ /etc/X11/xorg.conf ให้ใหม่ ซึ่งดูแล้วแทบจะเป็นไฟล์เดียวกับที่ copy มาจากเครื่องเก่าเลย เห็นแล้วไม่เชื่อว่ามันจะทำ 2 จอได้ ... แต่ไหนๆ แล้วก็ลองดูหน่อย
กด Ctrl + Alt + Backspace เพื่อ log out ออกจาก X
เมื่อ log in เข้ามาใหม่ จะเห็นมันแสดงผล 2 จอได้อย่างสวยงาม แต่หน้าจอยัง render กระตุกอยู่
มาถึงขั้นนี้ คิดว่าปัญหาที่แสดง 2 จอไม่ได้ ไม่ใช่เป็นที่ตัว driver แล้วล่ะ คงเป็นที่ xorg.conf มากกว่า
ส่วนปัญหาหน้าจอกระตุกนั้น คิดว่าเป็นที่ตัว fresh driver เอง .. จึงลอง remove fresh driver ตามคำแนะนำ แล้วกลับไปใช้ repository driver ดังเดิม
เมื่อ restart X ใหม่ จะพบว่ามันสามารถแสดงผล 2 จอได้อย่างสวยงาม และอาการกระตุกก็หายไปแล้วด้วย โอ้วววว
สรุปว่า
- fresh driver not properly work, use repository driver instead
- เปิดดูไฟล์ /etc/X11/xorg.conf อีกที ... เอ๊า ไฉนมันเป็นกลายเป็น default configuration ไปได้ ... คือในไฟล์นั้นไม่มี option อะไรที่บ่งบอกว่าให้มันแสดง 2 หน้าจอเลยแม้แต่บรรทัดเดียว สาบานได้
- holy shit อุจจาระศักดิ์สิทธิ์ ... งงครับงง แล้วอะไรที่ทำให้มันออก 2 จอได้ ... driver ก็ default, xorg.conf ก็ default ... สรุปว่าที่ทำไปทั้งหมดเนี่ยมีค่าเท่ากับไม่ต้องทำอะไรเลย .. เหรอ ???

xorg.conf configure for dual monitor work with ATI Radeon X550
บันทึกอื่นๆ
- เก่ากว่า « go to know with Wikipedia
- ใหม่กว่า » การปรับแต่งให้ TinyMCE สามารถใช้งาน IMCE บน Drupal 6

































