-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathnotes.txt
128 lines (94 loc) · 4.09 KB
/
notes.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
Ubuntu 64bit setup
Get Ubunto 21.04 64bit Server (I had boot crashes with Desktop)
sudo apt install lubuntu-desktop - lets try not using gdm3, lightdm seems better. SDDM is a new one worth a try?
Trying: sudo apt install lightdm
Works with 'OPENBOX' + full kms
Kernel is Linux ubuntu 5.11.0-1007-raspi
Mesa is 21.0.1 by default but need higher. Build+install HoT
ffmpeg build works!
sudo apt install build-essential needed as cmake can't find gcc
Remove some arch tags from CMakeLists -mfpu=neon
sudo nano /boot/firmware/config.txt with:
dtoverlay=rpivid-v4l2
dtoverlay=vc4-kms-v3d-pi4
reboot
Need to add rw permissions to some drm device files or won't work. (gets reset on reboot)
(change again with sudo dpkg-reconfigure gdm3 or sudo dpkg-reconfigure lightdm)
To check which display manager is currently being used, run this command:
cat /etc/X11/default-display-manager
FFMPEG build:
sudo apt update
sudo apt full-upgrade
sudo apt install cmake (sudo apt install build-essential)
sudo apt install meson libepoxy-dev libxcb-dri3-dev libxcb1-dev libx11-dev libx11-xcb-dev libdrm-dev
sudo apt install libudev-dev
sudo apt install libglfw3-dev libgles2-mesa-dev
sudo apt install libsdl2-dev
NEW:
export CPPFLAGS="-I/usr/include/libdrm"
./configure
OLD:
pi-util/conf_native.sh --noshared NOTE should change the --prefix path to somethings like /usr, also try w/o noshared
(look for out device vout_egl)
cd out/armv7-buster-static-rel
make
try:
./ffmpeg -no_cvt_hw -vcodec h264_v4l2m2m -i ~/Videos/jellyfish-40-mbps-hd-h264.mkv -f vout_egl /dev/null
and
./ffmpeg -no_cvt_hw -hwaccel drm -vcodec hevc -i ~/Videos/jellyfish-40-mbps-hd-hevc.mkv -f null -
and
./ffmpeg -no_cvt_hw -hwaccel drm -vcodec hevc -i ~/Videos/jellyfish-40-mbps-hd-hevc.mkv -f vout_egl /dev/null
64bit:
ffmpeg error: Unable to open either /dev/dma_heap/linux,cma or /dev/dma_heap/reserved
crw------- 1 root root 249, 1 Apr 21 23:27 linux,cma
crw------- 1 root root 249, 0 Apr 21 23:27 system
My notes on building latest (as of writing) Mesa are:
sudo pip3 install mako
sudo apt install bison byacc flex
sudo apt install libxcb-glx0-dev libxcb-shm0-dev libxcb-dri2-0-dev libxcb-present-dev
sudo apt install libxshmfence-dev
git clone https://github.com/mesa3d/mesa.git
cd mesa
meson --prefix /usr --libdir lib -Dplatforms=x11 -Dvulkan-drivers=broadcom -Ddri-drivers= -Dgallium-drivers=v3d,kmsro,vc4 -Dbuildtype=release build
sudo ninja -C build -j3
sudo ninja -C build install
sudo apt install mesa-utils (for glxinfo)
glxinfo -B
The main hurdle was to figure out why the install doesn't trump the distro included old mesa. Also I'm wondering why that seems to be installed in two locations on Rasberry OS,
/lib/arm-linux-gnueabihf
/usr/lib/arm-linux-gnueabihf
The one you build will get installed in the location pointed to by '--prefix /usr' seen above.
Then what I did was,
sudo nano /etc/ld.so.conf.d/000-AAA-Mesa.conf
and just add
/usr/lib
Basically pointing to where you install the new mesa.
sudo ldconfig
Reboot
Then if you run glxinfo -B you should get something like,
name of display: :0.0
display: :0 screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
Vendor: Broadcom (0x14e4)
Device: V3D 4.2 (0xffffffff)
Version: 21.3.0
Accelerated: yes
Video memory: 3660MB
Unified memory: yes
Preferred profile: compat (0x2)
Max core profile version: 0.0
Max compat profile version: 2.1
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 3.1
OpenGL vendor string: Broadcom
OpenGL renderer string: V3D 4.2
OpenGL version string: 2.1 Mesa 21.3.0-devel (git-c679dbe09c)
OpenGL shading language version string: 1.20
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 21.3.0-devel (git-c679dbe09c)
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
Or...
/usr/lib and /usr/lib64 are not symlinked on Fedora, so naturally, libGL can't find iris in /usr/lib/dri because it's in /usr/lib64/dri by default. You may want to add the path to IRIS into /etc/ld.so.conf and then run ldconfig.
/usr/lib/dri/swrast_dri.so
FOUND IN:
/usr/lib/aarch64-linux-gnu/dri/swrast_dri.so