Решил включить на RPI4 поддержку Vulkan и аппаратного ускорения, добавив в config.txt «dtoverlay=vc4-kms-v3d-pi4». После этого в некоторых играх получаю зависание ОС с
Unable to handle kernel paging request at virtual address dead000000000108
Mem abort info:
ESR = 0x96000044
EC = 0x25: DABT (current EL), IL = 32 bits
SET = 0, FnV = 0
EA = 0, S1PTW = 0
Data abort info:
ISV = 0, ISS = 0x00000044
CM = 0, WnR = 1
[dead000000000108] address between user and kernel address ranges
Internal error: Oops: 96000044 [#1] PREEMPT SMP
Modules linked in: i2c_dev aes_arm64 ccm btsdio rt2800usb rt2800lib bluetooth snd_soc_hdmi_codec rt2x00usb rt2x00lib ecdh_generic ecc mac80211 vc4 brcmfmac cec brcmutil snd_usb_audio joydev drm_kms_helper cfg80211 crc_ccitt snd_hwdep snd_usbmidi_lib libarc4 snd_rawmidi bcm2835_codec(C) bcm2835_v4l2(C) bcm2835_isp(C) snd_seq_device bcm2835_mmal_vchiq(C) v4l2_mem2mem snd_soc_core videobuf2_vmalloc videobuf2_dma_contig videobuf2_memops videobuf2_v4l2 snd_compress videobuf2_common snd_pcm_dmaengine snd_pcm videodev snd_timer v3d snd mc iproc_rng200 raspberrypi_hwmon syscopyarea i2c_brcmstb sysfillrect sysimgblt fb_sys_fops gpu_sched rpivid_mem nvmem_rmem uio_pdrv_genirq uio sch_fq_codel drm fuse drm_panel_orientation_quirks ip_tables x_tables ipv6 hid_logitech_hidpp hid_logitech_dj
CPU: 3 PID: 4024 Comm: kworker/u8:4 Tainted: G C 5.10.48-1-ARCH #1
Hardware name: Raspberry Pi 4 Model B Rev 1.2 (DT)
Workqueue: events_unbound commit_work [drm_kms_helper]
pstate: 60000005 (nZCv daif -PAN -UAO -TCO BTYPE=--)
pc : clk_request_done+0x2c/0xd4
lr : clk_request_done+0x28/0xd4
sp : ffffffc012efbcd0
x29: ffffffc012efbcd0 x28: 0000000000000000
x27: ffffff80d0317f48 x26: 0000000000000038
x25: ffffff8071f14b80 x24: ffffff8043c0c880
x23: ffffff8071f14700 x22: ffffff806bb8b080
x21: ffffff8044e22000 x20: ffffff804247e200
x19: ffffff8044749f80 x18: 0000000000000000
x17: 0000000000000000 x16: 0000000000000000
x15: 0000000000000000 x14: 0000003e000001a9
x13: 00000000000003d2 x12: ffffffc0114f5000
x11: 00000000000003d5 x10: 0000000000001950
x9 : 0000000000000001 x8 : 0000000001762954
x7 : 0000000000000000 x6 : 0000000000000004
x5 : 0000000000000000 x4 : ffffff80401fbb80
x3 : ffffffc0112eeca0 x2 : dead000000000100
x1 : dead000000000122 x0 : 0000000000000001
Call trace:
clk_request_done+0x2c/0xd4
vc4_atomic_commit_tail+0x574/0x6e4 [vc4]
commit_tail+0xa0/0x180 [drm_kms_helper]
commit_work+0x14/0x20 [drm_kms_helper]
process_one_work+0x1d0/0x4b0
worker_thread+0x138/0x46c
kthread+0x140/0x150
ret_from_fork+0x10/0x30
Code: f9400800 f9400014 97ffe187 a9400662 (f9000441)
---[ end trace 402e8771a6d8ceea ]---
Помогает только жёсткая перезагрузка, после одной из которых systemd-timesyncd перестал синхронизировать время. Как это исправить?
timedatectl
Local time: Ср 2021-07-14 02:52:23 MSK
Universal time: Вт 2021-07-13 23:52:23 UTC
RTC time: n/a
Time zone: Europe/Moscow (MSK, +0300)
System clock synchronized: no
NTP service: active
RTC in local TZ: no
timedatectl timesync-status
Server: n/a (n/a)
Poll interval: 0 (min: 32s; max 34min 8s)
Packet count: 0
timedatectl show-timesync --all
LinkNTPServers=
SystemNTPServers=
FallbackNTPServers=0.arch.pool.ntp.org 1.arch.pool.ntp.org 2.arch.pool.ntp.org 3.arch.pool.ntp.org
ServerName=
ServerAddress=
RootDistanceMaxUSec=5s
PollIntervalMinUSec=32s
PollIntervalMaxUSec=34min 8s
PollIntervalUSec=0
Frequency=0
cat /etc/systemd/timesyncd.conf
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it under the
# terms of the GNU Lesser General Public License as published by the Free
# Software Foundation; either version 2.1 of the License, or (at your option)
# any later version.
#
# Entries in this file show the compile time defaults. Local configuration
# should be created by either modifying this file, or by creating "drop-ins" in
# the timesyncd.conf.d/ subdirectory. The latter is generally recommended.
# Defaults can be restored by simply deleting this file and all drop-ins.
#
# See timesyncd.conf(5) for details.
[Time]
#NTP=
#FallbackNTP=0.arch.pool.ntp.org 1.arch.pool.ntp.org 2.arch.pool.ntp.org 3.arch.pool.ntp.org
#RootDistanceMaxSec=5
#PollIntervalMinSec=32
#PollIntervalMaxSec=2048