debian/changelog | 3 + debian/patches/105_nvidia_autodetect.patch | 42 +++++++++++++++++ debian/patches/105_nvidia_fglrx_autodetect.patch | 56 ----------------------- debian/patches/series | 2 debian/patches/xmir-fixes.diff | 44 +++++++++++++++--- 5 files changed, 84 insertions(+), 63 deletions(-)
New commits: commit 1fee81e737874f623fcf9aff411c34efd871b1cb Author: Timo Aaltonen <[email protected]> Date: Sat Mar 12 12:01:39 2016 +0200 105_nvidia_autodetect.patch: Modified and renamed since it doesn't need to handle fglrx anymore. diff --git a/debian/changelog b/debian/changelog index d71c1d7..9990efc 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,6 +6,8 @@ xorg-server (2:1.18.2-1ubuntu1) UNRELEASED; urgency=medium glamor-source-pictures-are-always-depth-32.diff: Deleted, upstream. * xmir-fixes.diff: Updated for glamor changes. + * 105_nvidia_autodetect.patch: Modified and renamed since it doesn't + need to handle fglrx anymore. -- Timo Aaltonen <[email protected]> Sat, 12 Mar 2016 08:59:43 +0200 diff --git a/debian/patches/105_nvidia_autodetect.patch b/debian/patches/105_nvidia_autodetect.patch new file mode 100644 index 0000000..f500ba6 --- /dev/null +++ b/debian/patches/105_nvidia_autodetect.patch @@ -0,0 +1,42 @@ +Description: Load proprietary drivers automatically when installed. +Author: Robert Hooker <[email protected]> + +--- a/hw/xfree86/common/xf86AutoConfig.c ++++ b/hw/xfree86/common/xf86AutoConfig.c +@@ -76,6 +76,13 @@ + "\tDevice\t" BUILTIN_DEVICE_NAME "\n" \ + "EndSection\n\n" + ++#define BUILTIN_SCREEN_SECTION_PROPRIETARY \ ++ "Section \"Screen\"\n" \ ++ "\tIdentifier\t" BUILTIN_SCREEN_NAME "\n" \ ++ "\tDevice\t" BUILTIN_DEVICE_NAME "\n" \ ++ "\tDefaultDepth\t24\n" \ ++ "EndSection\n\n" ++ + #define BUILTIN_LAYOUT_SECTION_PRE \ + "Section \"ServerLayout\"\n" \ + "\tIdentifier\t\"Builtin Default Layout\"\n" +@@ -154,7 +161,11 @@ xf86AutoConfig(void) + for (p = deviceList; *p; p++) { + snprintf(buf, sizeof(buf), BUILTIN_DEVICE_SECTION, *p, 0, *p); + AppendToConfig(buf); +- snprintf(buf, sizeof(buf), BUILTIN_SCREEN_SECTION, *p, 0, *p, 0); ++ if (strcmp(*p, "nvidia") == 0) ++ snprintf(buf, sizeof(buf), BUILTIN_SCREEN_SECTION_PROPRIETARY, *p, ++ 0, *p, 0); ++ else ++ snprintf(buf, sizeof(buf), BUILTIN_SCREEN_SECTION, *p, 0, *p, 0); + AppendToConfig(buf); + } + +--- a/hw/xfree86/common/xf86pciBus.c ++++ b/hw/xfree86/common/xf86pciBus.c +@@ -1189,6 +1189,7 @@ xf86VideoPtrToDriverList(struct pci_devi + { + int idx = 0; + ++ driverList[idx++] = "nvidia"; + #ifdef __linux__ + driverList[idx++] = "nouveau"; + #endif diff --git a/debian/patches/105_nvidia_fglrx_autodetect.patch b/debian/patches/105_nvidia_fglrx_autodetect.patch deleted file mode 100644 index a205e71..0000000 --- a/debian/patches/105_nvidia_fglrx_autodetect.patch +++ /dev/null @@ -1,56 +0,0 @@ -Description: Load proprietary drivers automatically when installed. -Author: Robert Hooker <[email protected]> - -Index: xorg-server-1.17.2/hw/xfree86/common/xf86AutoConfig.c -=================================================================== ---- xorg-server-1.17.2.orig/hw/xfree86/common/xf86AutoConfig.c -+++ xorg-server-1.17.2/hw/xfree86/common/xf86AutoConfig.c -@@ -76,6 +76,13 @@ - "\tDevice\t" BUILTIN_DEVICE_NAME "\n" \ - "EndSection\n\n" - -+#define BUILTIN_SCREEN_SECTION_PROPRIETARY \ -+ "Section \"Screen\"\n" \ -+ "\tIdentifier\t" BUILTIN_SCREEN_NAME "\n" \ -+ "\tDevice\t" BUILTIN_DEVICE_NAME "\n" \ -+ "\tDefaultDepth\t24\n" \ -+ "EndSection\n\n" -+ - #define BUILTIN_LAYOUT_SECTION_PRE \ - "Section \"ServerLayout\"\n" \ - "\tIdentifier\t\"Builtin Default Layout\"\n" -@@ -154,7 +161,11 @@ xf86AutoConfig(void) - for (p = deviceList; *p; p++) { - snprintf(buf, sizeof(buf), BUILTIN_DEVICE_SECTION, *p, 0, *p); - AppendToConfig(buf); -- snprintf(buf, sizeof(buf), BUILTIN_SCREEN_SECTION, *p, 0, *p, 0); -+ if (strcmp(*p, "fglrx") == 0 || strcmp(*p, "nvidia") == 0) -+ snprintf(buf, sizeof(buf), BUILTIN_SCREEN_SECTION_PROPRIETARY, *p, -+ 0, *p, 0); -+ else -+ snprintf(buf, sizeof(buf), BUILTIN_SCREEN_SECTION, *p, 0, *p, 0); - AppendToConfig(buf); - } - -Index: xorg-server-1.17.2/hw/xfree86/common/xf86pciBus.c -=================================================================== ---- xorg-server-1.17.2.orig/hw/xfree86/common/xf86pciBus.c -+++ xorg-server-1.17.2/hw/xfree86/common/xf86pciBus.c -@@ -1105,7 +1105,8 @@ xf86VideoPtrToDriverList(struct pci_devi - driverList[0] = "ast"; - break; - case 0x1002: -- driverList[0] = "ati"; -+ driverList[0] = "fglrx"; -+ driverList[1] = "ati"; - break; - case 0x102c: - driverList[0] = "chips"; -@@ -1189,6 +1190,7 @@ xf86VideoPtrToDriverList(struct pci_devi - { - int idx = 0; - -+ driverList[idx++] = "nvidia"; - #ifdef __linux__ - driverList[idx++] = "nouveau"; - #endif diff --git a/debian/patches/series b/debian/patches/series index d3b62d0..285ca97 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -8,7 +8,7 @@ ## Ubuntu patches, not upstreamable -105_nvidia_fglrx_autodetect.patch +105_nvidia_autodetect.patch 168_glibc_trace_to_stderr.patch 188_default_primary_to_first_busid.patch 190_cache-xkbcomp_output_for_fast_start_up.patch commit fe46ab8b79478c584c15dab5ae9e20cdca0cf194 Author: Timo Aaltonen <[email protected]> Date: Sat Mar 12 11:36:57 2016 +0200 xmir-fixes.diff: Updated for glamor changes. diff --git a/debian/changelog b/debian/changelog index c0c4b03..d71c1d7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -5,6 +5,7 @@ xorg-server (2:1.18.2-1ubuntu1) UNRELEASED; urgency=medium glamor-factor-out-glamor-set-color.diff, glamor-source-pictures-are-always-depth-32.diff: Deleted, upstream. + * xmir-fixes.diff: Updated for glamor changes. -- Timo Aaltonen <[email protected]> Sat, 12 Mar 2016 08:59:43 +0200 diff --git a/debian/patches/xmir-fixes.diff b/debian/patches/xmir-fixes.diff index 6b547e6..1f95270 100644 --- a/debian/patches/xmir-fixes.diff +++ b/debian/patches/xmir-fixes.diff @@ -17,7 +17,7 @@ Description: port xmir to 1.18 } else { --- a/hw/xmir/xmir.c +++ b/hw/xmir/xmir.c -@@ -1256,7 +1256,7 @@ xmir_create_screen_resources(ScreenPtr s +@@ -1246,7 +1246,7 @@ xmir_create_screen_resources(ScreenPtr s if (xmir_screen->glamor && !xmir_screen->rootless) { glamor_pixmap_private *pixmap_priv = glamor_get_pixmap_private(screen->devPrivate); @@ -46,7 +46,39 @@ Description: port xmir to 1.18 if (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP) { glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_BORDER); -@@ -368,7 +368,7 @@ xmir_glamor_copy_egl_common(DrawablePtr +@@ -272,13 +272,8 @@ xmir_glamor_copy_egl_tex(int fbo, Drawab + _tx1 = v_from_x_coord_x(dst_xscale, dbox.x1); + _tx2 = v_from_x_coord_x(dst_xscale, dbox.x2); + +- if (xmir_screen->gbm) { +- _ty1 = v_from_x_coord_y_inverted(dst_yscale, dbox.y1); +- _ty2 = v_from_x_coord_y_inverted(dst_yscale, dbox.y2); +- } else { +- _ty1 = v_from_x_coord_y(dst_yscale, dbox.y1); +- _ty2 = v_from_x_coord_y(dst_yscale, dbox.y2); +- } ++ _ty1 = v_from_x_coord_y(dst_yscale, dbox.y1); ++ _ty2 = v_from_x_coord_y(dst_yscale, dbox.y2); + + /* upper left */ + vertices[0] = _tx1; +@@ -317,13 +312,8 @@ xmir_glamor_copy_egl_tex(int fbo, Drawab + _tx1 = v_from_x_coord_x(dst_xscale, dbox.x1); + _tx2 = v_from_x_coord_x(dst_xscale, dbox.x2); + +- if (xmir_screen->gbm) { +- _ty1 = v_from_x_coord_y_inverted(dst_yscale, dbox.y1); +- _ty2 = v_from_x_coord_y_inverted(dst_yscale, dbox.y2); +- } else { +- _ty1 = v_from_x_coord_y(dst_yscale, dbox.y1); +- _ty2 = v_from_x_coord_y(dst_yscale, dbox.y2); +- } ++ _ty1 = v_from_x_coord_y(dst_yscale, dbox.y1); ++ _ty2 = v_from_x_coord_y(dst_yscale, dbox.y2); + + /* upper right */ + vertices[0] = _tx2; +@@ -368,7 +358,7 @@ xmir_glamor_copy_egl_common(DrawablePtr DebugF("Box: (%i,%i)->(%i,%i)\n", ext->x1, ext->y1, ext->x2, ext->y2); if (epoxy_has_gl_extension("GL_EXT_framebuffer_blit") && !xmir_screen->doubled && !orientation) { @@ -55,7 +87,7 @@ Description: port xmir to 1.18 glBlitFramebuffer(ext->x1, ext->y2, ext->x2, ext->y1, ext->x1 + dx, ext->y2 + dy, ext->x2 + dx, ext->y1 + dy, -@@ -404,7 +404,7 @@ xmir_glamor_copy_gbm(struct xmir_screen +@@ -404,7 +394,7 @@ xmir_glamor_copy_gbm(struct xmir_screen PixmapPtr from = screen->GetWindowPixmap(window); glamor_pixmap_private *pixmap_priv = glamor_get_pixmap_private(back); @@ -64,7 +96,7 @@ Description: port xmir to 1.18 xmir_glamor_copy_egl_common(&window->drawable, from, glamor_get_pixmap_private(from), RegionExtents(dirty), back->drawable.width, back->drawable.height, 0, 0, xmir_win->orientation); -@@ -607,9 +607,9 @@ xmir_glamor_copy_egl_queue(struct xmir_s +@@ -607,9 +597,9 @@ xmir_glamor_copy_egl_queue(struct xmir_s * rotating back and forth. */ glamor_set_pixmap_type(src_pixmap, GLAMOR_TEXTURE_DRM); @@ -76,7 +108,7 @@ Description: port xmir to 1.18 if (!xmir_win->image) { GLint error; ErrorF("eglCreateImageKHR failed with %x\n", eglGetError()); -@@ -1016,7 +1016,7 @@ glamor_egl_dri3_fd_name_from_tex(ScreenP +@@ -1016,7 +1006,7 @@ glamor_egl_dri3_fd_name_from_tex(ScreenP } unsigned int @@ -85,7 +117,7 @@ Description: port xmir to 1.18 { return 0; } -@@ -1144,10 +1144,7 @@ xmir_glamor_init(struct xmir_screen *xmi +@@ -1144,10 +1134,7 @@ xmir_glamor_init(struct xmir_screen *xmi } if (!glamor_init(screen,

