MrChoke.Org

Category: Nvidia

ว่าด้วย Nvidia อีกแล้ว

หลังจากซื้อเครื่อง PC ไว้ใช้งานที่ห้องได้ระยะหนึ่ง และ รอเพื่อให้ใช้งานกับ Linux ได้อย่างราบรื่น เมื่อทุกอย่าเข้าที่ก็เอา Feisty ไปลง ต้องลำบากนิดหนึ่งเพราะไม่มี Net เล่นที่ห้องต้องหอบหิ้ว Harddisk กลับไปกลับมาทุกวัน เมื่อวันที่ 30 พ.ค. ที่ผ่านมาก็ถอย VGA Card ของ Spark Nvidia 7300 GT เห็นมันถูกดี แต่ก็มีเรื่องตามมาจนได้ หลังจากเล่นได้ 2 วันกับ 1 คืน ทุกอย่างราบรื่นเล่น 3D สวยใสดี Beryl ลื่นสดใส อ้อ !! แต่ต้องปรับนิดหนึ่ง เดี๋ยวจะกล่าวปิดท้าย หลังจากผมดูเป็นต่อจบก็กะจะเปิดมาเล่นต่อ ปรากฎว่ามันมีอาการผิดปกติเกิดขึ้นคือภาพจะเละ เมื่อเล่น 3D ถ้าเล่นปกติก็ไม่เป็นไรนะ เริ่มเครียด เพราะภาพเละแถมค้าง ตอนแรกนึกว่าเพราะ DVI เพราะเพิ่งเอาสาย DVI มาต่อเล่น ลองเปลี่ยนเป็นสายปกติก็เป็นเหมือนเดิม เครียดหนักเพราะจะเอาไป Claim แล้วจะบอกเขาว่ายังไงดีเพราะทุกอย่างดูปกติยกเว้นเล่น Beryl เลยทดสอบกับ Windows ดูสักหน่อย เปิดตัว setting ของ Nvidia แล้วเปิดทดสอบ 3D พบว่าเป็เหมือนกันเลยดีใจขึ้นมาหน่อย เมื่อวันเสาร์ก็เลยเอาไปเปลี่ยน ช่างทดสอบให้ยังไม่ถึง 3D หรอกเห็นหน้า Boot ของ Windows มีภาพลายๆ ช่างก็หาตัวใหม่ให้เลย เฮ้อโล่งอกไป ตอนนี้ก็เล่นเป็นปกติ แต่ไม่รู้ว่าจะเป็นอะไรอีกไหมในอนาคตซื้อของถูกเป็แบบนี้นี่เอง ฮ่าๆ

มาดูเรื่อง Nvidia กับ Xorg กันบ้าง Nvidai 7300 GT ลง Driver แล้วก็เล่นได้เลย แต่จะมีปัญหากับ Emerald เพราะขอบหน้าต่างไม่ทำงาน แต่ Beryl ก็ยังทำงานได้นะยกเว้นขอบหน้าต่างหายไป โชคดีที่เดาทางถูกอ่านใน Doc ของ Nvidia ดูเพราะไม่มี Net จะ Search ก็ไม่ได้ ผมสังเกตุเห็น Error ของ X ใน file .xsession-errors มีบรรทัดหนึ่งพูดถึง 32 bit อะไรเนี๊ยะแหละจำไม่ได้เลยเดา option เอารางวัลที่ 1 เพราะเดาทีเดียวถูกนั้นคือให้ใส่ option ดังนี้คือ

Section "Device"
Identifier     "nVidia Corporation G70 [GeForce 7300 GT]"
Driver         "nvidia"
Option "AddARGBGLXVisuals" "true"
EndSection

ถ้าใครมีปัญหาของหน้าต่างของ Emerald ไม่ขึ้นก็ลองใส่เหมือนผมดูนะครับ ตอนนี้ก็ภาวนาให้ Card ที่เปลี่ยนมามีอายุยืนยาวนานเท่าที่จะเป็นไปได้ :)

หมุนจอเล่น

ตัวอย่าง

วันก่อนแอบจิ๊กจอกว้างมาเล่น ก็เลยทำให้รู้ว่าจริงๆ แล้วมันไม่ค่อยเหมาะกับหน้าจอสำหรับทำงานเท่าไหร่เพราะมันสั้นไปถึงจะได้ความกว้างก็ตาม เลยอยากหมุนเล่นแต่บังเอิญใช้ Nvidia Click ขวา Set Resolution ก็ไม่ได้เลยค้นๆ ดูทำให้รู้ว่า Nvidia มันปิดความสามารถของ RandR ไว้ต้องใส่ option ให้ดังนี้

 

Section "Device"
Identifier "NVIDIA Corporation NV11 [GeForce2 MX/MX 400]"
Driver "nvidia"
Option "RandRRotation" "True"
EndSection

 

Save แล้วก็เข้า X ใหม่ก็หมุนจอเล่นได้แล้ว

Toshiba + Nv + Dapper

ตั้งใจจะเขียน Blog ทุกวันแต่ไม่ได้เขียนสักทีค้างไว้หลายเรื่องดองเค็ม วันนี้เอาเรื่องทื่สร้างความปวดหัวให้ผมพอสมควรคือเรื่อง Nvidia driver ล่าสุดกับ Nvidia บน Toshiba Satellite 2410 notebook คู่กายผมก่อนหน้ากลับบ้านตอนสงกรานต์ก็ยังใช้งานได้ดีอยู่หรอกก็ลืมๆ ว่าก่อนกลับ update ไว้แล้วปิดเครื่องหรือเปล่าเพราะกลับมาจากบ้านเปิดเครื่องแล้วมันทะลึ่งไม่ขึ้นจอ LCD ของมันเองขึ้นแต่จอ CRT (ปกติตั้ง TwinView ไว้) นั่งหาสาเหตุอยุ่นานเพราะว่าตอนแรกจำไม่ได้ว่า update dapper ไว้ก่อนปิดเครื่อง จริงๆ แล้ว Nvidia แบบ Mobile นี่เวลาออก Driver ใหม่ๆ มามักจะมีปัญหาเสมอ ก่อนหน้าก็มีปัญหาเรื่อง เครื่องค้างเพราะมันไม่สามารถ get EDID ได้ก็ไปปิดที่ option ของ modprobe ซะถ้า Ubuntu ก็

/etc/modprobe.d/options 

โดยใส่ว่า

 options nvidia NVreg_SoftEDIDs=0 NVreg_Mobile=1  

โดยค่า NVreg_Mobile นี้เค้าแนะนำว่าให้ ใช้ค่าที่ตรงกับเครื่องของเราน้องโตผมเป็นเลข 1 ส่วนค่า NVreg_SoftEDIDs นี่สำคัญคือให้ปิดไปเลยครับนั้นคือเท่า 0 นั้นเอง (ส่วนค่าอื่นๆ ดูได้ใน /proc/driver/nvidia/registry) นี่คือปัญหาของ Nvidia รุ่นก่อนหน้ามาวันนี้ Nvidia รุ่น 1.0-8756 รุ่นล่าสุดทำเอาปวดหัวคือจอหลักของเครื่องมันดำสนิทไม่ขึ้นอะไรเลย ปกติจะขึ้นแค่ 800×600 คือไม่ได้ set อะไรไปนะครับแต่ตอนนี้ใช้ config เก่าอยู่มันเลย blank แรกๆ ก็มุ่งความสนใจไปที่ EDID รุ่นเก่ากว่านี้จะ set ประมาณ

    Option         "NoDDC" "1"
Option "IgnoreEDID" "1"

ไล่ดู log มันก็บอกว่าสอง options นี้ถูกยกเลิกไปแล้ว ใช้
Option "UseEDID"
แทนทำให้ปักใจเชื่อว่าปิด EDID ไม่ถูกมากขึ้นปิดแล้วปิดอีกสาระพัดเพราะมันมีสาขาย่อยมาอีกสองสาม options ที่เกี่ยวกับ EDID ใส่โน้นก็ไม่ได้ใส่นี้ก็ไม่ได้เลยลอง Search Google อีกสักครั้ง (ก่อนนั้นนับครั้งไม่ถ้วน) ก็ไปเจอที่บอร์ดของ Nvidia พูดถึง Option "ModeValidation" และ Option "ExactModeTimingsDVI" ลองที่ละ option เชื่อว่าอันแรกก่อนฮ๋าๆ ลองใส่ก็ยังไม่ได้แฮะ เชื่อว่าอันแรกเพราะว่าใน log มันพูดถึง ModeValidation ด้วย ในที่สุดก็ลอง option หลังได้ผลแฮะร้องเย้!! ดังๆ เลยเหอะๆที่ไม่คิดว่า option นี้เพราะว่ามันเป็น DVI ใครจะไปนึกละว่า LCD มันต่อด้วย port นี้ไม่เห็นนี่หว่าสรุปว่าใส่ option ดังนี้ครับ

         Option         "UseEDID" "0"
Option "UseEdidDpi" "0"
Option "UseEdidFreqs" "0"
Option "RenderAccel" "1"
Option "ModeValidation" "NoMaxSizeCheck;NoEdidDFPMaxSizeCheck"
Option "ExactModeTimingsDVI" "1"

เครื่องอื่นก็ลองศึกษาดูครับอ่านจาก README ของ Driver Nvidia ก็ได้ถ้าเข้าใจนะครับ
สรุป
Nvidia GeForcr4 420 Go บน Toshiba Satellite 2410 กับ Nvidia Driver 1.0-8756 set ค่าพื้นฐานดังต่อไปนี้เล่นได้แน่นอน
kernel module options

 options nvidia NVreg_SoftEDIDs=0 NVreg_Mobile=1  


/etc/X11/xorg.conf

Section "Device"
Identifier "NVIDIA Corporation NV17 [GeForce4 420 Go]"
Driver "nvidia"
BusID "PCI:1:0:0"
Option "UseEDID" "0"
Option "UseEdidDpi" "0"
Option "UseEdidFreqs" "0"
Option "RenderAccel" "1"
Option "NvAGP" "1"
Option "ModeValidation" "NoMaxSizeCheck;NoEdidDFPMaxSizeCheck"
Option "ExactModeTimingsDVI" "1"
EndSection

เรื่องต่อไปก็จะมาเล่าการ set ให้ใช้ TwinView บนน้องโตกันต่อ

Copyright © 2016 MrChoke.Org

Theme by Anders NorenUp ↑