เหตุใดเครื่องเสมือน Pardus KVM จึงติดอยู่ที่ความละเอียด 1024x768
เครื่องเสมือน Pardus ที่ไม่เคยแสดงความละเอียดหน้าจอเกิน 1024x768 มักจะไม่ใช่ปัญหาที่เกิดจากการตั้งค่าเดสก์ท็อปแบบง่ายๆ คำถามสำคัญคือ ระบบปฏิบัติการแขกรับโหมดการแสดงผลเสมือนที่ใหญ่กว่าจาก KVM/QEMU จริงหรือไม่ และเซสชันเดสก์ท็อปสามารถตอบสนองต่อเหตุการณ์การปรับขนาดหน้าจอได้หรือไม่
ผลลัพธ์ที่ต้องการนั้นตรงไปตรงมา: หลังจากปรับขนาดหน้าต่างแสดงผลหรือเลือกโหมดที่ใหญ่ขึ้น Pardus ควรแสดงความละเอียด เช่น 1366x768, 1600x900 หรือ 1920x1080 แทนที่จะรายงาน 1024x768 เป็นความละเอียดสูงสุดที่กำหนดไว้ การทำงานร่วมกับคลิปบอร์ดและพฤติกรรมของตัวชี้เมาส์ที่ราบรื่นเป็นสัญญาณรองที่มีประโยชน์เมื่อใช้ SPICE แต่ความละเอียดคือการทดสอบหลัก
คู่มือนี้ใช้ได้โดยตรงที่สุดกับระบบปฏิบัติการเสมือน Pardus ที่ทำงานภายใต้ KVM/QEMU ร่วมกับ libvirt และคอนโซล SPICE หรือคอนโซลแบบกราฟิก Pardus 25.0 เปิดตัวในเดือนพฤศจิกายน 2025 และคลังดาวน์โหลดอย่างเป็นทางการของ Pardus ยังมีอิมเมจ Pardus 25.1 จากเดือนมีนาคม 2026 เมนูเดสก์ท็อปอาจแตกต่างกันระหว่างรุ่น XFCE และ GNOME ดังนั้นการตรวจสอบด้านล่างจึงใช้คำสั่งและการตั้งค่าเวอร์ชวลไลเซชันที่ไม่ขึ้นอยู่กับเชลล์เดสก์ท็อปใดเชลล์หนึ่งมากนัก โปรดดูคลังดาวน์โหลดอย่างเป็นทางการของ Pardus 25สำหรับอิมเมจการติดตั้งปัจจุบัน
1. ตรวจสอบให้แน่ใจว่าความละเอียดหน้าจอสูงสุดของเบราว์เซอร์ของแขกคือ 1024x768 จริงๆ
เริ่มต้นจากภายในโปรแกรม Pardus เปิดเทอร์มินัล และระบุประเภทเซสชันและฮาร์ดแวร์แสดงผลเสมือน:
echo "$XDG_SESSION_TYPE"
lspci -nnk | grep -A3 -E 'VGA|Display'
หากเซสชันเป็น X11 ให้เรียกใช้คำสั่งต่อไปนี้ด้วย:
xrandr --current
โปรดสังเกตสองสิ่ง ประการแรก สังเกตว่า GPU เสมือนเป็น QXL, Virtio GPU, อะแดปเตอร์ VGA ทั่วไป หรืออย่างอื่น ประการที่สอง ตรวจสอบรายการโหมด หาก 1920x1080 อยู่ในรายการอยู่แล้ว แสดงว่าระบบเวอร์ชวลไลเซชันน่าจะรองรับความละเอียดที่สูงกว่านั้นได้ และปัญหาอาจเป็นปัญหาเกี่ยวกับการตั้งค่าเดสก์ท็อปหรือเหตุการณ์การปรับขนาดมากกว่า หากxrandrระบุว่าความละเอียดสูงสุดคือ 1024x768 การเปลี่ยนความละเอียดเดสก์ท็อปในกล่องโต้ตอบเพียงอย่างเดียวอาจไม่ช่วยแก้ปัญหา
ในเซสชัน Wayland นั้นxrandrไม่ใช่เครื่องมือการกำหนดค่าที่เชื่อถือได้สำหรับตัวจัดการการแสดงผล ดังนั้นควรใช้เป็นเพียงข้อมูลเพิ่มเติมเท่านั้น ประเภทของเซสชันมีความสำคัญ เนื่องจาก QXL มักเกี่ยวข้องกับเวิร์กโฟลว์ X.Org/SPICE ในขณะที่ Virtio GPU เป็นอุปกรณ์กราฟิกแบบพาราเวอร์ชวลไลซ์ที่ทันสมัยกว่าใน QEMU
ตรวจสอบว่า Pardus ถูกตั้งค่าไว้ที่ 1024x768 เฉยๆ หรือว่าโปรแกรมแขกรับเชิญรายงานว่าขนาดหน้าจอเสมือนสูงสุดคือ 1024x768
2. ตรวจสอบอุปกรณ์วิดีโอและจอแสดงผลของ VM บนโฮสต์ KVM
ปิดระบบเครื่องเสมือนให้สนิทก่อนที่จะเปลี่ยนฮาร์ดแวร์วิดีโอเสมือน ใน Virtual Machine Manager ให้เปิดรายละเอียดฮาร์ดแวร์ของเครื่องเสมือนและตรวจสอบทั้งอุปกรณ์แสดงผลและอุปกรณ์วิดีโอ การกำหนดค่า SPICE ทั่วไปจะใช้จอแสดงผล SPICE ร่วมกับวิดีโอ QXL หรือ Virtio
เอกสารของ Libvirt ระบุประเภทโมเดลวิดีโอที่รองรับหลายประเภท รวมถึงqxlและvirtioQEMU อธิบาย Virtio GPU ว่าเป็นตัวควบคุม GPU/จอแสดงผลแบบพาราเวอร์ชวลไลซ์สำหรับระบบปฏิบัติการ Linux และแนะนำให้ใช้อุปกรณ์ VirtIO โดยทั่วไปเมื่อไม่มีความจำเป็นต้องจำลองฮาร์ดแวร์ทางกายภาพเฉพาะ คุณสามารถตรวจสอบเอกสารอุปกรณ์วิดีโอของ libvirtและเอกสาร VirtIO GPU ของ QEMUได้
หาก VM ของคุณใช้ QXL และ SPICE อยู่แล้ว อย่าเพิ่งเปลี่ยนทุกอย่างพร้อมกัน ให้คงการตั้งค่าเดิมไว้ และติดตั้ง SPICE guest agent ก่อน วิธีนี้จะช่วยให้คุณทดสอบได้อย่างสะอาดหมดจด: หากการแสดงผลความละเอียดแบบไดนามิกทำงานได้ ก็ไม่มีเหตุผลที่จะต้องเปลี่ยน GPU เสมือน
หาก VM ใช้การ์ดจอ VGA หรือ Cirrus รุ่นเก่า การเปลี่ยนไปใช้ QXL หรือ Virtio มักจะเหมาะสมกว่าสำหรับเดสก์ท็อป Linux รุ่นใหม่ หากคุณเลือกใช้ Virtio ในภายหลัง ให้เริ่มต้นโดยไม่ต้องบังคับใช้การเร่งความเร็ว 3 มิติ เอกสารของ QEMU ระบุว่าโหมด GPU Virtio ที่เร่งความเร็วแล้วมีข้อกำหนดเพิ่มเติมสำหรับโฮสต์ เคอร์เนล Mesa และตัวเรนเดอร์ ดังนั้น การตั้งค่า GPU Virtio 2 มิติแบบพื้นฐานจึงเป็นจุดเริ่มต้นในการแก้ไขปัญหาที่ปลอดภัยกว่า
ตรวจสอบอุปกรณ์แสดงผลและวิดีโอของ VM บนโฮสต์ก่อนทำการเปลี่ยนแปลงแพ็กเกจภายใน Pardus
3. ติดตั้งเอเจนต์แขก SPICE ใน Pardus
เมื่อ VM ใช้จอแสดงผล SPICE วิธีแก้ไขที่ได้ผลดีที่สุดและมีความเสี่ยงต่ำคือตรวจสอบให้แน่ใจว่าspice-vdagentได้ติดตั้ง SPICE ไว้ในระบบปฏิบัติการแขกแล้ว:
sudo apt update
sudo apt install spice-vdagent
จากนั้นให้ล็อกเอาต์แล้วล็อกอินใหม่ หรือรีบูตเครื่องเสมือน คำอธิบายแพ็กเกจ Debian spice-vdagentระบุอย่างชัดเจนว่าฟังก์ชันหนึ่งของแพ็กเกจนี้คือการปรับความละเอียดของเซสชัน X ให้ตรงกับความละเอียดของไคลเอ็นต์โดยอัตโนมัติ Pardus ใช้ Debian เป็นพื้นฐาน ดังนั้นแพ็กเกจนี้จึงมีอยู่ในระบบนิเวศของแพ็กเกจที่พัฒนามาจาก Debian ซึ่งใช้โดย Pardus เวอร์ชันปัจจุบัน Debian stable ปัจจุบันมีเวอร์ชันspice-vdagent0.22.1-4.1 ดูรายละเอียดเพิ่มเติมได้ที่ หน้าแพ็กเก จspice-vdagent ของ Debian
หลังจากติดตั้งเสร็จแล้ว ให้ตรวจสอบกระบวนการทำงานเบื้องหลังและกระบวนการทำงานฝั่งผู้ใช้:
systemctl status spice-vdagentd.service --no-pager
pgrep -a spice-vdagent
การทำงานของเดมอนระบบเป็นสิ่งที่มีประโยชน์ แต่ส่วนประกอบของเซสชันผู้ใช้ก็มีความสำคัญเช่นกัน เอกสารประกอบแพ็กเกจของ Debian ระบุว่า การจัดการการแก้ไขปัญหาอัตโนมัติขึ้นอยู่กับเซสชันกราฟิกที่ใช้งานอยู่ซึ่งเรียกใช้กระบวนการเอเจนต์
หากเครื่องเสมือน (VM) ใช้ QXL ภายใต้ X.Org และไดรเวอร์กราฟิกแสดงว่าหายไป ให้ตรวจสอบว่าได้ติดตั้งแพ็คเกจไดรเวอร์ QXL X.Org แล้วหรือไม่:
dpkg -l xserver-xorg-video-qxl
sudo apt install xserver-xorg-video-qxl
ทำเช่นนี้เฉพาะเมื่อเครื่องเสมือนใช้งาน QXL จริงๆ เท่านั้น แพ็กเกจนี้มีอยู่เฉพาะสำหรับอุปกรณ์ QXL ในสภาพแวดล้อม KVM/QEMU ที่เข้ากันได้กับ SPICE ไม่จำเป็นต้องใช้เพียงเพราะเครื่องเสมือนทำงานภายใต้ KVM ปัจจุบัน Debian stable มีแพ็กเกจเวอร์ชันxserver-xorg-video-qxl0.1.6-1.1 ซึ่งมีรายละเอียดอยู่ในหน้าไดรเวอร์ QXL ของ Debian
หากเครื่องเสมือน (VM) ใช้คอนโซล SPICE ให้ติดตั้งเอเจนต์สำหรับเครื่องเสมือน SPICE ก่อน เนื่องจากเอเจนต์นี้มีหน้าที่ในการผสานรวมฝั่งเครื่องเสมือน รวมถึงการจัดการการปรับขนาดหน้าจอ
4. ทดสอบการปรับขนาดแบบไดนามิกอีกครั้งก่อนเปลี่ยน GPU เสมือน
หลังจากล็อกอินกลับเข้ามาแล้ว ให้เปิดคอนโซลกราฟิกและปรับขนาดหน้าต่าง หากโปรแกรมดูภาพของคุณมีตัวเลือกปรับขนาดให้พอดีกับหน้าต่างหรือปรับขนาดอัตโนมัติ ให้เปิดใช้งานตัวเลือกที่ปรับขนาดหน้าต่างของโปรแกรมแทนที่จะยืดภาพที่แสดงผลเพียงอย่างเดียว
สำหรับ X11 ให้ลองรันxrandr --currentอีกครั้ง ผลลัพธ์ที่สำเร็จควรแสดงค่าสูงสุดที่มากขึ้นและโหมดเพิ่มเติม หรือโหมดปัจจุบันควรเปลี่ยนโดยอัตโนมัติเมื่อขนาดหน้าต่างแสดงผลเปลี่ยนแปลง คุณยังสามารถเปิดการตั้งค่าการแสดงผลของ Pardus และตรวจสอบว่าสามารถเลือกความละเอียดที่ดูเหมือนภาพต้นฉบับขนาดใหญ่ได้หรือไม่
อย่าตัดสินความสำเร็จเพียงแค่ว่าหน้าต่างคอนโซลดูใหญ่ขึ้นหรือไม่ โปรแกรมดูภาพสามารถปรับขนาดเฟรมบัฟเฟอร์ขนาด 1024x768 ให้เต็มหน้าต่างขนาดใหญ่ ซึ่งจะทำให้ได้ภาพที่ใหญ่ขึ้นโดยไม่ต้องเพิ่มความละเอียดของระบบปฏิบัติการแขก ตัวบ่งชี้ที่เชื่อถือได้คือโหมดที่ระบบปฏิบัติการแขกรายงานและปริมาณพื้นที่ทำงานบนเดสก์ท็อปที่ใช้งานได้จริง
เป้าหมายสุดท้ายที่ดีคือโหมดแสดงผลสำหรับแขกที่มีขนาดใหญ่ขึ้น เช่น 1920x1080 โดยแสดงความละเอียดหลายระดับ แทนที่จะจำกัดไว้ที่ 1024x768 เท่านั้น
หาก QXL ยังคงแสดงความละเอียดสูงสุดที่ 1024x768 ให้เปลี่ยนไปใช้ Virtio video
หากติดตั้งและเปิดใช้งานเอเจนต์ SPICE แล้ว แต่เครื่องเสมือนยังคงแสดงผลที่ความละเอียด 1024x768 เท่านั้น ให้เปลี่ยนทีละชั้น ปิดเครื่องเสมือน เปิดการตั้งค่าฮาร์ดแวร์วิดีโอ และเปลี่ยนโมเดลวิดีโอจาก QXL หรือ VGA แบบเดิมเป็น Virtio คงการตั้งค่าการแสดงผล SPICE ไว้ เว้นแต่คุณจะมีเหตุผลเฉพาะที่ต้องเปลี่ยนโปรโตคอลการแสดงผลระยะไกลด้วย
เปิดโปรแกรม Pardus และทำการตรวจสอบฮาร์ดแวร์และโหมดการทำงานซ้ำอีกครั้ง:
lspci -nnk | grep -A3 -E 'VGA|Display'
lsmod | grep virtio_gpu
ในเซสชัน X11 ให้รันคำสั่งด้วยxrandr --currentQEMU ระบุว่า GPU Virtio ต้องการการสนับสนุนจากเคอร์เนล Linux สำหรับCONFIG_DRM_VIRTIO_GPU; โดยปกติเคอร์เนลของระบบปฏิบัติการหลักๆ จะให้การสนับสนุนนี้ แต่เคอร์เนลที่พัฒนาเองอาจไม่ให้ หากระบบปฏิบัติการแขกบูตขึ้นมาแล้วแสดงหน้าจอสีดำหลังจากทำการเปลี่ยนแปลง ให้ปิดเครื่องจากโฮสต์และคืนค่าโมเดลวิดีโอกลับแทนที่จะทำการแก้ไขระบบปฏิบัติการแขกต่อไปโดยไม่รู้ข้อมูลอะไรเลย
เมื่อใดที่ xrandr สามารถช่วยได้ และเมื่อใดที่มันไม่ใช่ทางแก้ที่ถูกต้อง
หากxrandrรายการความละเอียดที่คุณต้องการแสดงอยู่แล้ว การเลือกความละเอียดนั้นอาจเป็นขั้นตอนการวินิจฉัยที่มีประโยชน์:
xrandr --output Virtual-1 --mode 1920x1080
แทนที่Virtual-1ด้วยชื่อเอาต์พุตจริงที่แสดงโดยxrandrคำสั่งนี้ใช้ได้เฉพาะกับ X11 และเฉพาะเมื่อโหมดนั้นพร้อมใช้งานสำหรับเอาต์พุตแล้วเท่านั้น
หากไม่มีโหมดที่ต้องการและขนาดเฟรมบัฟเฟอร์สูงสุดยังคงเป็น 1024x768 การใส่ modeline ด้วยตนเองมักเป็นการแก้ปัญหาที่ปลายเหตุมากกว่าต้นเหตุ ในระบบปฏิบัติการแขก KVM นั้น GPU เสมือนและการรวมจอแสดงผลควรแจ้งโหมดที่ใช้งานได้ตามปกติ ดังนั้นควรแก้ไขส่วนนั้นก่อนเอกสาร X.Org RandRเป็นแหล่งอ้างอิงหลักสำหรับการกำหนดค่าจอแสดงผลแบบไดนามิกของ X11
จะตัดสินได้อย่างไรว่าการแก้ไขเสร็จสมบูรณ์แล้ว
| ตรวจสอบ | ผลลัพธ์ที่ดี | ถ้ายังล้มเหลวอีก |
| รายการโหมดผู้เยี่ยมชม | โหมดที่มีความละเอียดสูงกว่า 1024x768 จะปรากฏขึ้น | ตรวจสอบรุ่นวิดีโอและไดรเวอร์กราฟิกของเครื่องเสมือนอีกครั้ง |
| ปรับขนาดหน้าต่าง | ความละเอียดหน้าจอของโปรแกรมดูข้อมูลจะเป็นไปตามขนาดของโปรแกรมดูข้อมูล SPICE | ตรวจสอบspice-vdagentและกระบวนการเซสชัน |
| การตั้งค่าการแสดงผล | สามารถเลือกความละเอียดที่สูงขึ้นได้โดยไม่ต้องกำหนดเส้นกำหนดรุ่นเอง | ลองใช้ Virtio Video หลังจากปิดเครื่อง VM แล้ว |
| รีบูต | โหมดระดับสูงยังคงใช้งานได้หลังจากรีสตาร์ท | ตรวจสอบว่า GPU เสมือนที่ถูกต้องยังคงเชื่อมต่ออยู่ และเอเจนต์เริ่มต้นทำงานตามปกติ |
| คุณภาพของภาพ | ตัวอักษรคมชัดที่ความละเอียดหน้าจอที่เลือกไว้ | ปิดใช้งานการยืดภาพฝั่งผู้ดู และใช้การปรับขนาดภาพแบบแขกแทน |
คำสั่งแก้ไขปัญหาที่มีประโยชน์
หากผลลัพธ์ยังคงไม่สอดคล้องกัน ให้รวบรวมคำสั่งเหล่านี้ก่อนทำการเปลี่ยนแปลงอื่น:
echo "$XDG_SESSION_TYPE"
lspci -nnk | grep -A3 -E 'VGA|Display'
systemctl status spice-vdagentd.service --no-pager
pgrep -a spice-vdagent
journalctl -b -u spice-vdagentd.service --no-pager
บน X11 ให้เพิ่ม:
xrandr --current
การตรวจสอบเหล่านี้แยกความล้มเหลวออกเป็นสี่ประเภท ได้แก่ โฮสต์แสดงอุปกรณ์วิดีโอเสมือนที่ไม่ถูกต้อง Pardus ขาดการผสานรวมกับระบบปฏิบัติการแขกที่เกี่ยวข้อง เอเจนต์ได้รับการติดตั้งแต่ไม่ได้ทำงานในเซสชันกราฟิก หรือเซสชันเดสก์ท็อปใช้สแต็กการแสดงผลที่ไม่ตอบสนองต่อกลไกการปรับขนาดที่คาดไว้
ข้อจำกัดของการแก้ไขนี้
ไม่มีตัวเลือก QXL หรือ Virtio ใดที่ดีที่สุดสำหรับทุกการติดตั้ง KVM เวอร์ชัน QEMU/libvirt ของโฮสต์ ไคลเอนต์คอนโซล เซสชันเดสก์ท็อป เคอร์เนล และการเปิดใช้งานการเร่งความเร็ว 3 มิติ ล้วนส่งผลต่อผลลัพธ์ ขั้นตอนข้างต้นเริ่มต้นด้วยการเปลี่ยนแปลงที่ส่งผลกระทบน้อยที่สุด และใช้ความละเอียดที่รายงานโดยระบบปฏิบัติการแขกเป็นเกณฑ์ความสำเร็จ
หากเข้าถึง VM ผ่านเส้นทางการแสดงผลอื่น เช่น VNC ทั่วไป การส่งผ่าน GPU การเชื่อมต่อ RDP ไปยังเครื่องเสมือน หรือคอนโซลบนคลาวด์ ขั้นตอนเฉพาะของ SPICE อาจใช้ไม่ได้ ในทำนองเดียวกัน เคอร์เนลแบบกำหนดเองที่ไม่มีไดรเวอร์ DRM ที่เกี่ยวข้อง อาจต้องใช้การกำหนดค่าเคอร์เนลแทนที่จะเป็นแพ็คเกจเดสก์ท็อป
จุดหยุดการทำงานที่ได้ผลจริงคือ เมื่อ Pardus แสดงโหมดที่สูงขึ้นตามที่ต้องการ ผู้ชมสามารถปรับขนาดได้โดยไม่ต้องปรับขนาดเฟรมบัฟเฟอร์ขนาด 1024x768 และผลลัพธ์ยังคงอยู่แม้หลังจากการรีบูต หากตรงตามเงื่อนไขเหล่านี้แล้ว ไม่จำเป็นต้องใช้ modelines เพิ่มเติม ไฟล์การกำหนดค่า X.Org หรือการเปลี่ยนแปลงการเร่งความเร็ว 3 มิติ