【问题标题】:Why does not framebuffer appear in /dev? Why is VM in wrong resolution?为什么 framebuffer 没有出现在 /dev 中?为什么 VM 分辨率错误?
【发布时间】:2023-01-27 01:53:41
【问题描述】:

伙计们。

我最近将我的虚拟机构建过程从 yocto sumo 迁移到了 dunfell。从那时起,我一直面临着一些关于图形的问题。

首先,最终的 vmdk 是完全自定义的 linux,没有任何现成的 GUI(即 kde、gnome、xfce)。图形界面由在 Qt 下开发的专有代码管理。

修改前,虚拟机以 1024x768 图形分辨率运行。然而,在它之后,分辨率保持在 800x600。 我已经尝试通过 xrandr 命令更改它,但我得到了以下结果:

root@ams-0:~# xrandr
Screen 0: minimum 0 x 0, current 3520 x 1080, maximum 32768 x 32768
default connected primary 3520x1080+0+0 931mm x 285mm
   3520x1080      0.00*
root@ams-0:~# xrandr -s 1024x768
Size 1024x768 not found in available modes
root@ams-0:~#

在调查期间,我注意到 /dev 中不存在帧缓冲设备,尽管 toaster 将 xf86-video-fbdev 列为已安装的软件包。

除了使用 xrandr 更改分辨率外,我还尝试激活这些内核配置:

CONFIG_BLK_MQ_VIRTIO=y
CONFIG_VIRTIO_BLK=y
CONFIG_SCSI_VIRTIO=y
CONFIG_VIRTIO_NET=y
CONFIG_VIRTIO_CONSOLE=y
CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_DRM_VIRTIO_GPU=y
CONFIG_VIRTIO=y
CONFIG_VIRTIO_MENU=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_VIRTIO_BALLOON=y
CONFIG_VIRTIO_MMIO=y
CONFIG_CRYPTO_DEV_VIRTIO=y

问题依然存在。

我相信在 cmets 中会询问一些内核配置,所以我已经展示了它们:

CONFIG_FB=y
CONFIG_FB_UVESA=m
CONFIG_FB_VESA=y
CONFIG_FB_EFI=y

CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768

有人知道为什么 framebuffer 没有列在 /dev 中吗?

我怎样才能激活/dev/fb?

如何更改生成的虚拟机的分辨率?

【问题讨论】:

    标签: linux graphics driver yocto


    【解决方案1】:

    请告诉我,您是否设法解决了这个问题?

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-10
    • 2011-04-23
    相关资源
    最近更新 更多