Hardware accelerated OpenGL will probably only work with full Xorg. Default vncserver doesn't do that on my (desktop Radeon) computer, but I think there are workarounds like X0vnc which run a full Xorg server + vnc watching it.
it works
It seems that the problem is that I don't have display, so it don't know refresh rate and limit it for 1 fps for some unknown reason.
I tried to disable vblank sync mode for process with vblank_mode=0 in command line and it works. See screenshot.
Well, speed is much slower than I was expected, but almost usable. And it even provides 4x hardware multisample filtering.
Any idea on how to improve Open GL hardware acceleration performance on raspberry pi 4? I want a little faster graphics...
1) Chromium works with extreme high lags, but CPU load is almost zero... Any idea how to fix it?
Could be related to the above, not sure. Test with a real monitor as a comparison.
Yes, it seems that this problem is due to frame rate is 1 Hz for VNC. I tried to run it with manual vblank sync mode override and lags almost disappears, now chromium is usable and I'm writing this post from my raspberry pi 4 in chromium
I run it in the following way:
vblank_mode=0 chromium-browser
But before this I was installed the following packages:
sudo apt-get install libgles2-mesa libgles2-mesa-dev xorg-dev mesa-utils freeglut3-dev
and also enabled flag "Out-of-process 2D canvas rasterization." on chrome://flags page. It really helps to enable hw acceleration for out-of-process rasterization (can be checked on chrome://gpu page). So these tweaks may have effect.
Some people wrote that replace this string in /boot/config.txt:
dtoverlay=vc4-kms-v3d-pi4,cma-256
with this one
dtoverlay=vc4-fkms-v3d-pi4,cma-256
And it helps on some older version of raspi os. This change leads to switch from Full KMS video driver to a so called Fake KMS video driver. But I didn't tried it because it already works with Full KMS driver which is more fresh and supports more features.
Note that it shows BCM2835 CPU, but this is old single core CPU used in raspberry pi 1. Actual chip marking on my board is Broadcom 2711. WTF?
It's wrong. It looks like it's a hardcoded string in your kernel, not actually from the CPU.
Probably you're right. But it also displays info about cores and part of that info is correct.
I run a little code to read info directly from CPU registers and it shows the following on my rpi 4:
MIDR_EL1: 0x410fd083
[Reserved]: 0x0
Implementer: 0x41
Variant: 0x0
Architecture: 0xf
PartNum: 0xd08
Revision: 0x3
VPIDR_EL2: SIGILL
REVIDR_EL1: 0
ID_AA64ISAR0_EL1: 0x10000
ID_AA64ISAR1_EL1: 0
MVFR0_EL1: 0x200
MVFR1_EL1: 0x10011100
MVFR2_EL1: 0
[/quote]
So, my rpi 4B CPU has MIDR_EL1=0x410fd083. I read that other people also seen such code for rpi 4.
But first rpi 4 models had MIDR_EL1 with different last two digits and cpuinfo.
Any other idea on how to identify actual CPU are welcome.
PS: posted this message from my rpi 4