Subject: bug#59361: linux-libre 6 breaks OpenGL on nouveau driver

From: Maxim Cournoyer <[email-masked]>
Date: Sun, 27 Nov 2022 12:04:07 -0500

Hi,

Maxim Cournoyer <[email-masked]> writes:

> Hello,
>
> Maxim Cournoyer <[email-masked]> writes:
>
>> Hi,
>>
>> When booting my Guix System with linux-libre 6.0.8, nouveau silently
>> fails to render OpenGL.  It includes symptoms such as:
>>
>> 1. Getting stuck on the GDM screen, which makes use of OpenGL
>> 2. Not being able to use Qt5 or Qt6 applications, which renders via
>> OpenGL.
>> 3. the 'glxgears' program from mesa-utils displays frozen gears (not
>> turning)
>>
>> My graphic card is an old nvidia 8800 GTS with 640 MiB of video RAM.
>>
>> Workaround: Adding the '(kernel linux-libre-5.15)' to my OS definition
>> fixes it.
>
> Now reported upstream at
> https://gitlab.freedesktop.org/drm/nouveau/-/issues/192.

The commit that regressed was found via git bisect, by using the
following in my system configuration:

--8<---------------cut here---------------start------------->8---
modified   guix/hurd.scm
@@ -1,6 +1,7 @@
 (use-modules (gnu)
+             (guix git)
              (guix modules)
              (guix store)
              (srfi srfi-1)
@@ -98,6 +99,21 @@

+(define make-linux-libre* (@@ (gnu packages linux) make-linux-libre*))
+
+(define (linux-source commit)
+  (git-checkout
+   (url "file:///home/maxim/src/linux")
+   (commit commit)))
+
+(define %linux-commit "889fcbe949bdd8470931a90b91f273ca18c510c1")
+
+(define-public %linux-kernel
+  (make-linux-libre* "5.19" "0" (linux-source %linux-commit) '("x86_64-linux")
+                     #:configuration-file (@@ (gnu packages linux) kernel-config)
+                     #:extra-version "stock"
+                     #:build-doc? #f))
+
 (define %mapped-devices
   (list (mapped-device
--8<---------------cut here---------------end--------------->8---

And changing the value of %linux-commit for each git bisect.  The
original git-checkout clone took forever (multiple hours), but after the
initial clone done, each kernel build took about 20 minutes on a fast
machine.

The offending Linux commit is 889fcbe949bdd8470931a90b91f273ca18c510c1 [0]

[0]  https://gitlab.freedesktop.org/drm/nouveau/-/commit/889fcbe949bdd8470931a90b91f273ca18c510c1

-- 
Thanks,
Maxim