Hi Daniel,

LOOOOOOONG time no see, I came back to "just for fun" world from BIZ DEV shortly :|

If there is mir-recordmydesktop or screenshot client demo, I will not need to take the photoshot with my mobile phone :)

Leslie

Linux Deepin Business Developer

Looking good. And for those who might be wondering, I believe that GTK without a theme loaded is meant to look like that :)


On 22/08/13 12:57, Leslie Zhai wrote:
Hi Sam, gtk3-demo WORKED :)

But there is still some bug need to fix, such as Invalid rectangle region.

Leslie

That looks like the fix I applied. Have you tried stepping through the
library to make sure it was conditionally compiled in?


On Thu, Aug 22, 2013 at 11:34 AM, Leslie Zhai <[email protected]
<mailto:[email protected]>> wrote:

    Hi Sam,

    Did you fixed the gdkdisplaymanager without mir bug like this?

    diff --git a/gdk/gdkdisplaymanager.c b/gdk/gdkdisplaymanager.c
    index 075f507..84c07a4 100644
    --- a/gdk/gdkdisplaymanager.c
    +++ b/gdk/gdkdisplaymanager.c
    @@ -60,6 +60,10 @@
     #include "wayland/gdkprivate-wayland.h"
     #endif

    +#ifdef GDK_WINDOWING_MIR
    +#include "mir/gdkprivate-mir.h"
    +#endif
    +
     /**
      * SECTION:gdkdisplaymanager
      * @Short_description: Maintains a list of all open GdkDisplays
    @@ -270,6 +274,9 @@ static GdkBackend gdk_backends[] = {
     #ifdef GDK_WINDOWING_WAYLAND
       { "wayland",  _gdk_wayland_display_open },
     #endif
    +#ifdef GDK_WINDOWING_MIR
    +  { "mir",      _gdk_mir_display_open },
    +#endif
     #ifdef GDK_WINDOWING_X11
       { "x11",      _gdk_x11_display_open },
     #endif

    I using GDK_BACKEND=mir GTK_CSD=1 ./gtk/examples/hello-world
    But still (lt-hello-world:6443): Gtk-WARNING **: cannot open
    display: :0

    I built the gtk ./autogen.sh --enable-mir-backend
    --disable-wayland-backend ...
    Did you disable  the wayland backend? it is useless.

    Leslie

    Hey Leslie,

    I'm currently running it natively - you need to explicitly tell
    GDK to use the mir backend.

    ./autogen.sh --enable-mir-backend ...
    GDK_BACKEND=mir GTK_CSD=1 ./gtk/examples/hello-world

    There was a bug for a little bit where the backend stub to pick
    the mir backend in gdkdisplaymanager wasn't checked in to source
    control, but I've fixed that now.

    I've (mostly) fixed the display lag problem. Part of that is a
    fix to the mir compositor so you'll need a recent (955+) revision
    of that. There is still a condition where frame swaps can get out
    of sync with input events which I'll look into soon.

    Sam.


    On Thu, Aug 22, 2013 at 11:17 AM, Leslie Zhai
    <[email protected] <mailto:[email protected]>> wrote:

        Hi Sam,

        I came back to "just for fun open source project" from
        business development.

        I running Mir natively described in doc/using_mir_on_pc.md
        <http://using_mir_on_pc.md>

            $ sudo mir_demo_server
            <Ctrl+Alt+F2> - log in to VT 2
            $ sudo chmod 777 /tmp/mir_socket
            $ gtk/examples/hello-world
            <Ctrl+Alt+F1> - switch back to Mir

        But (lt-hello-world:6443): Gtk-WARNING **: cannot open
        display: :0

        So did you test the GDK Mir backend using Mir natively way?
        or whether directly using XMir?

        Leslie

        Hey Leslie,

        Just wanted to update you on this - I've got a very (basic)
        version of gtk+ up and running. Display, mouse and key
        events should work to a limited extent. There is no support
        for key modifiers or more complicated keys yet. I've also
        disabled support for crossing events as Mir seems to send
        mir_motion_event_hover_exit as soon as a mouse button is
        pressed, which tends to confuse the toolkit (as I've
        experienced in the past ...). I've also noticed that the
        display lags a bit behind the input - I suspect this is
        because frame clock support is also unimplemented, so we are
        probably doing a buffer swap at the wrong point in the paint
        cycle.

        https://github.com/smspillaz/gtk/commits/wip/mir

        Anyways, its something to look at (or submit pull requests!)
        if you want.

        Thanks for doing the initial work on this.

        Sam.


        On Thu, Aug 8, 2013 at 7:32 PM, Leslie Zhai
        <[email protected] <mailto:[email protected]>> wrote:

            Hi Sam,

            You are welcome :) OK, I will git push to
            https://github.com/gnome/gtk

            Hi Leslie,

            Excellent. What I'd suggest doing instead of creating a
            new repo is instead creating a fork of
            https://github.com/gnome/gtk so that changes will be
            tracked on head (and not on a divergent branch).

            I haven't pushed my changes anywhere primarily because
            there's nothing particularly interesting  - just gdk
            with a copypasted wayland backend with s/wayland/mir at
            the moment. It might make sense for me to work on your
            branch directly.

            As for cursor and device support - I don't think that
            this is particularly fatal to any kind of Mir work. It
            should be possible to just function as though there is
            only a single input device at the moment. Cursor
            support can probably also easily be a no-op. I don't
            think there is a case in gdk for retrieving the cursor
            image from the server.

            I'll look into it a bit more later tonight. Thanks :)

            Sam.


            On Thu, Aug 8, 2013 at 2:14 PM, Leslie Zhai
            <[email protected] <mailto:[email protected]>>
            wrote:

                Hi Sam, github repos
                https://github.com/xiangzhai/gtk-mir
                May I know your github link :)


                    Sam,

                    I paused due to there is no cursor nor device
                    in Mir concept, but Wayland has it.
                    I want to team up and work on this together :)
                    I can learn a lot of things from you and other
                    Linux geeks!

                    1. yes, there is only cairo-gl, but we could
                    follow the Mir client examples about EGL
                    2. yes, we need to remove all Wayland code :)
                    3. ok, I will create the repos under my github
                    https://github.com/xiangzhai

                        Hey Leslie,

                        I saw on mir-devel that you were hacking on
                        a mir gdk backend. I actually started
                        looking into this last night and then
                        noticed just now that you've started doing
                        this. (Actually, I took the same approach
                        of copypasting the wayland backend).

                        Were you still working on this. I was
                        wondering if you wanted to team up and work
                        on this together.

                        Some open questions:

                        1. I've noticed that you're creating an EGL
                        context on the mir surface as soon as its
                        created. This seems strange to me as gdk
                        has no egl rendering backend (asides from
                        perhaps cairo-gl, which is not enabled by
                        default). Would it be easier to
                        software-backed buffers for this purpose
                        (similar to wayland?)
                        2. There are some references to wayland
                        structs still in the code, I imagine these
                        should be removed
                        3. The code is hosted on launchpad. Would
                        it be easier to host it on github for
                        easier mergability back into upstream gdk?

                        Sam.






            --
            Sam Spilsbury




        --
        Sam Spilsbury




    --
    Sam Spilsbury




--
Sam Spilsbury





--
Mir-devel mailing list
[email protected]
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/mir-devel

Reply via email to