deuso / latx-build

Creative Commons Zero v1.0 Universal
51 stars 3 forks source link

latx 1.5.1 rc 新世界无法库直通 #3

Open phorcys opened 4 months ago

phorcys commented 4 months ago

新世界 arch debian aosc 运行 x64 linux版 glxgear,检查加载so列表, 发现只直通了 /usr/lib/libGLdispatch.so.0.0.0 /usr/lib/libGL.so.1.7.0 /usr/lib/libGLX.so.0.0.0 三个库, mesa, drm相关库没有直通

在wine下则全部没有直通


arch-loong64>lat-x86_64 --version
lat-x86_64 1.5.1-rc1-9-g73248b61a2
arch-loong64>ps ax|grep 40164
  40164 pts/0    Rl+    0:19 /usr/bin/lat-x86_64 /home/lin/Games/x64/usr/bin/glxgears
  40214 pts/2    S+     0:00 grep 40164
arch-loong64>cat /proc/40164/maps|grep "\.so"|awk '{print $6}'|sort|uniq|sort|grep -E "GL|radeon|drm|gl|vulkan"
/home/lin/.cache/latx/+usr+gnemul+lat-x86_64+usr+lib+dri+radeonsi_dri.so.aot2
/home/lin/.cache/latx/+usr+gnemul+lat-x86_64+usr+lib+libdrm_amdgpu.so.1.0.0.aot2
/home/lin/.cache/latx/+usr+gnemul+lat-x86_64+usr+lib+libdrm_intel.so.1.0.0.aot2
/home/lin/.cache/latx/+usr+gnemul+lat-x86_64+usr+lib+libdrm_nouveau.so.2.0.0.aot2
/home/lin/.cache/latx/+usr+gnemul+lat-x86_64+usr+lib+libdrm_radeon.so.1.0.1.aot2
/home/lin/.cache/latx/+usr+gnemul+lat-x86_64+usr+lib+libdrm.so.2.4.0.aot2
/home/lin/.cache/latx/+usr+gnemul+lat-x86_64+usr+lib+libglapi.so.0.0.0.aot2
/home/lin/.cache/latx/+usr+gnemul+lat-x86_64+usr+lib+libGLdispatch.so.0.0.0.aot2
/home/lin/.cache/latx/+usr+gnemul+lat-x86_64+usr+lib+libGL.so.1.7.0.aot2
/home/lin/.cache/latx/+usr+gnemul+lat-x86_64+usr+lib+libGLX_mesa.so.0.0.0.aot2
/home/lin/.cache/latx/+usr+gnemul+lat-x86_64+usr+lib+libGLX.so.0.0.0.aot2
/home/lin/.cache/latx/+usr+gnemul+lat-x86_64+usr+lib+libxcb-glx.so.0.0.0.aot2
/usr/gnemul/lat-x86_64/usr/lib/dri/radeonsi_dri.so
/usr/gnemul/lat-x86_64/usr/lib/libdrm_amdgpu.so.1.0.0
/usr/gnemul/lat-x86_64/usr/lib/libdrm_intel.so.1.0.0
/usr/gnemul/lat-x86_64/usr/lib/libdrm_nouveau.so.2.0.0
/usr/gnemul/lat-x86_64/usr/lib/libdrm_radeon.so.1.0.1
/usr/gnemul/lat-x86_64/usr/lib/libdrm.so.2.4.0
/usr/gnemul/lat-x86_64/usr/lib/libglapi.so.0.0.0
/usr/gnemul/lat-x86_64/usr/lib/libGLdispatch.so.0.0.0
/usr/gnemul/lat-x86_64/usr/lib/libGL.so.1.7.0
/usr/gnemul/lat-x86_64/usr/lib/libGLX_mesa.so.0.0.0
/usr/gnemul/lat-x86_64/usr/lib/libGLX.so.0.0.0
/usr/gnemul/lat-x86_64/usr/lib/libxcb-glx.so.0.0.0
/usr/lib/libGLdispatch.so.0.0.0
/usr/lib/libglib-2.0.so.0.7800.4
/usr/lib/libGL.so.1.7.0
/usr/lib/libGLX.so.0.0.0
deuso commented 3 months ago

1.5.2进行修复

phorcys commented 3 months ago

1.5.2 测试

arch下 gl vulkan直通均工作正常 debian 下 64位 gl vulkan直通均正常,可以直通原生x64游戏

aosc下 glxgear工作正常,实际运行游戏会到 RDNA显卡 amdgpu驱动重置 #14 vulkan 直通则会导致 vulkaninfo vkcube 异常:


[ 2711.696272] ------------[ cut here ]------------
[ 2711.700873] kernel BUG at drivers/gpu/drm/amd/amdgpu/amdgpu_res_cursor.h:131!
[ 2711.707973] Oops - BUG[#4]:
[ 2711.710744] CPU: 5 PID: 6489 Comm: vkcube Tainted: G      D     E      6.10.0-aosc-main #1
[ 2711.718959] Hardware name: Loongson Loongson-3A6000-HV-7A2000-1w-V0.1-EVB/Loongson-3A6000-HV-7A2000-1w-EVB-V1.21, BIOS Loongson-UDK2018-V4.0.05692-stable2
[ 2711.732701] pc ffff8000024c5fb0 ra ffff8000024c5c68 tp 900000010ad94000 sp 900000010ad97a00
[ 2711.741003] a0 0000000000000000 a1 0000000000000000 a2 0000000800100588 a3 0000000000000000
[ 2711.749307] a4 0000000000000000 a5 0000000000000000 a6 0000000000000000 a7 0000000800100580
[ 2711.757607] t0 0000000000008000 t1 0000000000000000 t2 0000000000000000 t3 0000000000000000
[ 2711.765907] t4 0000000000000000 t5 0000000000000000 t6 0000000000000000 t7 0000000000000000
[ 2711.774206] t8 0000000000000000 u0 900000013eea8360 s9 0000000000000000 s0 0000000000000000
[ 2711.782505] s1 90000001222ac000 s2 0000000800100580 s3 90000001194c5c70 s4 9000000122b00000
[ 2711.790804] s5 0000000000007000 s6 0000000000000000 s7 0000000000007000 s8 0000000000000008
[ 2711.799103]    ra: ffff8000024c5c68 amdgpu_vm_update_range+0x268/0x8c0 [amdgpu]
[ 2711.806595]   ERA: ffff8000024c5fb0 amdgpu_vm_update_range+0x5b0/0x8c0 [amdgpu]
[ 2711.814064]  CRMD: 000000b0 (PLV0 -IE -DA +PG DACF=CC DACM=CC -WE)
[ 2711.820212]  PRMD: 0000000c (PPLV0 +PIE +PWE)
[ 2711.824539]  EUEN: 0000000f (+FPE +SXE +ASXE +BTE)
[ 2711.829299]  ECFG: 00071c1d (LIE=0,2-4,10-12 VS=7)
[ 2711.834060] ESTAT: 000c0000 [BRK] (IS= ECode=12 EsubCode=0)
[ 2711.839597]  PRID: 0014d000 (Loongson-64bit, Loongson-3A6000-HV)
[ 2711.845563] Modules linked in: rfcomm(E) cfg80211(E) nf_conntrack_netbios_ns(E) nf_conntrack_broadcast(E) nft_fib_inet(E) nft_fib_ipv4(E) nft_fib_ipv6(E) nft_fib(E) nft_reject_inet(E) nf_reject_ipv4(E) nf_reject_ipv6(E) nft_reject(E) nft_ct(E) nft_chain_nat(E) ip6table_nat(E) ip6table_mangle(E) ip6table_raw(E) ip6table_security(E) iptable_nat(E) nf_nat(E) nf_conntrack(E) nf_defrag_ipv6(E) nf_defrag_ipv4(E) iptable_mangle(E) iptable_raw(E) iptable_security(E) bnep(E) ip_set(E) nf_tables(E) ip6table_filter(E) ip6_tables(E) iptable_filter(E) btusb(E) btrtl(E) nls_iso8859_1(E) btintel(E) btbcm(E) qrtr(E) nls_cp437(E) rtc_efi(E) btmtk(E) snd_hda_codec_realtek(E) snd_hda_codec_generic(E) snd_hda_scodec_component(E) snd_hda_codec_hdmi(E) onboard_usb_dev(E) ftdi_sio(E) snd_hda_intel(E) snd_intel_dspcfg(E) snd_hda_codec(E) usbserial(E) snd_hda_core(E) snd_hwdep(E) snd_pcm(E) spi_loongson_pci(E) bluetooth(E) xpad(E) snd_timer(E) ff_memless(E) spi_loongson_core(E) snd(E) soundcore(E) rfkill(E) tpm_tis_spi(E) rtc_loongson(E)
[ 2711.845628]  i2c_ls2x(E) gpio_loongson_64bit(E) joydev(E) mousedev(E) input_leds(E) apple_mfi_fastcharge(E) sch_fq_codel(E) la_ow_syscall(E) fuse(E) nfnetlink(E) dmi_sysfs(E) ip_tables(E) x_tables(E) hid_logitech_hidpp(E) hid_logitech_dj(E) amdgpu(E) hid_apple(E) led_class(E) cdc_mbim(E) cdc_wdm(E) cdc_ncm(E) cdc_ether(E) usbnet(E) r8152(E) drm_exec(E) amdxcp(E) drm_buddy(E) gpu_sched(E) drm_suballoc_helper(E) i2c_algo_bit(E) drm_display_helper(E) cec(E) rc_core(E) drm_ttm_helper(E) ttm(E) hid_generic(E) xhci_pci(E) xhci_pci_renesas(E) sunrpc(E) i2c_dev(E)
[ 2711.983922] Process vkcube (pid: 6489, threadinfo=000000002d98bad8, task=00000000238a915c)
[ 2711.992136] Stack : 0000000800100588 0000000000000000 90000001194c5c00 90000001222ac010
[ 2712.000094]         0000000000000001 9000000119138db8 0000000100000000 9000000122b00000
[ 2712.008052]         90000001222ac000 0000000000000000 0000000000000000 90000001011ae400
[ 2712.016008]         0000010000000100 900000010ad97a68 900000010ad97a68 060f630abf116d90
[ 2712.023965]         90000001194d7250 0000000000000000 9000000119138db8 90000001194c5c70
[ 2712.031922]         9000000119138d80 900000014966f800 900000011ec74fc0 9000000119138dc0
[ 2712.039879]         0003000000000077 9000000122b00000 900000012c341c00 ffff8000024c66d4
[ 2712.047835]         0000000800100586 0000000000000077 0000000000000000 0000000000000000
[ 2712.055793]         900000014966f800 90000001194c5c70 9000000119138db8 900000010ad97bb8
[ 2712.063750]         90000001222ac000 900000012c341d48 0000000000000001 0000000000000000
[ 2712.071707]         ...
[ 2712.074132] Call Trace:
[ 2712.074134] [<ffff8000024c5fb0>] amdgpu_vm_update_range+0x5b0/0x8c0 [amdgpu]
[ 2712.083769] [<ffff8000024c66d0>] amdgpu_vm_bo_update+0x1d0/0x5e0 [amdgpu]
[ 2712.090719] [<ffff8000024b4e7c>] amdgpu_gem_va_ioctl+0x5dc/0x640 [amdgpu]
[ 2712.097669] [<900000000102aedc>] drm_ioctl_kernel+0xfc/0x1a0
[ 2712.103294] [<900000000102b3a0>] drm_ioctl+0x420/0x720
[ 2712.108397] [<ffff8000024803f4>] amdgpu_drm_ioctl+0x54/0xc0 [amdgpu]
[ 2712.114909] [<90000000005dba28>] sys_ioctl+0x368/0x12e0
[ 2712.120101] [<90000000018a8760>] do_syscall+0xa0/0xe0
[ 2712.125120] [<90000000002215a0>] handle_syscall+0xc0/0x160

[ 2712.132043] Code: 03400000  03400000  03400000 <002a0001> 03400000  03400000  03400000  28c0806c  40003d80