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