[Nouveau] [PATCH 2/2] nvc0: add a memory barrier when there are persistent UBOs
Signed-off-by: Ilia Mirkin imir...@alum.mit.edu --- src/gallium/drivers/nouveau/nvc0/nvc0_context.c | 22 +++- src/gallium/drivers/nouveau/nvc0/nvc0_context.h | 2 ++ src/gallium/drivers/nouveau/nvc0/nvc0_state.c | 5 + src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c | 27 - src/gallium/drivers/nouveau/nvc0/nvc0_winsys.h | 5 +++-- 5 files changed, 57 insertions(+), 4 deletions(-) diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_context.c b/src/gallium/drivers/nouveau/nvc0/nvc0_context.c index e5040c4..5928c99 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_context.c +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_context.c @@ -60,7 +60,7 @@ static void nvc0_memory_barrier(struct pipe_context *pipe, unsigned flags) { struct nvc0_context *nvc0 = nvc0_context(pipe); - int i; + int i, s; if (flags PIPE_BARRIER_MAPPED_BUFFER) { for (i = 0; i nvc0-num_vtxbufs; ++i) { @@ -73,6 +73,26 @@ nvc0_memory_barrier(struct pipe_context *pipe, unsigned flags) if (nvc0-idxbuf.buffer nvc0-idxbuf.buffer-flags PIPE_RESOURCE_FLAG_MAP_PERSISTENT) nvc0-base.vbo_dirty = TRUE; + + for (s = 0; s 5 !nvc0-cb_dirty; ++s) { + uint32_t valid = nvc0-constbuf_valid[s]; + + while (valid !nvc0-cb_dirty) { +const unsigned i = ffs(valid) - 1; +struct pipe_resource *res; + +valid = ~(1 i); +if (nvc0-constbuf[s][i].user) + continue; + +res = nvc0-constbuf[s][i].u.buf; +if (!res) + continue; + +if (res-flags PIPE_RESOURCE_FLAG_MAP_PERSISTENT) + nvc0-cb_dirty = TRUE; + } + } } } diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_context.h b/src/gallium/drivers/nouveau/nvc0/nvc0_context.h index 052f0ba..ebeb8c4 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_context.h +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_context.h @@ -154,6 +154,8 @@ struct nvc0_context { struct nvc0_constbuf constbuf[6][NVC0_MAX_PIPE_CONSTBUFS]; uint16_t constbuf_dirty[6]; + uint16_t constbuf_valid[6]; + boolean cb_dirty; struct pipe_vertex_buffer vtxbuf[PIPE_MAX_ATTRIBS]; unsigned num_vtxbufs; diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_state.c b/src/gallium/drivers/nouveau/nvc0/nvc0_state.c index ef9d479..d1a7cf5 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_state.c +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_state.c @@ -808,10 +808,15 @@ nvc0_set_constant_buffer(struct pipe_context *pipe, uint shader, uint index, if (nvc0-constbuf[s][i].user) { nvc0-constbuf[s][i].u.data = cb-user_buffer; nvc0-constbuf[s][i].size = cb-buffer_size; + nvc0-constbuf_valid[s] |= 1 i; } else if (cb) { nvc0-constbuf[s][i].offset = cb-buffer_offset; nvc0-constbuf[s][i].size = align(cb-buffer_size, 0x100); + nvc0-constbuf_valid[s] |= 1 i; + } + else { + nvc0-constbuf_valid[s] = ~(1 i); } } diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c b/src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c index 83d406d..e92ca9c 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c @@ -799,7 +799,7 @@ nvc0_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info) { struct nvc0_context *nvc0 = nvc0_context(pipe); struct nouveau_pushbuf *push = nvc0-base.pushbuf; - int i; + int i, s; /* NOTE: caller must ensure that (min_index + index_bias) is = 0 */ nvc0-vb_elt_first = info-min_index + info-index_bias; @@ -832,6 +832,31 @@ nvc0_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info) push-kick_notify = nvc0_draw_vbo_kick_notify; + for (s = 0; s 5 !nvc0-cb_dirty; ++s) { + uint32_t valid = nvc0-constbuf_valid[s]; + + while (valid !nvc0-cb_dirty) { + const unsigned i = ffs(valid) - 1; + struct pipe_resource *res; + + valid = ~(1 i); + if (nvc0-constbuf[s][i].user) +continue; + + res = nvc0-constbuf[s][i].u.buf; + if (!res) +continue; + + if (res-flags PIPE_RESOURCE_FLAG_MAP_PERSISTENT) +nvc0-cb_dirty = TRUE; + } + } + + if (nvc0-cb_dirty) { + IMMED_NVC0(push, NVC0_3D(MEM_BARRIER), 0x1011); + nvc0-cb_dirty = FALSE; + } + if (nvc0-state.vbo_mode) { nvc0_push_vbo(nvc0, info); push-kick_notify = nvc0_default_kick_notify; diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_winsys.h b/src/gallium/drivers/nouveau/nvc0/nvc0_winsys.h index 3514d9d..a83b31d 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_winsys.h +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_winsys.h @@ -80,8 +80,9 @@ NVC0_FIFO_PKHDR_NI(int subc, int mthd, unsigned size) } static INLINE uint32_t -NVC0_FIFO_PKHDR_IL(int subc, int mthd, uint8_t data) +NVC0_FIFO_PKHDR_IL(int subc, int mthd, uint16_t data) { +
[Nouveau] [PATCH 1/2] nv50: do an explicit flush on draw when there are persistent buffers
Signed-off-by: Ilia Mirkin imir...@alum.mit.edu --- src/gallium/drivers/nouveau/nv50/nv50_context.c | 22 ++- src/gallium/drivers/nouveau/nv50/nv50_context.h | 1 + src/gallium/drivers/nouveau/nv50/nv50_vbo.c | 29 - 3 files changed, 50 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/nouveau/nv50/nv50_context.c b/src/gallium/drivers/nouveau/nv50/nv50_context.c index 3f3a888..c2eb0c0 100644 --- a/src/gallium/drivers/nouveau/nv50/nv50_context.c +++ b/src/gallium/drivers/nouveau/nv50/nv50_context.c @@ -61,7 +61,7 @@ static void nv50_memory_barrier(struct pipe_context *pipe, unsigned flags) { struct nv50_context *nv50 = nv50_context(pipe); - int i; + int i, s; if (flags PIPE_BARRIER_MAPPED_BUFFER) { for (i = 0; i nv50-num_vtxbufs; ++i) { @@ -74,6 +74,26 @@ nv50_memory_barrier(struct pipe_context *pipe, unsigned flags) if (nv50-idxbuf.buffer nv50-idxbuf.buffer-flags PIPE_RESOURCE_FLAG_MAP_PERSISTENT) nv50-base.vbo_dirty = TRUE; + + for (s = 0; s 3 !nv50-cb_dirty; ++s) { + uint32_t valid = nv50-constbuf_valid[s]; + + while (valid !nv50-cb_dirty) { +const unsigned i = ffs(valid) - 1; +struct pipe_resource *res; + +valid = ~(1 i); +if (nv50-constbuf[s][i].user) + continue; + +res = nv50-constbuf[s][i].u.buf; +if (!res) + continue; + +if (res-flags PIPE_RESOURCE_FLAG_MAP_PERSISTENT) + nv50-cb_dirty = TRUE; + } + } } } diff --git a/src/gallium/drivers/nouveau/nv50/nv50_context.h b/src/gallium/drivers/nouveau/nv50/nv50_context.h index 3b7cb18..9c2af40 100644 --- a/src/gallium/drivers/nouveau/nv50/nv50_context.h +++ b/src/gallium/drivers/nouveau/nv50/nv50_context.h @@ -106,6 +106,7 @@ struct nv50_context { struct nouveau_bufctx *bufctx; uint32_t dirty; + boolean cb_dirty; struct { uint32_t instance_elts; /* bitmask of per-instance elements */ diff --git a/src/gallium/drivers/nouveau/nv50/nv50_vbo.c b/src/gallium/drivers/nouveau/nv50/nv50_vbo.c index 7c2b7ff..5a4a457 100644 --- a/src/gallium/drivers/nouveau/nv50/nv50_vbo.c +++ b/src/gallium/drivers/nouveau/nv50/nv50_vbo.c @@ -747,7 +747,7 @@ nv50_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info) { struct nv50_context *nv50 = nv50_context(pipe); struct nouveau_pushbuf *push = nv50-base.pushbuf; - int i; + int i, s; /* NOTE: caller must ensure that (min_index + index_bias) is = 0 */ nv50-vb_elt_first = info-min_index + info-index_bias; @@ -776,6 +776,33 @@ nv50_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info) push-kick_notify = nv50_draw_vbo_kick_notify; + for (s = 0; s 3 !nv50-cb_dirty; ++s) { + uint32_t valid = nv50-constbuf_valid[s]; + + while (valid !nv50-cb_dirty) { + const unsigned i = ffs(valid) - 1; + struct pipe_resource *res; + + valid = ~(1 i); + if (nv50-constbuf[s][i].user) +continue; + + res = nv50-constbuf[s][i].u.buf; + if (!res) +continue; + + if (res-flags PIPE_RESOURCE_FLAG_MAP_COHERENT) +nv50-cb_dirty = TRUE; + } + } + + /* If there are any coherent constbufs, flush the cache */ + if (nv50-cb_dirty) { + BEGIN_NV04(push, NV50_3D(CODE_CB_FLUSH), 1); + PUSH_DATA (push, 0); + nv50-cb_dirty = FALSE; + } + if (nv50-vbo_fifo) { nv50_push_vbo(nv50, info); push-kick_notify = nv50_default_kick_notify; -- 1.8.5.5 ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
[Nouveau] [Bug 76483] [NV50, bisected, RFC patch] xset dpms force {on, off} does not work over DP
https://bugs.freedesktop.org/show_bug.cgi?id=76483 --- Comment #25 from Karl Schendel schen...@kbcomputer.com --- That fixed the garbled display. The monitor off/on thing is weird. When I was trying to get 3.14 to work (before discovering this bug report), I tried the nvidia binary driver and got the same flash off/on thing. However, dpms-off was working in 3.6.3, which I unfortunately don't have lying around any more. It seems strange that the monitor would break in this manner, so I guess the 3.6.x driver was doing something to work around the monitor's response. (Also, the monitor-off screensaver works when I am in OS/X.) I can get a log to verify if you like, later today. If there's anything I can get from 3.6 to see if it's doing something different, let me know; I'm sure I can find and build a 3.6 sometime in the next day or two if necessary. At least it's going in the right direction - thanks! -- You are receiving this mail because: You are the assignee for the bug. ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
[Nouveau] nouveau xorg driver - compile error
Hello, nouveau xorg driver from master git repository cannot be compiled on ubuntu precise. Here is build log: https://launchpadlibrarian.net/179062836/buildlog_ubuntu-precise-amd64.xserver-xorg-video-nouveau_1:1.0.10-git201407010817~ubuntu12.04.1_FAILEDTOBUILD.txt.gz Problem is somewhere in drmmode_display.c. Can somebody look at it and fix compile error problems? -- Pali Rohár pali.ro...@gmail.com signature.asc Description: This is a digitally signed message part. ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
[Nouveau] [Bug 80769] [NVD9] GF119M boot hang with 3.15.2
https://bugs.freedesktop.org/show_bug.cgi?id=80769 --- Comment #1 from sven sven.pilz+freedesk...@gmail.com --- Created attachment 102096 -- https://bugs.freedesktop.org/attachment.cgi?id=102096action=edit xorg log -- You are receiving this mail because: You are the assignee for the bug. ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
[Nouveau] [Bug 80769] New: [NVD9] GF119M boot hang with 3.15.2
https://bugs.freedesktop.org/show_bug.cgi?id=80769 Priority: medium Bug ID: 80769 Assignee: nouveau@lists.freedesktop.org Summary: [NVD9] GF119M boot hang with 3.15.2 QA Contact: xorg-t...@lists.x.org Severity: normal Classification: Unclassified OS: Linux (All) Reporter: sven.pilz+freedesk...@gmail.com Hardware: x86-64 (AMD64) Status: NEW Version: unspecified Component: Driver/nouveau Product: xorg Created attachment 102095 -- https://bugs.freedesktop.org/attachment.cgi?id=102095action=edit dmesg Hello everybody. I'm using a ThinkPad T420 with Optimus. Since 3.15 the boot hangs during KMS, when I use the discrete card (GF119M [Quadro NVS 4200M]). With the Intel card or Optimus, the system boots. Though I see those message from the kernel, also after standby: nouveau E[PBUS][:01:00.0] MMIO read of 0x FAULT at 0x002140 [ !ENGINE ] When I try to use the Nvidia card via PRIME with, the xserver crashes. I tested the PRIME way with: xrandr --setprovideroffloadsink nouveau Intel DRI_PRIME=1 glxgears -- You are receiving this mail because: You are the assignee for the bug. ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
[Nouveau] [Bug 80769] [NVD9] GF119M boot hang with 3.15.2
https://bugs.freedesktop.org/show_bug.cgi?id=80769 --- Comment #2 from Ilia Mirkin imir...@alum.mit.edu --- The xorg backtrace has intel_drv.so in it. What makes you say this is a nouveau bug? -- You are receiving this mail because: You are the assignee for the bug. ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
Re: [Nouveau] nouveau xorg driver - compile error
Hi Pali, maybe you are missing a package somewhere? Latest git is building fine for me on OBS/opensuse. Greetings, Tobias On 01.07.2014 21:47, Pali Rohár wrote: Hello, nouveau xorg driver from master git repository cannot be compiled on ubuntu precise. Here is build log: https://launchpadlibrarian.net/179062836/buildlog_ubuntu-precise-amd64.xserver-xorg-video-nouveau_1:1.0.10-git201407010817~ubuntu12.04.1_FAILEDTOBUILD.txt.gz Problem is somewhere in drmmode_display.c. Can somebody look at it and fix compile error problems? ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
[Nouveau] [Bug 80769] [NVD9] GF119M boot hang with 3.15.2
https://bugs.freedesktop.org/show_bug.cgi?id=80769 --- Comment #3 from sven sven.pilz+freedesk...@gmail.com --- (In reply to comment #2) The xorg backtrace has intel_drv.so in it. What makes you say this is a nouveau bug? I don't know if nouveau crashes the xserver. Should have stated that more clearly, sorry. This may be more a symptom that started to appear with the boot hangs and the error messages from the kernel driver. -- You are receiving this mail because: You are the assignee for the bug. ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
[Nouveau] [Bug 80769] [NVD9] GF119M boot hang with 3.15.2
https://bugs.freedesktop.org/show_bug.cgi?id=80769 --- Comment #4 from Ilia Mirkin imir...@alum.mit.edu --- (In reply to comment #3) (In reply to comment #2) The xorg backtrace has intel_drv.so in it. What makes you say this is a nouveau bug? I don't know if nouveau crashes the xserver. Should have stated that more clearly, sorry. This may be more a symptom that started to appear with the boot hangs and the error messages from the kernel driver. Ah. So the dmesg is from a perfectly-fine boot, yes? (Other than the error messages, which are probably not a big deal.) Can you bisect the boot hang? (Or at least get a dmesg from it, e.g. with netconsole) -- You are receiving this mail because: You are the assignee for the bug. ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
Re: [Nouveau] nouveau xorg driver - compile error
On 2014-07-01 21:47 +0200, Pali Rohár wrote: Hello, nouveau xorg driver from master git repository cannot be compiled on ubuntu precise. Here is build log: https://launchpadlibrarian.net/179062836/buildlog_ubuntu-precise-amd64.xserver-xorg-video-nouveau_1:1.0.10-git201407010817~ubuntu12.04.1_FAILEDTOBUILD.txt.gz Problem is somewhere in drmmode_display.c. Can somebody look at it and fix compile error problems? Don't know how best to fix it, but the problem is that xorg_list only exists in X server 1.12 and later, Ubuntu precise has 1.11. Cheers, Sven ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
[Nouveau] [Bug 76483] [NV50, bisected, RFC patch] xset dpms force {on, off} does not work over DP
https://bugs.freedesktop.org/show_bug.cgi?id=76483 --- Comment #26 from Ben Skeggs skeg...@gmail.com --- (In reply to comment #25) That fixed the garbled display. The monitor off/on thing is weird. When I was trying to get 3.14 to work (before discovering this bug report), I tried the nvidia binary driver and got the same flash off/on thing. However, dpms-off was working in 3.6.3, which I unfortunately don't have lying around any more. It seems strange that the monitor would break in this manner, so I guess the 3.6.x driver was doing something to work around the monitor's response. (Also, the monitor-off screensaver works when I am in OS/X.) If it's the same situation as Nouveau, then the binary driver probably ignored the HPD_IRQ pulse from the monitor. We need to care about it now (well, we were *supposed* to already, but anyway) for MST support particularly. I'm pretty sure I can work around the issue in the driver if we need to, so that's ok. I can get a log to verify if you like, later today. If there's anything I can get from 3.6 to see if it's doing something different, let me know; I'm sure I can find and build a 3.6 sometime in the next day or two if necessary. That'd be great, thanks. At least it's going in the right direction - thanks! -- You are receiving this mail because: You are the assignee for the bug. ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
Re: [Nouveau] nouveau xorg driver - compile error
Hi Pali, If the future can you include the error message (plus a couple of lines of context) in the email ? Thanks. Seems like the list* symbols got prefixed with xorg_ during the 1.12 development cycle (commit ca64912c02b), and your build uses 1.11.x. I'm using xorg-server 1.15 so cannot really test this but the attached patch should help. Can you give it a try ? Cheers, Emil On 01/07/14 20:47, Pali Rohár wrote: Hello, nouveau xorg driver from master git repository cannot be compiled on ubuntu precise. Here is build log: https://launchpadlibrarian.net/179062836/buildlog_ubuntu-precise-amd64.xserver-xorg-video-nouveau_1:1.0.10-git201407010817~ubuntu12.04.1_FAILEDTOBUILD.txt.gz Problem is somewhere in drmmode_display.c. Can somebody look at it and fix compile error problems? ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau From d437ca90803ddf70190cdbaf617e815f6441f134 Mon Sep 17 00:00:00 2001 From: Emil Velikov emil.l.veli...@gmail.com Date: Tue, 1 Jul 2014 22:31:47 +0100 Subject: [PATCH] xorg_list: define the xorg_list* symbols MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ...when building against pre 1.12 x. The build will fail as earlier versions of X were missing the xorg_ prefix of the symbols - struct and util functions. Reported-by: Pali Rohár pali.ro...@gmail.com Signed-off-by: Emil Velikov emil.l.veli...@gmail.com --- configure.ac | 13 + src/drmmode_display.c | 8 src/nv_driver.c | 5 + 3 files changed, 26 insertions(+) diff --git a/configure.ac b/configure.ac index 92e047a..2177c24 100644 --- a/configure.ac +++ b/configure.ac @@ -127,6 +127,19 @@ AC_SUBST([DRIVER_NAME]) XORG_MANPAGE_SECTIONS XORG_RELEASE_VERSION +AC_CHECK_HEADERS([list.h], + [have_list_h=yes], [have_list_h=no], + [#include X11/Xdefs.h + #include xorg-server.h]) + +if test x$have_list_h = xyes; then +AC_CHECK_DECL(xorg_list_init, + [AC_DEFINE(HAVE_XORG_LIST, 1, [Have xorg_list API])], [], + [#include X11/Xdefs.h + #include xorg-server.h + #include list.h]) +fi + AC_MSG_CHECKING([whether to include GLAMOR support]) AC_COMPILE_IFELSE(AC_LANG_PROGRAM( diff --git a/src/drmmode_display.c b/src/drmmode_display.c index 58b5e07..45225ad 100644 --- a/src/drmmode_display.c +++ b/src/drmmode_display.c @@ -126,6 +126,14 @@ drmmode_swap(ScrnInfoPtr scrn, uint32_t next, uint32_t *prev) drmmode-fb_id = next; } +#if !HAVE_XORG_LIST +#define xorg_list list +#define xorg_list_for_each_entrylist_for_each_entry +#define xorg_list_for_each_entry_safe list_for_each_entry_safe +#define xorg_list_appendlist_append +#define xorg_list_del list_del +#endif + struct drmmode_event { struct xorg_list head; drmmode_ptr drmmode; diff --git a/src/nv_driver.c b/src/nv_driver.c index 44a0963..2fa3802 100644 --- a/src/nv_driver.c +++ b/src/nv_driver.c @@ -37,6 +37,11 @@ #include nouveau_present.h #include nouveau_sync.h +#if !HAVE_XORG_LIST +#define xorg_list_is_empty list_is_empty +#define xorg_list_for_each_entrylist_for_each_entry +#endif + /* * Forward definitions for the functions that make up the driver. */ -- 2.0.0 ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
[Nouveau] [Bug 80769] [NVD9] GF119M boot hang with 3.15.2
https://bugs.freedesktop.org/show_bug.cgi?id=80769 --- Comment #5 from sven sven.pilz+freedesk...@gmail.com --- (In reply to comment #4) (In reply to comment #3) (In reply to comment #2) The xorg backtrace has intel_drv.so in it. What makes you say this is a nouveau bug? I don't know if nouveau crashes the xserver. Should have stated that more clearly, sorry. This may be more a symptom that started to appear with the boot hangs and the error messages from the kernel driver. Ah. So the dmesg is from a perfectly-fine boot, yes? (Other than the error messages, which are probably not a big deal.) Yes. Can you bisect the boot hang? (Or at least get a dmesg from it, e.g. with netconsole) I now tried a couple of boots in a row and one of them actually succeeded (with glxgears and own OpenGL applications). But the other times it got stuck during boot, though not always before the switch to native resolution. One hanged with some systemd error (rfkill stuff). I will try to get more information. But it looks like there may be a couple of problems or everything is just a symptom of some deeper one. Which still is strange is that the symptoms disappear when I switch to the Intel card or Optimus in the BIOS. Maybe some ACPI problems and nothing directly related to nouveau. Sorry for bothering you with that :-). I guess you should close the bug and if I find something related to nouveau I'll open a new one. -- You are receiving this mail because: You are the assignee for the bug. ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
Re: [Nouveau] nouveau xorg driver - compile error
Hello, On Tuesday 01 July 2014 23:39:45 Emil Velikov wrote: Hi Pali, If the future can you include the error message (plus a couple of lines of context) in the email ? Thanks. Ok. Seems like the list* symbols got prefixed with xorg_ during the 1.12 development cycle (commit ca64912c02b), and your build uses 1.11.x. Compilation failed with version 1.11.4. I'm using xorg-server 1.15 so cannot really test this but the attached patch should help. Can you give it a try ? I tried your patch and now nouveau driver with it compiled successfully. So thanks! Cheers, Emil On 01/07/14 20:47, Pali Rohár wrote: Hello, nouveau xorg driver from master git repository cannot be compiled on ubuntu precise. Here is build log: https://launchpadlibrarian.net/179062836/buildlog_ubuntu-pre cise-amd64.xserver-xorg-video-nouveau_1:1.0.10-git2014070108 17~ubuntu12.04.1_FAILEDTOBUILD.txt.gz Problem is somewhere in drmmode_display.c. Can somebody look at it and fix compile error problems? ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau -- Pali Rohár pali.ro...@gmail.com signature.asc Description: This is a digitally signed message part. ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau