bjtheone
Posts: 574
Joined: Mon May 20, 2019 11:28 pm
Location: The Frozen North (AKA Canada)

Re: Pi 4 firmware, software stability improvements

Wed Sep 04, 2019 1:51 pm

So for once it is good to be old/insensitive.... I am quite happy with Youtube's performance on my 4B. Was not a happy camper with the 3B+ and broke things in many ways trying to get better performance out of Chromium. I also tend to watch YouTube in a window versus fullscreen, which may help.

graphicw
Posts: 91
Joined: Mon Sep 09, 2019 5:04 pm

Re: Pi 4 firmware, software stability improvements

Thu Sep 12, 2019 9:27 pm

jamesh wrote:
Tue Jul 16, 2019 1:04 pm
haaldemir wrote:
Mon Jul 15, 2019 10:11 am
Hello everyone,

with latest update youtube now good 1080p. but it seems horizontal lines middle of the screen when fast moving. It can be remove in future updates?
This is called tearing, and without making X double buffer (!) will be difficult to mitigate against. And changes to X are not generally something we do.
Using Intel, AMD or Nvidia drivers even in X, you can enable double or triple buffering and nearly eliminate all screen tearing. Will this not be a function of the V3D driver in the future?

graphicw
Posts: 91
Joined: Mon Sep 09, 2019 5:04 pm

Re: Pi 4 firmware, software stability improvements

Thu Sep 12, 2019 9:56 pm

Wayland has unfortunately been a very slow work in progress. The replacement of X will bring a considerable improvement in efficiency. It has been a very difficult process to say the least.

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 8501
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: Pi 4 firmware, software stability improvements

Fri Sep 13, 2019 6:34 am

graphicw wrote:
Thu Sep 12, 2019 9:27 pm
jamesh wrote:
Tue Jul 16, 2019 1:04 pm
haaldemir wrote:
Mon Jul 15, 2019 10:11 am
Hello everyone,

with latest update youtube now good 1080p. but it seems horizontal lines middle of the screen when fast moving. It can be remove in future updates?
This is called tearing, and without making X double buffer (!) will be difficult to mitigate against. And changes to X are not generally something we do.
Using Intel, AMD or Nvidia drivers even in X, you can enable double or triple buffering and nearly eliminate all screen tearing. Will this not be a function of the V3D driver in the future?
Have you any links for that?
My search has yielded ways for the app to double buffer the content it wishes to render in a window, but not for the overall x display composition.
Switch something like neverball into full screen mode and it is triple buffered, but standard x only passes a single buffer to drm for rendering.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

graphicw
Posts: 91
Joined: Mon Sep 09, 2019 5:04 pm

Re: Pi 4 firmware, software stability improvements

Fri Sep 13, 2019 6:47 am

No, I do not have any links, but I can show you video from my main desktop running Linux Mint with an Nvidia GTX 770 chewing through Youtube video with barely any discernible tearing. I can even show it being done in Firefox which is even harder to accomplish good results than Chromium. There is a way around it, but Pi lacks the option to allow me to set up a xorg.conf to mitigate the issue. I am not going to say tearing is totally solved on said desktop, but it is indeed barely noticeable. I know X is a turd, but tearing can be limited to the point of being very hard to notice unless you are looking for it.

graphicw
Posts: 91
Joined: Mon Sep 09, 2019 5:04 pm

Re: Pi 4 firmware, software stability improvements

Fri Sep 13, 2019 6:51 am

I can also show you the same from a N2830 based Intel system though it only performs up to 720p in Youtube. The Intel Drivers are pretty much open source at this point and actually perform well, said system just lacks the grunt to perform better than 720p in Youtube in Firefox on Linux Mint.

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 26094
Joined: Sat Jul 30, 2011 7:41 pm

Re: Pi 4 firmware, software stability improvements

Fri Sep 13, 2019 6:58 am

graphicw wrote:
Fri Sep 13, 2019 6:47 am
No, I do not have any links, but I can show you video from my main desktop running Linux Mint with an Nvidia GTX 770 chewing through Youtube video with barely any discernible tearing. I can even show it being done in Firefox which is even harder to accomplish good results than Chromium. There is a way around it, but Pi lacks the option to allow me to set up a xorg.conf to mitigate the issue. I am not going to say tearing is totally solved on said desktop, but it is indeed barely noticeable. I know X is a turd, but tearing can be limited to the point of being very hard to notice unless you are looking for it.
If the tearing is still there, even if less, then it won't be multiple buffered. Perhaps some other synchronization scheme, or just overall higher performance.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed. Here's an example...
I've been saying "Mucho" to my Spanish friend a lot more lately. It means a lot to him.

graphicw
Posts: 91
Joined: Mon Sep 09, 2019 5:04 pm

Re: Pi 4 firmware, software stability improvements

Fri Sep 13, 2019 7:05 am

jamesh wrote:
Fri Sep 13, 2019 6:58 am
graphicw wrote:
Fri Sep 13, 2019 6:47 am
No, I do not have any links, but I can show you video from my main desktop running Linux Mint with an Nvidia GTX 770 chewing through Youtube video with barely any discernible tearing. I can even show it being done in Firefox which is even harder to accomplish good results than Chromium. There is a way around it, but Pi lacks the option to allow me to set up a xorg.conf to mitigate the issue. I am not going to say tearing is totally solved on said desktop, but it is indeed barely noticeable. I know X is a turd, but tearing can be limited to the point of being very hard to notice unless you are looking for it.
If the tearing is still there, even if less, then it won't lookbe multiple buffered. Perhaps some other synchronization scheme, or just overall higher performance.
It is still there, just lessened significantly. It is probably impossible to eliminate completely in X (as was said on here before). It is possible to bring down to an acceptable level where it is a barely noticeable though. I think most will be satisfied with that until X is eventually replaced. I will say that tearing is more noticeable in XFCE and such than say desktops like Gnome, KDE or Compiz Window manager and etc. Could very well be more involved than just X and it's issues. Compositing or the lack thereof could even be a factor though I do not know for sure.

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 8501
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: Pi 4 firmware, software stability improvements

Fri Sep 13, 2019 9:52 am

graphicw wrote:
Fri Sep 13, 2019 7:05 am
It is still there, just lessened significantly. It is probably impossible to eliminate completely in X (as was said on here before). It is possible to bring down to an acceptable level where it is a barely noticeable though. I think most will be satisfied with that until X is eventually replaced. I will say that tearing is more noticeable in XFCE and such than say desktops like Gnome, KDE or Compiz Window manager and etc. Could very well be more involved than just X and it's issues. Compositing or the lack thereof could even be a factor though I do not know for sure.
Set the kernel module property drm/debug to 0x14 (either via the kernel command line or /sys/module/drm/parameters/debug), start X, start a Youtube video, and then print out the kernel log. You'll get updates for the cursor plane as you move the mouse, but double/triple buffering should be updating the primary plane too. Something along the lines of:

Code: Select all

[  216.189199] [drm:drm_atomic_state_default_clear [drm]] Clearing atomic state 92916cd8
[  216.189274] [drm:__drm_atomic_state_free [drm]] Freeing atomic state 92916cd8
[  216.204361] [drm:drm_atomic_state_init [drm]] Allocated atomic state b99b7c3b
[  216.204435] [drm:drm_atomic_get_plane_state [drm]] Added [PLANE:71:plane-5] ae285f15 state to b99b7c3b
[  216.204507] [drm:drm_atomic_get_crtc_state [drm]] Added [CRTC:78:crtc-1] b2e920b5 state to b99b7c3b
[  216.204576] [drm:drm_atomic_set_fb_for_plane [drm]] Set [FB:84] for [PLANE:71:plane-5] state ae285f15
[  216.204656] [drm:drm_atomic_check_only [drm]] checking b99b7c3b
[  216.204808] [drm:drm_atomic_commit [drm]] committing b99b7c3b
(Odd, Neverball seemingly isn't triple buffering for me in fullscreen now).
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

Return to “General discussion”