Announcement

Collapse
No announcement yet.

Broadcom Open-Sources VideoCore IV 3D Graphics Stack

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #31
    Originally posted by caligula View Post
    Raspberry already runs fully accelerated Wayland.
    Can you elaborate on this? What exactly is accelerated? I mean, does it already offer something other than just fancy windows composition (which is optional and better to be disabled altogether on low-end hardware anyway)? Fully accelerated is a rather strong claim.

    We don't need X11 support, just focus on Wayland and Mir now.
    Some people are still running legacy X11 desktops such as LXDE, XFCE and MATE on the Raspberry Pi. What would be your suggested Wayland based viable replacement? Does it have some verifiable memory footprint and/or performance advantages to offer?

    PS. I'm not against Wayland, and if/when everyone moves to it, then so be it.

    Comment


    • #32
      Originally posted by robclark View Post
      ok, then I admit that I'm a bit confused about what your point is and what you are doing here

      (well, ok, it *is* phoronix after all.. I guess I should have just started with the assumption that you are trolling)
      You haven't noticed there are articles on Phoronix that are not Linux related and quite a few of them? The vast majority of Linux users are NOT using Wayland.

      You're that clueless?

      Comment


      • #33
        Originally posted by ssvb View Post
        Can you elaborate on this? What exactly is accelerated? I mean, does it already offer something other than just fancy windows composition (which is optional and better to be disabled altogether on low-end hardware anyway)? Fully accelerated is a rather strong claim.
        .
        Weston on the RPi makes direct use of the VideoCore API, which is accelerated by its graphical processor. More info: http://www.collabora.com/services/ca...s/raspberrypi/

        Comment


        • #34
          Originally posted by Ancurio View Post
          Weston on the RPi makes direct use of the VideoCore API, which is accelerated by its graphical processor. More info: http://www.collabora.com/services/ca...s/raspberrypi/
          Makes direct use to do what? Windows composition is just an extra overhead (even if it is the hardware accelerated overhead).

          Can any of the Wayland supporters in this thread answer the following questions:
          1. Do you actually have Raspberry Pi hardware?
          2. Have you actually tried running Wayland/Weston on it?
          3. What is your Wayland based software setup, which can readily replace the LXDE desktop used in Raspbian by default?

          PS. Appears that the support for native Wayland EGL applications on the Raspberry Pi is being worked on, but has not landed yet: https://github.com/raspberrypi/userland/pull/110

          Comment


          • #35
            Originally posted by robclark View Post
            Although if there is a possibility for the gpu driver to run on the arm itself
            Based on what I know, the V3D hardware registers are accessible from the ARM core: https://github.com/phire/hackdriver/
            The proof of concept driver port (the target of this $10000 contest) is supposed to be running on the ARM core. Maybe with some tweaks and assistance (interrupts routing and enabling clocks) from the firmware running on the VPU core.

            that addresses one performance barrier for x11
            Which performance barrier? And how running the 3D driver on the ARM core (wasting the precious CPU cycles) instead of offloading it to the VPU core is going to help performance?

            but all the same, you'll be able to better leverage the hw composition that r-pi has with weston.
            Let's look at it this way. The Raspberry Pi foundation invested money in Wayland/Weston by contracting dedicated professional developers. This is probably the right choice in the long run. But they hacked Weston to add a special Raspberry Pi specific hardware DispmanX layers support in it. In the X11 world that would be an equivalent to adding a custom composite extension variant to Xorg and implementing a custom compositing window manager making use of it. For a fair apples-to-apples comparison, this custom Raspberry Pi specific Xorg extension would need to be implemented by somebody. The next crucial thing is the EGL support for running OpenGL ES applications. And again, for a fair apples-to-apples comparison, both Wayland and X11 EGL support would need to be implemented. However the real world is anything but fair The Raspberry Pi foundation naturally does not have any obligation to sponsor the competing X11 improvements just for the sake of contest. They just picked the new horse.

            In my opinion (and of course based on my experience trying it, not just reading random blogs) Wayland/Weston is still quite far from being usable for a normal desktop system. Your mileage may vary though.

            Comment


            • #36
              Originally posted by ssvb View Post
              Can you elaborate on this? What exactly is accelerated? I mean, does it already offer something other than just fancy windows composition (which is optional and better to be disabled altogether on low-end hardware anyway)? Fully accelerated is a rather strong claim.
              Weston on r-pi is (afaiu) using gpu and hw compositor.. so path for a sw drawn window is one texture upload and then hw compositing.

              The path for a hw drawn window (ie. opengles) is gpu renders window and hw compositing. Sw never touches the buffer.

              Remember wayland has no remote drawing API like x11, so the scope of "fully accelerated" is much smaller.

              Originally posted by ssvb View Post
              Some people are still running legacy X11 desktops such as LXDE, XFCE and MATE on the Raspberry Pi. What would be your suggested Wayland based viable replacement? Does it have some verifiable memory footprint and/or performance advantages to offer?
              If you like lxde/xfce/etc, your best bet is probably to use them unaccelerated. At least that was my understanding from spending some time talking to some of the collabora folks who'd been doing the weston backend for r-pi. Because of the architecture of gpu / compositor / etc hw controlled from videocore, the latency for sw fallbacks was really killing things. But I think it is pretty well understood by now that a partially accel'd xserver can be worse than no accel. IIRC, they may have also had issues with simply not able to access the same buffers from cpu and hw compositor without a memcpy.

              Some of those issues might go away if it is possible to drive the gpu and the hw compositor (which I think is not documented yet?) from the arm. I'm not 100% sure how much of the x11 performance issues w/ r-pi are a result of bcm's hw architecture vs their sw architecture. But it still doesn't change the fact that x11 is pretty poorly suited to utilizing hw compositors :-)

              The point about memory footprint is valid for r-pi. It doesn't have a lot, and compositing does take more memory than front buffer rendering. If you ended up having to keep two copies of each pixmap (one for hw and one for sw) using one of the EXA pixmap migration modes to keep them in sync to get decent x11 acceleration, then you are back to roughly the same memory footprint as compositing. (Ok, that is a bit handwavey, but hopefully you get the point I am trying to make.)

              Comment


              • #37
                Originally posted by ssvb View Post
                Makes direct use to do what? Windows composition is just an extra overhead (even if it is the hardware accelerated overhead).
                well, yes and no.. if it means the CPU is operating on offscreen malloc/cached memory, and you are doing any operation that reads the dst (and your bottleneck is the cpu rather than memory bandwidth, etc, etc.. anyways, it is all a lot of "if"s, but graphics performance is a complex subject and easy/simple answers are not always possible)..

                At any rate, what compositing can do well is mix cpu rendered content and gpu rendered content. If you are doing front buffer rendering, then everyone (CPU and GPU) is contending for that same front buffer. CPU access needs to drain the queue for the GPU. Meanwhile the CPU can't be preparing more rendering for the GPU. So you just end up ping ponging back and forth between GPU and CPU and nobody is happy.

                Originally posted by ssvb View Post
                Can any of the Wayland supporters in this thread answer the following questions:
                1. Do you actually have Raspberry Pi hardware?
                2. Have you actually tried running Wayland/Weston on it?
                3. What is your Wayland based software setup, which can readily replace the LXDE desktop used in Raspbian by default?

                PS. Appears that the support for native Wayland EGL applications on the Raspberry Pi is being worked on, but has not landed yet: https://github.com/raspberrypi/userland/pull/110
                1. No, my interest is boards with a bit more horsepower.
                2. I've seen weston (+ wayland egl) running on r-pi.. it was actually pretty decent for such little hw
                3. No idea.. weston plus stuff that people haven't written yet ;-)
                (that said, I wonder if lxde/etc will work w/ xwayland? Maybe that would be an option? You'd still be sw rendered for lxde/x11 stuff, but at least you can put your gl rendered window on the screen without stalling)

                Like I mentioned in my last post, this is all based on what I'd heard talking to the folks working on wayland for r-pi. From their description of how videocore worked, it sounded like trying to accel x11 properly was pretty much a lost cause. *But* it is quite possible that some of the problems go away if we throw away broadcom's sw stack.

                Comment


                • #38
                  Originally posted by brad0 View Post
                  You haven't noticed there are articles on Phoronix that are not Linux related and quite a few of them?
                  hmm,

                  Code:
                  <title>[Phoronix] Linux Hardware Reviews, Open-Source Benchmarking &amp; Linux Gaming</title>
                  two outta three ain't bad :-P

                  anyways, you were the one that brought up linux..

                  (In case you got confused on the threading, thanks to the forums single only quoting the post you directly reply to, I'm not the one who was saying that it should be GPL or not BSD license. All the userspace x11 drivers, gallium driver, libdrm, etc, that I've written have all been BSD licensed.)

                  Originally posted by brad0 View Post
                  The vast majority of Linux users are NOT using Wayland.
                  I don't think anyone on this thread claimed that the vast majority of linux users are using wayland.

                  (also, you seem to be somehow associating linux and wayland.. also a bit puzzling to me.)

                  Originally posted by brad0 View Post
                  You're that clueless?
                  you aren't really doing much to convince me that you aren't just trolling ;-)

                  Comment


                  • #39
                    Originally posted by robclark View Post
                    anyways, you were the one that brought up linux..

                    I don't think anyone on this thread claimed that the vast majority of linux users are using wayland.

                    (also, you seem to be somehow associating linux and wayland.. also a bit puzzling to me.)
                    "We don't need X11 support, just focus on Wayland and Mir now."

                    Of course I brought up Linux when Wayland and Mir are for Linux.

                    Wayland is only available for Linux...

                    The comment says "We" as if what he wants represents all Linux users never mind
                    everyone that could / would use RPi with a UNIX-like Operating Systems.

                    Originally posted by robclark View Post
                    you aren't really doing much to convince me that you aren't just trolling ;-)
                    You aren't really doing much to convince me you're not completely clueless.

                    Comment


                    • #40
                      Originally posted by brad0 View Post
                      "We don't need X11 support, just focus on Wayland and Mir now."

                      Of course I brought up Linux when Wayland and Mir are for Linux.

                      Wayland is only available for Linux...
                      well, I'm going to ignore mir because (a) single-distro solution for a distro that probably doesn't care about supporting non-linux kernels, and (b) I could really care less about mir.

                      As far as wayland, there is nothing about it that is tied to any particular linux[1] feature, as far as I can tell. What *weston* is more or less tied to (unless you want to create a custom backend) is not doing user mode setting. You need to have a kms driver, or at least an fbdev driver that sets up the mode for userspace.

                      All of this is completely unrelated to r-pi, which already has it's own custom weston backend. (And, yes, to answer ssvb's point, it is pretty much equivalent to a custom window manager with some private extensions to coordinate between window manager and xserver. But really, that sounds like a pretty horrid option compared to weston + xwayland.)

                      [1] hmm, ok, according to https://wiki.freebsd.org/Graphics there is also a udev dependency.. although there are only a handful more references to udev in weston src code compared to xserver codebase, so I suspect if xserver can be made to work both with and without udev, then so can weston.

                      Originally posted by brad0 View Post
                      The comment says "We" as if what he wants represents all Linux users never mind
                      everyone that could / would use RPi with a UNIX-like Operating Systems.
                      Sounds like you are reading things into the OP's statement. Or at least I did not draw the same conclusion as you.

                      (btw, you *did* know that linux is a UNIX-like operating system, right?)

                      Originally posted by brad0 View Post
                      You aren't really doing much to convince me you're not completely clueless.
                      you can lead a horse to water, but you can't make it drink.

                      Comment

                      Working...
                      X