[Nouveau] Atomic modesetting + DisplayPort MST

poma pomidorabelisima at gmail.com
Sat Nov 5 12:50:52 UTC 2016


On 04.11.2016 10:41, Ben Skeggs wrote:
> Hey all,
> 
> I've just pushed out the initial Nouveau support for $subject \o/
> 
> As the atomic modesetting transition is basically a rewrite of the KMS
> portion of the driver, I would be very grateful for any additional
> testing that people could provide (even as simple as just booting and
> making sure you get a display is valuable).
[...]
> There's another branch (devel-kms) in the same repository, which is the
> same code on top of what's currently Linux 4.9.  If you have problems
> with the 4.10 code, I'd definitely be interested in seeing if they exist
> on the 4.9 branch too.
> 

Hey Joe,

$ grep nouveau /etc/dracut.conf.d/custom.conf 
omit_drivers+=" nouveau "
# lsinitrd --kver 4.9.0-0.rc3.git2.1.fc26.x86_64 | grep nouveau ; echo $?
1

$ git clone https://github.com/skeggsb/nouveau.git -b devel-kms
$ cd nouveau/drm/
$ git log -1 | head -1
commit 5a4d1791e82dd1eaa1e4ad5a220e82cbcc2f6535
$ sed -i /0xac/s/^/\\/\\// nouveau/nvkm/engine/disp/nv50.c    # "No Signal" ION VGA
$ make
$ su
# cp nouveau/nouveau.ko /usr/lib/modules/4.9.0-0.rc3.git2.1.fc26.x86_64/updates/
# depmod
# reboot

$ modinfo -n nouveau
/lib/modules/4.9.0-0.rc3.git2.1.fc26.x86_64/updates/nouveau.ko

= G98
$ dmesg | grep nouveau
[   22.111216] nouveau: loading out-of-tree module taints kernel.
[   22.115029] nouveau: module verification failed: signature and/or required key missing - tainting kernel
[   22.167576] nouveau 0000:02:00.0: NVIDIA G98 ...
[   22.283146] nouveau 0000:02:00.0: bios: version ...
[   22.314705] nouveau 0000:02:00.0: bios: M0203T not found
[   22.314835] nouveau 0000:02:00.0: bios: M0203E not matched!
[   22.314961] nouveau 0000:02:00.0: fb: 512 MiB DDR2
[   24.767092] nouveau 0000:02:00.0: DRM: VRAM: 512 MiB
[   24.767267] nouveau 0000:02:00.0: DRM: GART: 1048576 MiB
[   24.767423] nouveau 0000:02:00.0: DRM: TMDS table version 2.0
[   24.767570] nouveau 0000:02:00.0: DRM: DCB version 4.0
[   24.767719] nouveau 0000:02:00.0: DRM: DCB outp 00: 02000300 00000028
[   24.767869] nouveau 0000:02:00.0: DRM: DCB outp 01: 01000302 00020030
[   24.768019] nouveau 0000:02:00.0: DRM: DCB outp 02: 04011310 00000028
[   24.768167] nouveau 0000:02:00.0: DRM: DCB outp 03: 010223f1 00c0c080
[   24.768339] nouveau 0000:02:00.0: DRM: DCB conn 00: 00001030
[   24.768487] nouveau 0000:02:00.0: DRM: DCB conn 01: 00000100
[   24.768638] nouveau 0000:02:00.0: DRM: DCB conn 02: 00000210
[   24.768784] nouveau 0000:02:00.0: DRM: DCB conn 03: 00000211
[   24.768932] nouveau 0000:02:00.0: DRM: DCB conn 04: 00000213
[   24.776629] nouveau 0000:02:00.0: DRM: failed to create encoder 0/1/0: -19
[   24.776760] nouveau 0000:02:00.0: DRM: TV-1 has no encoders, removing
[   24.791752] nouveau 0000:02:00.0: DRM: MM: using M2MF for buffer copies
[   24.858594] nouveau 0000:02:00.0: DRM: allocated 1920x1080 fb: 0x50000, bo ffff9013e3162000
[   24.859949] fbcon: nouveaufb (fb0) is primary device
[   24.908898] nouveau 0000:02:00.0: fb0: nouveaufb frame buffer device
[   24.921432] [drm] Initialized nouveau 1.3.1 20120801 for 0000:02:00.0 on minor 0
[   61.198374] nouveau 0000:02:00.0: Direct firmware load for nouveau/nv98_fuc084 failed with error -2
[   61.198563] nouveau 0000:02:00.0: Direct firmware load for nouveau/nv98_fuc084d failed with error -2
[   61.198580] nouveau 0000:02:00.0: msvld: unable to load firmware data
[   61.198588] nouveau 0000:02:00.0: msvld: init failed, -19
[   76.197433] nouveau 0000:02:00.0: Direct firmware load for nouveau/nv98_fuc084 failed with error -2
[   76.197468] nouveau 0000:02:00.0: Direct firmware load for nouveau/nv98_fuc084d failed with error -2
[   76.197473] nouveau 0000:02:00.0: msvld: unable to load firmware data
[   76.197475] nouveau 0000:02:00.0: msvld: init failed, -19
               S3 / S4 / RESUME
[  194.532401] nouveau 0000:02:00.0: DRM: suspending console...
[  194.532638] nouveau 0000:02:00.0: DRM: suspending display...
[  194.559166] nouveau 0000:02:00.0: DRM: evicting buffers...
[  195.716205] nouveau 0000:02:00.0: DRM: waiting for kernel channels to go idle...
[  195.716328] nouveau 0000:02:00.0: DRM: suspending client object trees...
[  195.717089] nouveau 0000:02:00.0: DRM: suspending kernel object tree...
[  197.464225] nouveau 0000:02:00.0: DRM: resuming kernel object tree...
[  197.579099] nouveau 0000:02:00.0: DRM: resuming client object trees...
[  197.579429] nouveau 0000:02:00.0: DRM: resuming display...
[  197.605069] nouveau 0000:02:00.0: DRM: resuming console...


= ION VGA
$ dmesg | grep nouveau
[   39.239672] nouveau: loading out-of-tree module taints kernel.
[   39.249832] nouveau: module verification failed: signature and/or required key missing - tainting kernel
[   39.392859] nouveau 0000:01:00.0: NVIDIA MCP79/MCP7A ...
[   39.417499] nouveau 0000:01:00.0: bios: version ...
[   39.448535] nouveau 0000:01:00.0: fb: 256 MiB stolen system memory
[   39.509648] nouveau 0000:01:00.0: DRM: VRAM: 256 MiB
[   39.514208] nouveau 0000:01:00.0: DRM: GART: 1048576 MiB
[   39.518884] nouveau 0000:01:00.0: DRM: TMDS table version 2.0
[   39.518891] nouveau 0000:01:00.0: DRM: DCB version 4.0
[   39.518899] nouveau 0000:01:00.0: DRM: DCB outp 00: 02000300 0000001e
[   39.518906] nouveau 0000:01:00.0: DRM: DCB outp 01: 01011322 00000030
[   39.518912] nouveau 0000:01:00.0: DRM: DCB outp 02: 02022332 00020010
[   39.518922] nouveau 0000:01:00.0: DRM: DCB conn 00: 00000000
[   39.518935] nouveau 0000:01:00.0: DRM: DCB conn 01: 00001131
[   39.518941] nouveau 0000:01:00.0: DRM: DCB conn 02: 00002261
[   39.557069] nouveau 0000:01:00.0: DRM: MM: using M2MF for buffer copies
[   39.634080] nouveau 0000:01:00.0: DRM: allocated 1920x1080 fb: 0x50000, bo ffff8ab2afe1b000
[   39.641306] fbcon: nouveaufb (fb1) is primary device
[   39.881426] nouveau 0000:01:00.0: fb1: nouveaufb frame buffer device
[   39.881475] [drm] Initialized nouveau 1.3.1 20120801 for 0000:01:00.0 on minor 1


At least what is obvious visible ain't broken, towards atomic modeset.



More information about the Nouveau mailing list