修正 Pardus KVM 虛擬機器中顯示解析度卡在 1024x768 的問題

為什麼 Pardus KVM 虛擬機器可能會卡在 1024x768 解析度?

如果 Pardus 虛擬機器始終無法提供高於 1024x768 的分辨率,通常並非簡單的桌面設定問題。關鍵在於,虛擬機器是否真的從 KVM/QEMU 獲得了更大的虛擬顯示模式,以及桌面工作階段是否能夠回應縮放事件。

預期結果很簡單:調整檢視器視窗大小或選擇更大分辨率模式後,Pardus 應該會顯示 1366x768、1600x900 或 1920x1080 等分辨率,而不是將其硬性最大值報告為 1024x768。剪貼簿整合和流暢的指標行為在 SPICE 環境下是有用的輔助指標,但解析度才是主要測試標準。

本指南主要適用於在 KVM/QEMU 下運作、使用 libvirt 和 SPICE 或圖形控制台的 Pardus 桌面虛擬機器。 Pardus 25.0 於 2025 年 11 月發布,官方 Pardus 下載倉庫也提供了 2026 年 3 月發布的 Pardus 25.1 鏡像。由於 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 顯示設定顯示 1024 x 768 分辨率,同時終端命令標識出 X11 會話、QXL 圖形以及 1024 x 768 xrandr 最大值。
檢查 Pardus 是否僅設定為 1024x768,或客戶機是否將 1024x768 報告為最大虛擬顯示尺寸。

2. 檢查KVM主機上虛擬機器的視訊和顯示設備

在更改虛擬機器的虛擬視訊硬體之前,請務必先完全關閉虛擬機器。在虛擬機器管理器中,開啟虛擬機器硬體詳細信息,並檢查顯示設備和視訊設備。常見的 SPICE 配置使用 SPICE 顯示設備以及 QXL 或 Virtio 視訊設備。

Libvirt 文件中列出了幾種支援的視訊模型類型,包括qxl和virtio。 QEMU 將 Virtio GPU 描述為 Linux 虛擬機器的半虛擬化 GPU/顯示控制器,並建議在無需模擬特定實體硬體的情況下使用 VirtIO 裝置。您可以查看libvirt 視訊設備文件和QEMU VirtIO GPU 文件。

如果虛擬機器已經在使用 QXL 和 SPICE,請不要一次變更所有配置。先保留現有配置,然後安裝 SPICE 客戶機代理程式。這樣可以進行一次乾淨的測試:如果動態解析度開始正常運作,則無需變更虛擬 GPU。

如果虛擬機器使用的是舊的通用 VGA 或 Cirrus 顯示卡,那麼對於現代 Linux 桌面系統來說,升級到 QXL 或 Virtio 顯示卡通常更為合適。如果您之後選擇 Virtio 顯示卡,請先不要強制啟用 3D 加速。 QEMU 的文件指出,Virtio GPU 加速模式對主機、核心、Mesa 和渲染器都有額外的要求。因此,基本的 2D Virtio GPU 配置是更安全的故障排除基準。

虛擬機器管理器硬體詳細資訊顯示了 Pardus 25 虛擬機器的 SPICE 顯示器和 QXL 視訊設備
在 Pardus 中變更軟體包之前,請先驗證主機上虛擬機器的顯示和視訊裝置。

3. 在 Pardus 中安裝 SPICE 訪客代理

當虛擬機器使用 SPICE 顯示時,最有效且風險最低的修復方法是確保spice-vdagent已在客戶機中安裝 SPICE:

sudo apt update
sudo apt install spice-vdagent

然後登出並重新登錄,或重新啟動虛擬機器。 Debian 軟體包描述中spice-vdagent明確列出了自動將 X 會話解析度調整為用戶端解析度的功能之一。 Pardus 是基於 Debian,因此該軟體包可在當前 Pardus 版本使用的 Debian 衍生軟體包生態系統中找到。 Debian 穩定版目前包含spice-vdagent0.22.1-4.1 版本。請參閱Debian spice-vdagent 軟體包頁面。

安裝完成後,檢查守護程式和用戶端進程:

systemctl status spice-vdagentd.service --no-pager
pgrep -a spice-vdagent

運作中的系統守護程式固然有用,但使用者會話元件也同樣重要。 Debian 的軟體包文件指出,自動解析處理依賴正在運行代理程式的活動圖形會話。

如果虛擬機器在 X.Org 下使用 QXL,且圖形驅動程式似乎缺失,請檢查是否已安裝 QXL X.Org 驅動程式套件:

dpkg -l xserver-xorg-video-qxl
sudo apt install xserver-xorg-video-qxl

僅當虛擬機器實際使用 QXL 時才需要執行此操作。該軟體包專為 SPICE 相容的 KVM/QEMU 環境中的 QXL 設備而設計;虛擬機器恰好運行在 KVM 下並不需要它。 Debian 穩定版目前包含xserver-xorg-video-qxl0.1.6-1.1 版本,相關文件請參閱Debian QXL 驅動程式頁面。

Pardus 終端機顯示 spice-vdagent 已安裝,且 SPICE vdagent 守護程式的狀態檢查成功。
當虛擬機器使用 SPICE 控制台時,請先安裝 SPICE 用戶機代理程式;它負責客戶機端集成,包括顯示調整大小處理。

4. 在變更虛擬 GPU 之前,請重新測試動態調整大小功能

重新登入後,打開圖形控制台並調整視窗大小。如果您的檢視器提供縮放至視窗大小或自動調整大小選項,請啟用調整用戶端視窗大小而非僅拉伸渲染影像的選項。

對於 X11,請xrandr --current再次運行。成功後,應該會顯示更大的最大值和更多模式,或者當前模式應該在檢視器視窗大小改變時自動變更。您也可以開啟 Pardus 顯示設置,並驗證是否可以選擇更大的、更接近原生解析度的顯示模式。

不要僅根據控制台視窗看起來是否更大來判斷是否成功。檢視器可以將 1024x768 的幀緩衝區縮放以填充更大的窗口,這樣無需提高虛擬機器解析度即可產生更大的影像。可靠的指標是虛擬機器報告的模式以及實際可用的桌面工作空間大小。

Pardus 顯示設定顯示解析度為 1920 x 1080,而 xrandr 列出了多種解析度模式,最高可達 1920 x 1080。
理想的最終狀態是更大的訪客模式,例如 1920x1080,並提供多種解析度選擇,而不是固定的 1024x768 上限。

如果 QXL 仍然只能顯示 1024x768 分辨率,請切換到 Virtio 視訊。

如果 SPICE 代理程式已安裝並處於活動狀態,但虛擬機器仍只顯示 1024x768 分辨率,請逐層進行變更。關閉虛擬機器電源,開啟視訊硬體設置,並將視訊模型從 QXL 或傳統 VGA 切換到 Virtio。除非有特殊原因需要變更遠端顯示協議,否則請保留 SPICE 顯示設定。

啟動 Pardus 系統並重複硬體和模式檢查:

lspci -nnk | grep -A3 -E 'VGA|Display'
lsmod | grep virtio_gpu

在 X11 會話中,也執行該指令xrandr --current。 QEMU 指出 Virtio GPU 需要 Linux 用戶端核心支援CONFIG_DRM_VIRTIO_GPU;主流發行版核心通常提供此功能,但自訂核心可能不支援。如果更改後客戶機啟動時出現黑屏,請從主機關閉客戶機並恢復視訊模型,而不是盲目地繼續修改客戶機。

xrandr 何時能提供幫助——以及何時它是錯誤的修復方法。

如果xrandr清單中已經包含了您想要的分辨率,那麼選擇它可以作為一個有用的診斷步驟:

xrandr --output Virtual-1 --mode 1920x1080

替換Virtual-1為實際顯示的輸出名稱xrandr。此指令僅適用於 X11,且僅當輸出已處於該模式時才適用。

如果所需的顯示模式不存在,且最大幀緩衝區大小仍為 1024x768,則手動注入模式行通常只是治標不治本。在 KVM 虛擬機器中,虛擬 GPU 和顯示整合通常應該會聲明可用的顯示模式。請先修復此路徑。 X.Org RandR 文件是 X11 動態顯示配置的主要參考資料。

如何判斷修復是否完成

查看結果良好如果仍然失敗
訪客模式列表高於 1024x768 的模式出現請重新檢查視訊型號和客戶機圖形驅動程式
視窗大小調整訪客解析度遵循 SPICE 檢視器的大小驗證spice-vdagent及其會話過程
顯示設定無需自訂模型行即可選擇更高的分辨率關閉虛擬機器後,請嘗試使用 Virtio 視訊。
重啟重啟後,更高模式仍然可用。檢查是否仍連接正確的虛擬 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 版本、控制台用戶端、桌面會話、核心以及是否啟用 3D 加速都會影響最終結果。上述步驟有意從影響最小的變更開始,並以客戶機報告的解決方案作為成功標準。

如果虛擬機器是透過其他顯示路徑存取的(例如普通的 VNC、GPU 直通、遠端桌面連接到虛擬機器或雲端控制台),則 SPICE 特有的步驟可能不適用。同樣,缺少相關 DRM 驅動程式的自訂核心可能需要內核配置,而不是桌面軟體包。

實際的改進目標在於:Pardus 能夠提供所需的進階模式,檢視器可以調整大小而不只是簡單地縮放 1024x768 的幀緩衝區,並且調整後的效果在重新啟動後仍然有效。如果滿足這些條件,則無需新增額外的模型行、X.Org 設定檔或變更 3D 加速設定。

留下評論

修正 Pardus Linux 23 上無法偵測到音效卡驅動程式的問題

修正 Pardus Linux 23 上無法偵測到音效卡驅動程式的問題

追蹤 Pardus Linux 23 上缺少的音效卡問題。安全地檢查 ALSA 檢測、核心模組、音訊服務、輸出設定檔、韌體和更新。

修正 Pardus KVM 虛擬機器中顯示解析度卡在 1024x768 的問題

修正 Pardus KVM 虛擬機器中顯示解析度卡在 1024x768 的問題

修正 Pardus KVM 虛擬機器卡在 1024x768 解析度的問題,檢查虛擬 GPU、SPICE 代理、X11 或 Wayland 會話,並正確驗證更高的顯示模式。

如何在 Debian 系統中開機時自動掛載遠端 SSHFS 目錄

如何在 Debian 系統中開機時自動掛載遠端 SSHFS 目錄

使用基於金鑰的 SSH、/etc/fstab、systemd 網路選項、自動掛載和驗證步驟,在 Debian 啟動時自動掛載遠端 SSHFS 目錄。

修正 SLES 系統升級期間出現的「無法分配記憶體」錯誤

修正 SLES 系統升級期間出現的「無法分配記憶體」錯誤

排查 SLES 升級過程中出現的「無法分配記憶體」問題。檢查 RAM、交換空間、OOM 日誌和進程限制,然後在不中斷軟體包事務的情況下進行復原。

修復 Harmonica OS 平板電腦的觸控螢幕校準問題:選擇合適的 Linux 修復方案

修復 Harmonica OS 平板電腦的觸控螢幕校準問題:選擇合適的 Linux 修復方案

追蹤 Harmonica OS (HamoniKR) 平板電腦的觸控偏移、旋轉和顯示對映問題。比較 X.Org 和 libinput 的修復方案,安全地進行測試,並了解何時校準無效。

如何在現有的 Debian 12 系統上設定加密的交換分割區

如何在現有的 Debian 12 系統上設定加密的交換分割區

使用 dm-crypt 對現有的 Debian 12 交換分割區進行加密,每次啟動時使用新的隨機金鑰,並設定 /etc/crypttab、/etc/fstab 和安全驗證步驟。

如何透過電子郵件警報監控Ubuntu上的SMART硬碟健康狀況

如何透過電子郵件警報監控Ubuntu上的SMART硬碟健康狀況

在 Ubuntu 系統上安裝 smartmontools,用於監控硬碟健康狀況並發送 SMART 郵件警報。檢查設備支援狀況、設定郵件發送、測試通知功能並檢查故障。

修正在 UEFI 系統上安裝 Debian 後出現的「找不到可啟動裝置」錯誤

修正在 UEFI 系統上安裝 Debian 後出現的「找不到可啟動裝置」錯誤

透過檢查安裝程式啟動模式、EFI 系統分割區、NVRAM 條目、GRUB EFI 檔案、安全啟動和韌體回退來修復 Debian UEFI 啟動失敗。

如何在 Ubuntu 桌面系統上設定 Btrfs 自動快照

如何在 Ubuntu 桌面系統上設定 Btrfs 自動快照

配置 Snapper 以在 Ubuntu 桌面上建立和清理定時產生的 Btrfs 快照。首先檢查子磁碟區佈局,啟用 systemd 定時器,並安全地驗證保留策略。

安全修復 SUSE Linux Enterprise LVM 精簡配置空間不足的問題

安全修復 SUSE Linux Enterprise LVM 精簡配置空間不足的問題

透過區分資料耗盡和元資料耗盡、擴展儲存、修復元資料和啟用自動擴展,診斷和恢復 SUSE Linux Enterprise 上的完整 LVM 精簡池。