在 QNX 中配置屏幕,drm-intel 崩溃

在 QNX 中配置屏幕,drm-intel 崩溃

我正在构建 QNX OS (BSP 7.0 x86_64) 并且我有一个工作映像。我在 qemu 模拟环境上运行它。

Qemu虚拟机运行在Windows主机中,调用如下:

./qemu-system-x86_64.exe -m 1G -smp 4
 -hda QNX.img 
-realtime mlock=off -vga std -sdl
-nic tap,id=mynet0,ifname=tap0,model=e1000,script=no,downscript=no

开始后我运行:

export GRAPHICS_ROOT=/usr/lib/graphics/intel-drm
export LD_LIBRARY_PATH=$(getconf _CS_LIBPATH):$GRAPHICS_ROOT

使用有效的环境变量,我启动 intel-drm。没有生成日志,因此看起来它工作正常。

 pidin | grep drm-intel
  430102   1 _64/sbin/drm-intel  10r SIGWAITINFO
  430102   2 _64/sbin/drm-intel  10r CONDVAR     (0x8452bb0)
  430102   3 _64/sbin/drm-intel  10r CONDVAR     (0x824cefc)
  430102   4 _64/sbin/drm-intel  10r RECEIVE     1
  430102   5 _64/sbin/drm-intel  10r RECEIVE     1
  430102   6 _64/sbin/drm-intel  10r RECEIVE     1
  462873   1 _64/sbin/drm-intel  10r SIGWAITINFO
  462873   2 _64/sbin/drm-intel  10r CONDVAR     (0x8452bb0)
  462873   3 _64/sbin/drm-intel  10r CONDVAR     (0x824cefc)
  462873   4 _64/sbin/drm-intel  10r RECEIVE     1
  462873   5 _64/sbin/drm-intel  10r RECEIVE     1
  462873   6 _64/sbin/drm-intel  10r RECEIVE     1

当尝试启动 drm-probe-displays 时就会出现问题。执行后立即崩溃并导致 intel-drm 崩溃。

Process 577558 (drm-intel) terminated SIGSEGV code=1 fltno=11 ip=000000000809057f(/x86_64/sbin/drm-intel@main+0x000000000003181f) mapaddr=000000000004857f. ref=0000000000000028
Please run drm server first!
# Jun 16 10:07:54.049                       dumper.4                 slog      0  run fault pid 577558 tid 4 signal 11 code 1 ip 0x809057f x86_64/sbin/drm-intel
Jun 16 10:07:54.050                       dumper.4                 slog      0  pid 577558 core file created at /tmp/drm-intel.core

目前还没有关于此次事故的更多信息。通过检查 pci-tool,我可以看到设备供应商 ID/设备 ID 不是英特尔特定的。

可能是该设备产生的错误吗?

如果是这样,有谁知道如何在 qemu 上模拟英特尔显卡?

B000:D02:F00 @ idx 4 vid/did: 1234/1111 Technical Corp, <设备 ID - 未知> 类/子类/reg: 03/00/00 PC 兼容 VGA 显示控制器

关于根本原因可能是什么的任何线索吗?

相关内容