Lug
click ที่นี่เพื่อแสดงความเห็นเพิ่มเติม (คุณสามารถใส่เครื่องหมาย "~~~~" (tilde 4 ตัว) เพื่อแสดงวันเวลาที่โพสต์โดยอัตโนมัติ)

ใครขี้เกียจอ่านรายละเอียดให้ข้ามไปอ่าน #สรุป ได้เลย

เมื่อวาน มี คน ลง mandriva linux 2006 แล้ว มี ปัญหา setup display driver สำหรับ X window ไม่ได้. ก็ ไป ช่วย เค้า ดู, พบ ว่า เป็น เครื่อง ibm desktop มี vga onboard, เป็น รุ่น ที่ เรา เคย ลง ubuntu 4.10 แล้ว มัน ไม่มี display driver, ตอนนั้น ก็ ปล่อย ไป, ไม่ได้ แก้ไข ให้ ใช้ ได้. คราวนี้ มา ลอง ใหม่ อีกที เผื่อ ได้. ก็ รัน โปรแกรม XFdrake เพื่อ setup X window. ก็ เลือก driver, ลอง หมด ทั้ง driver ที่ มัน autodetect ให้ (intel อะไร ซัก อย่าง นี่ แหละ), ทั้ง svga, ทั้ง fbdev ก็ ไม่ได้. มี แต่ vga เฉย ๆ ที่ ใช้ ได้, แต่ มัน ได้ แค่ 16 สี, ที่ ความ ละเอียด 640x480.

สั่ง "lspci | grep -i vga" มัน บอก ว่า เป็น chipset 82845G/GL, ก็ งง ๆ ไม่รู้ ต้อง ใช้ driver ตัว ไหน.

ลอง เอา ubuntu 4.10 live-cd มา boot ดู ซิ ว่า มัน จะ detect card จอ ให้ ได้ มั้ย. ดู ที่ มัน detect มา ให้ ก็ รู้สึก สี จะ เยอะ ขึ้น นะ, อย่างน้อย ก็ 256 สี ขึ้นไป แน่นอน, แต่ ความละเอียด ยัง 640x480 เหมือนเดิม.

ก็ สงสัย ว่า ubuntu มัน ใช้ driver อะไร, ก็ เปิด ดู ใน XFree86 config เห็น มัน ใช้ fbdev, ก็ เลย อยาก ลอง setup fbdev บน mandriva อีก ที, เผื่อ ได้. รัน XFdrake เลือก fbdev driver, มัน ก็ ขึ้น error ประมาณ /dev/fb0 file not found. ก็ เลย สร้าง /dev/fb0 ขึ้น มา โดย ใช้ คำสั่ง mknod, โดย ดู ตัวเลข minor/major จาก เครื่องอื่น ที่ มี ไฟล์ นี้. สร้าง แล้ว test ใหม่, คราวนี้ ขึ้น error ประมาณ /dev/fb0 device not found.

เหมือน มัน ไม่รู้จัก fbdev, บางที อาจ ต้อง load kernel module ที่ เกี่ยวกับ fbdev. ลอง ไป ดู เครื่อง อื่น มัน load module ชื่อ ไร บ้าง, ก็ เห็น มี vesafb กะ fbcon. ก็ มา ลอง มั่ว ๆ load vesafb กะ fbcon บน mandriva บ้าง (สั่ง "modprove vesafb fbcon"), จำ ไม่ได้ แล้ว ว่า ผล เป็น ไง, แต่ เหมือน จะ ไม่ เวิร์ค. คราวนี้ เลย สั่ง "find /lib/modules | grep -i fb" บน mandriva ดู ว่า มี module อะไร ให้ load ได้ บ้าง. ก็ ลอง ไป หลาย ๆ ตัว, จน มา เจอ vgafb อะไร นี่ แหละ, ที่ load แล้ว หน้าจอ มัน เปลี่ยน ความ ละเอียด. เลย รัน XFdrake เลือก fbdev อีก ที, ก็ ไม่ได้ แฮะ. ลอง load เพิ่ม อีก ตัว "modprobe i810fb" ก็ ไม่ได้ อีก. คราวนี้ จำ ไม่ได้ แล้ว ว่า ทำไม, แต่ มี reboot เพื่อ ลอง "modprobe intelfb" รัน XFdrake เลือก fbdev, คราวนี้ ได้ เลย แฮะ, ได้ ความ ละเอียด สูง ๆ ด้วย, แต่ สี มี แค่ 16 bit ให้ เลือก อย่างเดียว.

ต่อไป ก็ ต้อง แก้ ไฟล์ /etc/modules หรือ /etc/modprobe.preload (แก้ ไฟล์ ไหน ต้อง ขึ้น กับ kernel version มั้ง) ให้ มัน autoload intelfb ทุกครั้ง ที่ boot, โดย เพิ่ม บรรทัด intelfb เข้า ไป. สำหรับ mandriva ที่ ลอง มัน ต้อง แก้ /etc/modprobe.preload ถึง จะ เวิร์ค.

--Ans 03:30, 2 ธ.ค. 2005 (UTC)

Put intelfb after intel-agp[]

วันนี้ ไม่รู้ เป็น ไร, อยู่ ๆ ก็ ใช้ ไม่ได้ ขึ้น มา อีก, ทั้ง ที่ มัน ก็ load module intelfb แล้ว.

ลอง ไป ลอง มา พบว่า ต้อง load module intelfb หลัง module intel-agp, framebuffer มัน ถึง จะ ทำงาน. ที่ ไม่ ทำงาน เพราะ ใน /etc/modprobe.preload ดัน ไป ใส่ บรรทัด intelfb ไว้ ก่อน บรรทัด intel-agp. พอ แก้ เอา บรรทัด intelfb ไว้ หลัง บรรทัด intel-agp ก็ ใช้ได้ เลย. แต่ ก็ ไม่เข้าใจ ว่า ทำไม ที่ ผ่าน มา ก็ เอา intelfb ไว้ บรรทัด แรก มา ตลอด มัน ก็ ใช้ ได้ ดี อยู่, ไม่รู้ ทำไม ตอนนั้น ถึง ใช้ ได้, แล้ว ตอนนี้ ถึง ใช้ ไม่ได้.

--Ans 08:10, 13 ธ.ค. 2005 (UTC)

เป็น อีก แล้ว หวะ, อยู่ ๆ intelfb มัน ก็ ย้าย ไป อยู่ บรรทัด แรก เอง. แสดง ว่า ก่อน นี้ ที่ ใช้ ได้ เพราะ เรา เอา ไว้ บรรทัด หลัง, แล้ว มี โปรแกรม อะไร บาง อย่าง ที่ ไป แก้ ให้ มัน อยู่ บรรทัด แรก แหง.

ก็ นึก ได้ ว่า ก่อน นี้ เห็น พี่ เขา ใช้ kde setup network อะไร ไว้.

แก้ /etc/modprobe.preload ให้ intelfb อยู่ บรรทัด สุดท้าย ก่อน. แล้ว ลอง ใช้ kde setup network ดู โดย right click network connection applet, เลือก configure network, เปลี่ยน ค่า อะไร บางอย่าง, กด apply. cat /etc/modprobe.preload อีก ที, พบ ว่า intelfb ถูก ย้าย ไป อยู่ บรรทัด แรก เฉย เลย.

--Ans 10:12, 13 ธ.ค. 2005 (UTC)

modprobe intelfb in /etc/init.d/dm[]

เลย ต้อง หา ที่ load intelfb ใหม่, เพราะ ไม่รู้ จะ ทำไง ไม่ให้ โปรแกรม นั้น มา แก้ ลำดับ ของ module นิ.

ลอง ใส่ คำสั่ง "modprobe intelfb" ไว้ ใน /etc/rc.d/rc.local ก็ ไม่ได้, เพราะ rc.local มัน run ทีหลัง Xwindow ซึ่ง รัน ผ่าน /etc/rc.d/dm อีก ที. ในที่สุด ก็ เลย ใส่ "modprobe intelfb" ไว้ ใน /etc/rc.d/dm ไป ลุ่น ๆ ไป เลย ละ กัน.

--Ans 10:12, 13 ธ.ค. 2005 (UTC)

สรุป[]

  1. modprobe intelfb
  2. XFdrake เลือก driver fbdev
  3. มี ทาง เลือก 2 ทาง,
    • แก้ /etc/modprobe.preload โดย เพิ่ม บรรทัด intelfb ไว้ หลัง บรรทัด intel-agp หรือ เพื่อ ป้องกัน ปัญหา ลำดับ module ถูก แก้ไข ทีหลัง ให้ ใช้ วิธี ถัดไป,
    • ใส่ บรรทัด คำสั่ง "modprobe intelfb" ไว้ ใน /etc/rc.d/dm ไป ลุ่น ๆ ไป เลย, โดย เพิ่ม บรรทัด คำสั่ง นี้ ไว้ ใต้ บรรทัด ที่ มี คำว่า "start)".

--Ans 10:20, 13 ธ.ค. 2005 (UTC)