Mir

Merge lp:~cemil-azizoglu/mir/rename-mesa-to-KMS into lp:mir

Proposed by Cemil Azizoglu
Status: Merged
Approved by: Cemil Azizoglu
Approved revision: no longer in the source branch.
Merged at revision: 2624
Proposed branch: lp:~cemil-azizoglu/mir/rename-mesa-to-KMS
Merge into: lp:mir
Prerequisite: lp:~cemil-azizoglu/mir/split-mesa-into-common-and-kms
Diff against target: 573 lines (+84/-69)
28 files modified
CMakeLists.txt (+6/-6)
cmake/ABICheck.cmake (+4/-4)
cross-compile-chroot.sh (+1/-1)
debian/control (+23/-11)
debian/create_postinst_prerm_scripts.sh (+2/-2)
debian/install_ld_so_conf.sh (+2/-3)
debian/mir-platform-graphics-mesa-kms2.install (+1/-1)
debian/rules (+3/-3)
doc/kernel_requirements.md (+1/-1)
src/platforms/CMakeLists.txt (+2/-2)
src/platforms/mesa/server/CMakeLists.txt (+1/-1)
src/platforms/mesa/server/kms/CMakeLists.txt (+7/-7)
src/platforms/mesa/server/kms/platform.cpp (+1/-1)
tests/CMakeLists.txt (+2/-2)
tests/acceptance-tests/CMakeLists.txt (+1/-1)
tests/integration-tests/CMakeLists.txt (+2/-2)
tests/integration-tests/graphics/mesa/CMakeLists.txt (+1/-1)
tests/mir_test_doubles/CMakeLists.txt (+1/-1)
tests/unit-tests/CMakeLists.txt (+3/-3)
tests/unit-tests/client/CMakeLists.txt (+1/-1)
tests/unit-tests/client/test_client_platform.cpp (+1/-1)
tests/unit-tests/client/test_probing_client_platform_factory.cpp (+2/-2)
tests/unit-tests/graphics/CMakeLists.txt (+1/-1)
tests/unit-tests/graphics/mesa/CMakeLists.txt (+1/-1)
tests/unit-tests/graphics/mesa/test_platform.cpp (+2/-2)
tests/unit-tests/graphics/test_platform_prober.cpp (+5/-5)
tools/run_abi_compliance_checker.sh (+1/-1)
tools/update_package_abis.sh (+6/-2)
To merge this branch: bzr merge lp:~cemil-azizoglu/mir/rename-mesa-to-KMS
Reviewer Review Type Date Requested Status
PS Jenkins bot (community) continuous-integration Approve
Alan Griffiths Approve
Daniel van Vugt Abstain
Alexandros Frantzis (community) Needs Information
Chris Halse Rogers Approve
Review via email: mp+260533@code.launchpad.net

Commit message

Renames the mesa graphics platform driver to KMS.

X platform will also be using Mesa driver, so there is a need to differentiate.

The Mesa and X client platform drivers are identical so far, so the Mesa client platform driver stays unchanged.

Description of the change

Renames the mesa graphics platform driver to KMS.

X platform will also be using Mesa driver, so there is a need to differentiate.

The Mesa and X client platform drivers are identical so far, so the Mesa client platform driver stays unchanged.

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Chris Halse Rogers (raof) wrote :

Nit: I'd probably use lowercase kms in the binary names. You certainly need to use it for the package names - Debian policy restricts package names to lowercase only.

review: Needs Fixing
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

I think "DRM"/"DRI" terminology might also be a good option. If you look at the code it's all "drm", some of which leads to KMS logic via "drm" functions.

And proprietary drivers may retain the KMS part but swap out the GBM logic.

I think it might be premature to choose a new name until the driver code itself is further teased apart...

review: Needs Information
Revision history for this message
Chris Halse Rogers (raof) wrote :

The end-state for this code is that it *is* the kms bits; the non-display buffer alloc and such becomes shared with X.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

(1) Consider using the name "drm" instead of "kms"...
http://en.wikipedia.org/wiki/File:DRM_architecture.svg

(2) Package and binary names should lower case:

83 +Package: mir-platform-graphics-KMS2

70 + -DMIR_PLATFORM=android\;KMS \

review: Needs Fixing
Revision history for this message
Kevin DuBois (kdub) wrote :

> I think it might be premature to choose a new name until the driver code
> itself is further teased apart...
+1, I guess here's my shot at teasing apart...
In current mir parlance, (for better or worse, probably worse) a platform (mg::Platform) is current "a gpu and an output".
So currently,
"android" == gralloc + hwc
"mesa" == gbm + drm

If we separated mg::Platform out into GpuPlatform and DisplayPlatform [1], then what is going on falls into place easily:
DisplayPlatforms are hwc, drm, X, nested, offscreen
GpuPlatforms are gralloc, gbm

[1] or similar names

Revision history for this message
Alexandros Frantzis (afrantzis) wrote :

> "mesa" == gbm + drm

DRM provides a rich set of functions, a subset of which deal with display modesetting (called KMS). I think it's more accurate to use 'kms' for this DisplayPlatform, which implies that we are using DRM facilities (since KMS is a part of DRM), rather than the all-encompassing 'drm'.

Revision history for this message
Cemil Azizoglu (cemil-azizoglu) wrote :

Updated with s/KMS/kms in binaries and package name.

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
Chris Halse Rogers (raof) wrote :

LGTM now.

review: Approve
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

(3) If presently:
  "android" == gralloc + hwc
  "mesa" == gbm + drm
and you propose:
  "kms" == gbm + drm
then how do we fit in (soon):
  "nvidia" = eglstreams + kms
? Seems like "kms" then is the wrong name for the open driver because nvidia et all will use KMS too.

(4) Is this right that the platform dir is still named "mesa" or are we intentionally only halfway there?

$ ls src/platforms/
android CMakeLists.txt common mesa

review: Needs Information
Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

*Needs Discussion*

We've a host of names around parts of the display stack. And it sounds as though this rename is simplistic.

I like Kevin's suggestion that we should tease apart the GPU driver from display platform, but I don't know how practical that is at this stage. (This also fits with other discussions we're had about GPU-less compositing.)

Do we have a clear consensus view on what the endpoint should be? Or should we accept this as a useful intermediate stage while we explore?

review: Needs Information
Revision history for this message
Alexandros Frantzis (afrantzis) wrote :

> Seems like "kms" then is the wrong name for the open driver because nvidia et all will use KMS too.

I agree that a better name for this would be 'kms-mesa' or similar, and "x11-mesa" for the X new platform. If we split the Platform into a DisplayPlatform and GPUPlatform (or however we call them), then we could have a standalone DisplayPlatform we can call "kms".

Needs discussion.

review: Needs Information
Revision history for this message
Kevin DuBois (kdub) wrote :

We don't have a 'bucket' for X to live in because X11 is not a buffer allocator, its a display implementation, and it depends on the mesa platform. This isn't a problem for Nested and Offscreen, because they're platform-independent, so they can live in libmirserver.so.

I still think that separating out the display from the buffer allocator system is useful for other purposes. If we don't tease this out though, but perhaps X-backed displays are a platform-specific option of the mesa platform. (like, they take a platform specific option to switch out the display type generated by mgm::Platform).

If X displays could somehow be made platform-independent, then it would seem that they're the same sort of thing as an offscreen/nested display.

So I guess I'd be happy with any of:
1) a platform specific option to the mesa platform that triggers the mgm::Platform::create_display to make the X object.
2) teasing out the buffer allocation from the display in mg::Platform, and X would just be a display platform.
3) X displays being platform independent and living in libmirserver (although I've heard that the way that the X code works won't work for android; have to wait and see the code)
4) having an x11-mesa and a kms-platform (although this seems like a lot more plumbing than a platform specific switch)

Revision history for this message
Cemil Azizoglu (cemil-azizoglu) wrote :

> (3) If presently:
> "android" == gralloc + hwc
> "mesa" == gbm + drm
> and you propose:
> "kms" == gbm + drm
> then how do we fit in (soon):
> "nvidia" = eglstreams + kms
> ? Seems like "kms" then is the wrong name for the open driver because nvidia
> et all will use KMS too.
>
> (4) Is this right that the platform dir is still named "mesa" or are we
> intentionally only halfway there?
>
> $ ls src/platforms/
> android CMakeLists.txt common mesa

Yes the directory is named mesa. Both kms (or whatever we end up naming it) and x11 use mesa, so we have a top level mesa directory.

Revision history for this message
Cemil Azizoglu (cemil-azizoglu) wrote :

> We don't have a 'bucket' for X to live in because X11 is not a buffer
> allocator, its a display implementation, and it depends on the mesa platform.
> This isn't a problem for Nested and Offscreen, because they're platform-
> independent, so they can live in libmirserver.so.
>
> I still think that separating out the display from the buffer allocator system
> is useful for other purposes. If we don't tease this out though, but perhaps
> X-backed displays are a platform-specific option of the mesa platform. (like,
> they take a platform specific option to switch out the display type generated
> by mgm::Platform).
>
> If X displays could somehow be made platform-independent, then it would seem
> that they're the same sort of thing as an offscreen/nested display.
>
> So I guess I'd be happy with any of:
> 1) a platform specific option to the mesa platform that triggers the
> mgm::Platform::create_display to make the X object.
> 2) teasing out the buffer allocation from the display in mg::Platform, and X
> would just be a display platform.
> 3) X displays being platform independent and living in libmirserver (although
> I've heard that the way that the X code works won't work for android; have to
> wait and see the code)
> 4) having an x11-mesa and a kms-platform (although this seems like a lot more
> plumbing than a platform specific switch)

We discussed this on the standup today. Here are the major points :
- Agreed with kdub on separating gpu and display parts of the platform but this is an existing issue and will complicate and delay introduction of X support into the tree. We can just as easily do this once x11 support is merged in as it's pretty self-contained.
- Also agreed that x11 support is just a different way of handling the display and could be rolled into the existing mesa driver with a platform specific flag. But this will make the code less readable, and introduce X dependency into the existing mesa driver. It could however be done in the future.
- Agreed that the mesa driver will be renamed to graphics-mesa-kms. The x11 driver will be named accordingly.

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Kevin DuBois (kdub) wrote :

48+if(MIR_BUILD_PLATFORM_KMS)
51+make_lib_descriptor(platformgraphicskms LIBRARY_HEADER ${CMAKE_SOURCE_DIR}/include/platform/mir/graphics/platform.h)
183+To run Mir with the default `KMS` platform you need a linux kernel with at
(others)

a few missed sed renames following the change to kms-> mesa-kms... otherwise okay

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Note sure about having a dash in the driver name, but sounds much less confusing now.

review: Abstain
Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

I usually get these incantations wrong (so don't take my word for it):

87 -Package: mir-platform-graphics-mesa2
88 +Package: mir-platform-graphics-mesa-kms2

Don't we need also need

     Replaces: mir-platform-graphics-mesa2
     Breaks: mir-platform-graphics-mesa2

review: Needs Information
Revision history for this message
Chris Halse Rogers (raof) wrote :

I don't think so.

We don't need the Breaks/Replaces incantation because there are no files in common with the old package (it's now graphics-mesa-kms.so)

We might want some sort of "the old package should be removed" marker, though. Although they don't conflict, I'm not sure which one our code will pick if both are installed, which could lead to bugs we fix in kms-mesa.so not appearing to be fixed because the system is picking up an old mesa.so.

-----Original Message-----
From: "Alan Griffiths" <email address hidden>
Sent: ‎3/‎06/‎2015 20:40
To: "Cemil Azizoglu" <email address hidden>
Subject: Re: [Merge] lp:~cemil-azizoglu/mir/rename-mesa-to-KMS into lp:mir

Review: Needs Information

I usually get these incantations wrong (so don't take my word for it):

87 -Package: mir-platform-graphics-mesa2
88 +Package: mir-platform-graphics-mesa-kms2

Don't we need also need

     Replaces: mir-platform-graphics-mesa2
     Breaks: mir-platform-graphics-mesa2

--
https://code.launchpad.net/~cemil-azizoglu/mir/rename-mesa-to-KMS/+merge/260533
You are reviewing the proposed merge of lp:~cemil-azizoglu/mir/rename-mesa-to-KMS into lp:mir.

Revision history for this message
Cemil Azizoglu (cemil-azizoglu) wrote :

> I don't think so.
>
> We don't need the Breaks/Replaces incantation because there are no files in
> common with the old package (it's now graphics-mesa-kms.so)
>
> We might want some sort of "the old package should be removed" marker, though.
> Although they don't conflict, I'm not sure which one our code will pick if
> both are installed, which could lead to bugs we fix in kms-mesa.so not
> appearing to be fixed because the system is picking up an old mesa.so.
>

According to my research, we need to do what's explained here as method 2 :
https://wiki.debian.org/Renaming_a_Package. (It still uses Replaces/Breaks). Let me know if you have a better idea.

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

OK

review: Approve
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Cemil Azizoglu (cemil-azizoglu) wrote :

Failed due to conflicts which have now been resolved. Re-TAing.

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Cemil Azizoglu (cemil-azizoglu) wrote :
Revision history for this message
PS Jenkins bot (ps-jenkins) :
review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'CMakeLists.txt'
2--- CMakeLists.txt 2015-05-19 21:34:34 +0000
3+++ CMakeLists.txt 2015-06-04 17:06:35 +0000
4@@ -143,20 +143,20 @@
5
6 add_definitions(-DMESA_EGL_NO_X11_HEADERS)
7
8-# Default to mesa backend, but build all of them
9+# Default to KMS backend, but build all of them
10 set(
11 MIR_PLATFORM
12- mesa;android
13+ mesa-kms;android
14 CACHE
15 STRING
16- "a list of graphics backends to build (options are 'mesa' or 'android')"
17+ "a list of graphics backends to build (options are 'mesa-kms' or 'android')"
18 )
19
20 list(GET MIR_PLATFORM 0 MIR_TEST_PLATFORM)
21
22 foreach(platform IN LISTS MIR_PLATFORM)
23- if (platform STREQUAL "mesa")
24- set(MIR_BUILD_PLATFORM_MESA TRUE)
25+ if (platform STREQUAL "mesa-kms")
26+ set(MIR_BUILD_PLATFORM_MESA_KMS TRUE)
27 endif()
28 if (platform STREQUAL "android")
29 set(MIR_BUILD_PLATFORM_ANDROID TRUE)
30@@ -183,7 +183,7 @@
31 find_package(LibHardware REQUIRED)
32 endif()
33
34-if (MIR_BUILD_PLATFORM_MESA)
35+if (MIR_BUILD_PLATFORM_MESA_KMS)
36 find_package( PkgConfig )
37 pkg_check_modules( GBM REQUIRED gbm>=9.0.0)
38 pkg_check_modules( DRM REQUIRED libdrm )
39
40=== modified file 'cmake/ABICheck.cmake'
41--- cmake/ABICheck.cmake 2015-06-03 22:10:24 +0000
42+++ cmake/ABICheck.cmake 2015-06-04 17:06:35 +0000
43@@ -80,9 +80,9 @@
44 make_lib_descriptor(server)
45 make_lib_descriptor(common INCLUDE_PRIVATE EXCLUDE_HEADERS ${mircommon-exclude-headers})
46 make_lib_descriptor(platform INCLUDE_PRIVATE EXCLUDE_HEADERS ${mirplatform-exclude-headers})
47-if(MIR_BUILD_PLATFORM_MESA)
48+if(MIR_BUILD_PLATFORM_MESA_KMS)
49 make_lib_descriptor(clientplatformmesa LIBRARY_HEADER ${CMAKE_SOURCE_DIR}/src/include/client/mir/client_platform_factory.h)
50-make_lib_descriptor(platformgraphicsmesa LIBRARY_HEADER ${CMAKE_SOURCE_DIR}/include/platform/mir/graphics/platform.h)
51+make_lib_descriptor(platformgraphicsmesakms LIBRARY_HEADER ${CMAKE_SOURCE_DIR}/include/platform/mir/graphics/platform.h)
52 endif()
53 if(MIR_BUILD_PLATFORM_ANDROID)
54 make_lib_descriptor(clientplatformandroid LIBRARY_HEADER ${CMAKE_SOURCE_DIR}/src/include/client/mir/client_platform_factory.h)
55@@ -125,8 +125,8 @@
56 endmacro(_define_abi_check_for)
57
58 set(the_libs mirserver mirclient mircommon mirplatform)
59-if(MIR_BUILD_PLATFORM_MESA)
60- set(the_libs ${the_libs} mirclientplatformmesa mirplatformgraphicsmesa)
61+if(MIR_BUILD_PLATFORM_MESA_KMS)
62+ set(the_libs ${the_libs} mirclientplatformmesa mirplatformgraphicsmesakms)
63 endif()
64 if(MIR_BUILD_PLATFORM_ANDROID)
65 set(the_libs ${the_libs} mirclientplatformandroid mirplatformgraphicsandroid)
66
67=== modified file 'cross-compile-chroot.sh'
68--- cross-compile-chroot.sh 2015-01-21 07:34:50 +0000
69+++ cross-compile-chroot.sh 2015-06-04 17:06:35 +0000
70@@ -77,7 +77,7 @@
71 echo "Using PKG_CONFIG_EXECUTABLE: $PKG_CONFIG_EXECUTABLE"
72 cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/LinuxCrossCompile.cmake \
73 -DBoost_COMPILER=-gcc \
74- -DMIR_PLATFORM=android\;mesa \
75+ -DMIR_PLATFORM=android\;mesa-kms \
76 ..
77
78 make -j${NUM_JOBS} $@
79
80=== modified file 'debian/control'
81--- debian/control 2015-06-04 02:26:53 +0000
82+++ debian/control 2015-06-04 17:06:35 +0000
83@@ -268,19 +268,31 @@
84 Contains the shared libraries required for the Mir server and client.
85
86 # Longer-term these drivers should move out-of-tree
87+Package: mir-platform-graphics-mesa-kms2
88+Section: libs
89+Architecture: linux-any
90+Multi-Arch: same
91+Pre-Depends: ${misc:Pre-Depends}
92+Depends: ${misc:Depends},
93+ ${shlibs:Depends},
94+Replaces: mir-platform-graphics-mesa2 (<< 0.14)
95+Breaks: mir-platform-graphics-mesa2 (<< 0.14)
96+Description: Display server for Ubuntu - platform library for KMS Mesa
97+ Mir is a display server running on linux systems, with a focus on efficiency,
98+ robust operation and a well-defined driver model.
99+ .
100+ Contains the shared libraries required for the Mir server to interact with
101+ the hardware platform using the Mesa drivers.
102+
103 Package: mir-platform-graphics-mesa2
104-Section: libs
105+Section: oldlibs
106 Architecture: linux-any
107-Multi-Arch: same
108-Pre-Depends: ${misc:Pre-Depends}
109-Depends: ${misc:Depends},
110+Depends: mir-platform-graphics-mesa-kms2,
111+ ${misc:Depends},
112 ${shlibs:Depends},
113-Description: Display server for Ubuntu - platform library for Mesa
114- Mir is a display server running on linux systems, with a focus on efficiency,
115- robust operation and a well-defined driver model.
116- .
117- Contains the shared libraries required for the Mir server to interact with
118- the hardware platform using the Mesa drivers.
119+Description: transitional dummy package
120+ This is a transitional dummy package created due to package renaming.
121+ It can safely be removed.
122
123 Package: mir-platform-graphics-android2
124 Section: libs
125@@ -344,7 +356,7 @@
126 Multi-Arch: same
127 Pre-Depends: ${misc:Pre-Depends}
128 Depends: ${misc:Depends},
129- mir-platform-graphics-mesa2,
130+ mir-platform-graphics-mesa-kms2,
131 mir-client-platform-mesa2,
132 Description: Display server for Ubuntu - desktop driver metapackage
133 Mir is a display server running on linux systems, with a focus on efficiency,
134
135=== modified file 'debian/create_postinst_prerm_scripts.sh'
136--- debian/create_postinst_prerm_scripts.sh 2015-06-04 02:26:53 +0000
137+++ debian/create_postinst_prerm_scripts.sh 2015-06-04 17:06:35 +0000
138@@ -9,10 +9,10 @@
139 mir_platform_types="${PLATFORM_DRIVER}"
140 case $deb_host_arch in
141 amd64|i386|armhf)
142- mir_platforms="android mesa"
143+ mir_platforms="android mesa-kms"
144 ;;
145 *)
146- mir_platforms="mesa"
147+ mir_platforms="mesa-kms"
148 ;;
149 esac
150
151
152=== modified file 'debian/install_ld_so_conf.sh'
153--- debian/install_ld_so_conf.sh 2015-06-04 02:26:53 +0000
154+++ debian/install_ld_so_conf.sh 2015-06-04 17:06:35 +0000
155@@ -8,11 +8,10 @@
156 mir_platform_types="${PLATFORM_DRIVER} ${CLIENT_DRIVER}"
157 case $DEB_HOST_ARCH in
158 amd64|i386|armhf)
159- mir_platforms="android mesa"
160+ mir_platforms="android mesa-kms"
161 ;;
162 *)
163- mir_platforms="mesa"
164- ;;
165+ mir_platforms="mesa-kms"
166 esac
167
168 for platform_type in $mir_platform_types;
169
170=== renamed file 'debian/mir-platform-graphics-mesa2.install' => 'debian/mir-platform-graphics-mesa-kms2.install'
171--- debian/mir-platform-graphics-mesa2.install 2015-05-07 09:06:20 +0000
172+++ debian/mir-platform-graphics-mesa-kms2.install 2015-06-04 17:06:35 +0000
173@@ -1,1 +1,1 @@
174-usr/lib/*/mir/server-platform/graphics-mesa.so.2
175+usr/lib/*/mir/server-platform/graphics-mesa-kms.so.2
176
177=== modified file 'debian/rules'
178--- debian/rules 2015-06-04 02:26:53 +0000
179+++ debian/rules 2015-06-04 17:06:35 +0000
180@@ -28,16 +28,16 @@
181 $(COMMON_CONFIGURE_OPTIONS) \
182 -DMIR_RUN_ACCEPTANCE_TESTS=OFF \
183 -DMIR_RUN_INTEGRATION_TESTS=OFF \
184- -DMIR_PLATFORM=android\;mesa
185+ -DMIR_PLATFORM=android\;mesa-kms
186 else
187 ifneq ($(filter amd64 i386,$(DEB_HOST_ARCH)),)
188 dh_auto_configure -- \
189 $(COMMON_CONFIGURE_OPTIONS) \
190- -DMIR_PLATFORM=mesa\;android
191+ -DMIR_PLATFORM=mesa-kms\;android
192 else
193 dh_auto_configure -- \
194 $(COMMON_CONFIGURE_OPTIONS) \
195- -DMIR_PLATFORM=mesa
196+ -DMIR_PLATFORM=mesa-kms
197 endif
198 endif
199
200
201=== modified file 'doc/kernel_requirements.md'
202--- doc/kernel_requirements.md 2015-04-13 15:57:33 +0000
203+++ doc/kernel_requirements.md 2015-06-04 17:06:35 +0000
204@@ -1,7 +1,7 @@
205 Linux Kernel Requirements for Mir
206 =================================
207
208-To run Mir with the default `mesa` platform you need a linux kernel with at
209+To run Mir with the default `mesa-kms` platform you need a linux kernel with at
210 least:
211
212 Modules: i915, radeon and nouveau, to support the broadest range of common
213
214=== modified file 'src/platforms/CMakeLists.txt'
215--- src/platforms/CMakeLists.txt 2015-05-07 09:06:20 +0000
216+++ src/platforms/CMakeLists.txt 2015-06-04 17:06:35 +0000
217@@ -52,8 +52,8 @@
218
219 add_subdirectory(common/)
220
221-if (MIR_BUILD_PLATFORM_MESA)
222- add_subdirectory(mesa/)
223+if (MIR_BUILD_PLATFORM_MESA_KMS)
224+ add_subdirectory(mesa/)
225 endif()
226
227 if (MIR_BUILD_PLATFORM_ANDROID)
228
229=== modified file 'src/platforms/mesa/server/CMakeLists.txt'
230--- src/platforms/mesa/server/CMakeLists.txt 2015-06-01 18:30:51 +0000
231+++ src/platforms/mesa/server/CMakeLists.txt 2015-06-04 17:06:35 +0000
232@@ -1,5 +1,5 @@
233 add_subdirectory(common/)
234
235-if (MIR_BUILD_PLATFORM_MESA)
236+if (MIR_BUILD_PLATFORM_MESA_KMS)
237 add_subdirectory(kms/)
238 endif()
239
240=== modified file 'src/platforms/mesa/server/kms/CMakeLists.txt'
241--- src/platforms/mesa/server/kms/CMakeLists.txt 2015-06-01 18:30:51 +0000
242+++ src/platforms/mesa/server/kms/CMakeLists.txt 2015-06-04 17:06:35 +0000
243@@ -17,7 +17,7 @@
244 add_definitions(-D__GBM__)
245
246 add_library(
247- mirplatformgraphicsmesaobjects OBJECT
248+ mirplatformgraphicsmesakmsobjects OBJECT
249
250 bypass.cpp
251 cursor.cpp
252@@ -34,13 +34,13 @@
253 )
254
255 add_library(
256- mirplatformgraphicsmesa MODULE
257+ mirplatformgraphicsmesakms MODULE
258
259- $<TARGET_OBJECTS:mirplatformgraphicsmesaobjects>
260+ $<TARGET_OBJECTS:mirplatformgraphicsmesakmsobjects>
261 )
262
263 target_link_libraries(
264- mirplatformgraphicsmesa
265+ mirplatformgraphicsmesakms
266 PRIVATE
267 mirplatform
268 mirsharedmesaservercommon-static
269@@ -54,12 +54,12 @@
270 set(symbol_map ${CMAKE_CURRENT_SOURCE_DIR}/symbols.map)
271
272 set_target_properties(
273- mirplatformgraphicsmesa PROPERTIES
274- OUTPUT_NAME graphics-mesa
275+ mirplatformgraphicsmesakms PROPERTIES
276+ OUTPUT_NAME graphics-mesa-kms
277 LIBRARY_OUTPUT_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/server-modules
278 PREFIX ""
279 SUFFIX ".so.${MIR_SERVER_GRAPHICS_PLATFORM_ABI}"
280 LINK_FLAGS "-Wl,--exclude-libs=ALL -Wl,--version-script,${symbol_map}"
281 )
282
283-install(TARGETS mirplatformgraphicsmesa LIBRARY DESTINATION ${MIR_SERVER_PLATFORM_PATH})
284+install(TARGETS mirplatformgraphicsmesakms LIBRARY DESTINATION ${MIR_SERVER_PLATFORM_PATH})
285
286=== modified file 'src/platforms/mesa/server/kms/platform.cpp'
287--- src/platforms/mesa/server/kms/platform.cpp 2015-05-28 21:16:37 +0000
288+++ src/platforms/mesa/server/kms/platform.cpp 2015-06-04 17:06:35 +0000
289@@ -231,7 +231,7 @@
290 }
291
292 mir::ModuleProperties const description = {
293- "mesa",
294+ "mesa-kms",
295 MIR_VERSION_MAJOR,
296 MIR_VERSION_MINOR,
297 MIR_VERSION_MICRO
298
299=== modified file 'tests/CMakeLists.txt'
300--- tests/CMakeLists.txt 2015-05-19 21:34:34 +0000
301+++ tests/CMakeLists.txt 2015-06-04 17:06:35 +0000
302@@ -35,8 +35,8 @@
303 add_definitions(-DMIR_BUILD_PLATFORM_ANDROID)
304 endif()
305
306-if (MIR_BUILD_PLATFORM_MESA)
307- add_definitions(-DMIR_BUILD_PLATFORM_MESA)
308+if (MIR_BUILD_PLATFORM_MESA_KMS)
309+ add_definitions(-DMIR_BUILD_PLATFORM_MESA_KMS)
310 endif()
311
312 include_directories(
313
314=== modified file 'tests/acceptance-tests/CMakeLists.txt'
315--- tests/acceptance-tests/CMakeLists.txt 2015-05-19 21:34:34 +0000
316+++ tests/acceptance-tests/CMakeLists.txt 2015-06-04 17:06:35 +0000
317@@ -46,7 +46,7 @@
318 test_surface_placement.cpp
319 )
320
321-if (MIR_TEST_PLATFORM STREQUAL "mesa")
322+if (MIR_TEST_PLATFORM STREQUAL "mesa-kms")
323 list(APPEND SOURCES test_symbols_required_by_mesa.cpp)
324 endif()
325
326
327=== modified file 'tests/integration-tests/CMakeLists.txt'
328--- tests/integration-tests/CMakeLists.txt 2015-06-03 12:07:08 +0000
329+++ tests/integration-tests/CMakeLists.txt 2015-06-04 17:06:35 +0000
330@@ -52,7 +52,7 @@
331 add_subdirectory(graphics/android)
332 endif()
333
334-if(MIR_TEST_PLATFORM STREQUAL "mesa")
335+if(MIR_TEST_PLATFORM STREQUAL "mesa-kms")
336 include_directories(
337 ${DRM_INCLUDE_DIRS}
338 ${GBM_INCLUDE_DIRS}
339@@ -116,7 +116,7 @@
340 ${MIR_SERVER_REFERENCES}
341 )
342
343-if (MIR_BUILD_PLATFORM_MESA)
344+if (MIR_BUILD_PLATFORM_MESA_KMS)
345 target_link_libraries(mir_integration_tests
346 mirsharedmesaservercommon-static
347 )
348
349=== modified file 'tests/integration-tests/graphics/mesa/CMakeLists.txt'
350--- tests/integration-tests/graphics/mesa/CMakeLists.txt 2015-01-21 07:34:50 +0000
351+++ tests/integration-tests/graphics/mesa/CMakeLists.txt 2015-06-04 17:06:35 +0000
352@@ -1,7 +1,7 @@
353 list(
354 APPEND INTEGRATION_TESTS_SRCS
355 ${CMAKE_CURRENT_SOURCE_DIR}/test_buffer_integration.cpp
356- $<TARGET_OBJECTS:mirplatformgraphicsmesaobjects>
357+ $<TARGET_OBJECTS:mirplatformgraphicsmesakmsobjects>
358 )
359
360 set(
361
362=== modified file 'tests/mir_test_doubles/CMakeLists.txt'
363--- tests/mir_test_doubles/CMakeLists.txt 2015-05-28 21:16:37 +0000
364+++ tests/mir_test_doubles/CMakeLists.txt 2015-06-04 17:06:35 +0000
365@@ -32,7 +32,7 @@
366 ${CMAKE_CURRENT_SOURCE_DIR}/mock_gl.cpp
367 )
368
369-if (MIR_BUILD_PLATFORM_MESA)
370+if (MIR_BUILD_PLATFORM_MESA_KMS)
371 include_directories(
372 ${PROJECT_SOURCE_DIR}/src/platforms/mesa/server/common
373 ${DRM_INCLUDE_DIRS}
374
375=== modified file 'tests/unit-tests/CMakeLists.txt'
376--- tests/unit-tests/CMakeLists.txt 2015-05-28 21:16:37 +0000
377+++ tests/unit-tests/CMakeLists.txt 2015-06-04 17:06:35 +0000
378@@ -6,8 +6,8 @@
379 add_definitions(-DMIR_BUILD_PLATFORM_ANDROID)
380 endif()
381
382-if (MIR_BUILD_PLATFORM_MESA)
383- add_definitions(-DMIR_BUILD_PLATFORM_MESA)
384+if (MIR_BUILD_PLATFORM_MESA_KMS)
385+ add_definitions(-DMIR_BUILD_PLATFORM_MESA_KMS)
386 endif()
387
388 include_directories(
389@@ -135,7 +135,7 @@
390 ${XKBCOMMON_LIBRARIES}
391 )
392
393-if (MIR_BUILD_PLATFORM_MESA)
394+if (MIR_BUILD_PLATFORM_MESA_KMS)
395 target_link_libraries(mir_unit_tests
396 mirsharedmesaservercommon-static
397 )
398
399=== modified file 'tests/unit-tests/client/CMakeLists.txt'
400--- tests/unit-tests/client/CMakeLists.txt 2015-03-31 02:35:42 +0000
401+++ tests/unit-tests/client/CMakeLists.txt 2015-06-04 17:06:35 +0000
402@@ -22,7 +22,7 @@
403 add_subdirectory("android")
404 endif()
405
406-if(MIR_TEST_PLATFORM STREQUAL "mesa")
407+if(MIR_TEST_PLATFORM STREQUAL "mesa-kms")
408 add_subdirectory("mesa")
409 endif()
410
411
412=== modified file 'tests/unit-tests/client/test_client_platform.cpp'
413--- tests/unit-tests/client/test_client_platform.cpp 2015-05-07 09:06:20 +0000
414+++ tests/unit-tests/client/test_client_platform.cpp 2015-06-04 17:06:35 +0000
415@@ -93,7 +93,7 @@
416
417 #endif
418
419-#ifdef MIR_BUILD_PLATFORM_MESA
420+#ifdef MIR_BUILD_PLATFORM_MESA_KMS
421 ClientPlatformTraits const mesa_platform{"mesa",
422 [](MirPlatformPackage& pkg)
423 {
424
425=== modified file 'tests/unit-tests/client/test_probing_client_platform_factory.cpp'
426--- tests/unit-tests/client/test_probing_client_platform_factory.cpp 2015-05-07 09:06:20 +0000
427+++ tests/unit-tests/client/test_probing_client_platform_factory.cpp 2015-06-04 17:06:35 +0000
428@@ -35,7 +35,7 @@
429 all_available_modules()
430 {
431 std::vector<std::shared_ptr<mir::SharedLibrary>> modules;
432-#ifdef MIR_BUILD_PLATFORM_MESA
433+#ifdef MIR_BUILD_PLATFORM_MESA_KMS
434 modules.push_back(std::make_shared<mir::SharedLibrary>(mtf::client_platform("mesa")));
435 #endif
436 #ifdef MIR_BUILD_PLATFORM_ANDROID
437@@ -73,7 +73,7 @@
438 std::runtime_error);
439 }
440
441-#ifdef MIR_BUILD_PLATFORM_MESA
442+#ifdef MIR_BUILD_PLATFORM_MESA_KMS
443 TEST(ProbingClientPlatformFactory, CreatesMesaPlatformWhenAppropriate)
444 #else
445 TEST(ProbingClientPlatformFactory, DISABLED_CreatesMesaPlatformWhenAppropriate)
446
447=== modified file 'tests/unit-tests/graphics/CMakeLists.txt'
448--- tests/unit-tests/graphics/CMakeLists.txt 2015-05-19 21:34:34 +0000
449+++ tests/unit-tests/graphics/CMakeLists.txt 2015-06-04 17:06:35 +0000
450@@ -23,7 +23,7 @@
451 add_subdirectory(android/)
452 endif()
453
454-if (MIR_TEST_PLATFORM STREQUAL "mesa")
455+if (MIR_TEST_PLATFORM STREQUAL "mesa-kms")
456 add_subdirectory(mesa/)
457 endif()
458
459
460=== modified file 'tests/unit-tests/graphics/mesa/CMakeLists.txt'
461--- tests/unit-tests/graphics/mesa/CMakeLists.txt 2015-03-31 02:35:42 +0000
462+++ tests/unit-tests/graphics/mesa/CMakeLists.txt 2015-06-04 17:06:35 +0000
463@@ -17,7 +17,7 @@
464 ${CMAKE_CURRENT_SOURCE_DIR}/test_bypass.cpp
465 ${CMAKE_CURRENT_SOURCE_DIR}/test_ipc_operations.cpp
466 ${CMAKE_CURRENT_SOURCE_DIR}/test_nested_authentication.cpp
467- $<TARGET_OBJECTS:mirplatformgraphicsmesaobjects>
468+ $<TARGET_OBJECTS:mirplatformgraphicsmesakmsobjects>
469 )
470
471 set(UNIT_TEST_SOURCES ${UNIT_TEST_SOURCES} PARENT_SCOPE)
472
473=== modified file 'tests/unit-tests/graphics/mesa/test_platform.cpp'
474--- tests/unit-tests/graphics/mesa/test_platform.cpp 2015-05-29 16:16:20 +0000
475+++ tests/unit-tests/graphics/mesa/test_platform.cpp 2015-06-04 17:06:35 +0000
476@@ -304,7 +304,7 @@
477 {
478 mtf::UdevEnvironment udev_environment;
479
480- mir::SharedLibrary platform_lib{mtf::server_platform("graphics-mesa")};
481+ mir::SharedLibrary platform_lib{mtf::server_platform("graphics-mesa-kms")};
482 auto probe = platform_lib.load_function<mg::PlatformProbe>(probe_platform);
483 EXPECT_EQ(mg::PlatformPriority::unsupported, probe());
484 }
485@@ -315,7 +315,7 @@
486
487 udev_environment.add_standard_device("standard-drm-devices");
488
489- mir::SharedLibrary platform_lib{mtf::server_platform("graphics-mesa")};
490+ mir::SharedLibrary platform_lib{mtf::server_platform("graphics-mesa-kms")};
491 auto probe = platform_lib.load_function<mg::PlatformProbe>(probe_platform);
492 EXPECT_EQ(mg::PlatformPriority::best, probe());
493 }
494
495=== modified file 'tests/unit-tests/graphics/test_platform_prober.cpp'
496--- tests/unit-tests/graphics/test_platform_prober.cpp 2015-05-07 09:06:20 +0000
497+++ tests/unit-tests/graphics/test_platform_prober.cpp 2015-06-04 17:06:35 +0000
498@@ -23,7 +23,7 @@
499
500 #include "mir/raii.h"
501
502-#ifdef MIR_BUILD_PLATFORM_MESA
503+#ifdef MIR_BUILD_PLATFORM_MESA_KMS
504 #include "mir_test_doubles/mock_drm.h"
505 #include "mir_test_doubles/mock_gbm.h"
506 #endif
507@@ -46,8 +46,8 @@
508 {
509 std::vector<std::shared_ptr<mir::SharedLibrary>> modules;
510
511-#ifdef MIR_BUILD_PLATFORM_MESA
512- modules.push_back(std::make_shared<mir::SharedLibrary>(mtf::server_platform("graphics-mesa")));
513+#ifdef MIR_BUILD_PLATFORM_MESA_KMS
514+ modules.push_back(std::make_shared<mir::SharedLibrary>(mtf::server_platform("graphics-mesa-kms")));
515 #endif
516 #ifdef MIR_BUILD_PLATFORM_ANDROID
517 modules.push_back(std::make_shared<mir::SharedLibrary>(mtf::server_platform("graphics-android")));
518@@ -108,7 +108,7 @@
519 std::runtime_error);
520 }
521
522-#ifdef MIR_BUILD_PLATFORM_MESA
523+#ifdef MIR_BUILD_PLATFORM_MESA_KMS
524 TEST(ServerPlatformProbe, LoadsMesaPlatformWhenDrmDevicePresent)
525 {
526 using namespace testing;
527@@ -123,7 +123,7 @@
528 auto descriptor = module->load_function<mir::graphics::DescribeModule>(describe_module);
529 auto description = descriptor();
530
531- EXPECT_THAT(description->name, HasSubstr("mesa"));
532+ EXPECT_THAT(description->name, HasSubstr("mesa-kms"));
533 }
534 #endif
535
536
537=== modified file 'tools/run_abi_compliance_checker.sh'
538--- tools/run_abi_compliance_checker.sh 2015-06-03 22:10:24 +0000
539+++ tools/run_abi_compliance_checker.sh 2015-06-04 17:06:35 +0000
540@@ -9,7 +9,7 @@
541 ["mirclientplatformandroid"]="MIR_CLIENT_PLATFORM_ABI" \
542 ["mirclientplatformmesa"]="MIR_CLIENT_PLATFORM_ABI" \
543 ["mirplatformgraphicsandroid"]="MIR_SERVER_GRAPHICS_PLATFORM_ABI" \
544- ["mirplatformgraphicsmesa"]="MIR_SERVER_GRAPHICS_PLATFORM_ABI" )
545+ ["mirplatformgraphicsmesakms"]="MIR_SERVER_GRAPHICS_PLATFORM_ABI" )
546
547 print_help_and_exit()
548 {
549
550=== modified file 'tools/update_package_abis.sh'
551--- tools/update_package_abis.sh 2015-03-06 09:05:54 +0000
552+++ tools/update_package_abis.sh 2015-06-04 17:06:35 +0000
553@@ -19,7 +19,7 @@
554 mir-client-platform-android:MIR_CLIENT_PLATFORM_ABI \
555 mir-client-platform-mesa:MIR_CLIENT_PLATFORM_ABI \
556 mir-platform-graphics-android:MIR_SERVER_GRAPHICS_PLATFORM_ABI \
557- mir-platform-graphics-mesa:MIR_SERVER_GRAPHICS_PLATFORM_ABI"
558+ mir-platform-graphics-mesa-kms:MIR_SERVER_GRAPHICS_PLATFORM_ABI"
559
560 package_name()
561 {
562@@ -210,7 +210,11 @@
563 local result="$(echo "${packages}" | grep -v "\b${p}:")"
564 if [ -n "$result" ];
565 then
566- report_unknown_package "debian/control contains versioned package ${p} but it is unknown to this script"
567+ local replaces_pkgs="$(grep "Replaces:" debian/control | cut -d ":" -f 2 | cut -d " " -f 2 | grep "[[:digit:]]" | tr -d ' [0-9]')"
568+ if [ -z "$replaces_pkgs" ];
569+ then
570+ report_unknown_package "debian/control contains versioned package ${p} but it is unknown to this script"
571+ fi
572 fi
573 done
574

Subscribers

People subscribed via source and target branches