From mboxrd@z Thu Jan 1 00:00:00 1970
From: bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ@public.gmane.org
Subject: [Bug 58556] New: MacBook Pro 5,
1 with nVidia 9400m and 9600m, scrambled screen
Date: Thu, 20 Dec 2012 07:23:51 +0000
Message-ID:
Priority
medium
Bug ID
58556
Assignee
nouveau@lists.freedesktop.org
Summary
MacBook Pro 5,1 with nVidia 9400m and 9600m, scrambled screen
QA Contact
xorg-team@lists.x.org
Severity
major
Classification
Unclassified
OS
other
Reporter
MacGyver031@web.de
Hardware
x86-64 (AMD64)
Status
NEW
Version
unspecified
Component
Driver/nouveau
Product
xorg
System:
MacBook Pro 15", late 2008 (Core2 duo, 4GB RAM, 500GB HDD)
nVidia 9600m GT at PCI=02:00.0
nVidia 9400m at PCI=03:00.0
OS:
Gentoo Linux, kernel gentoo-sources-3.7.1
Booting with EFI-Stub (by copying kernel-image to first
fat-partition/EFI/BOOT/BOOTX86.efi)
Problems:
- System "crashes" when nouveau is loaded without any parameters. It would be
nice if one can set individual parameters for each hardware (as in "modprobe
nouveau -dev-pci=03:00.0 -noaccel=1" and "modprobe nouveau -dev-pci=02:00.0").
- EFIFB is required to get nouveau to bind panel to graphic-adapter(s). If
EFIFB is not loaded, nouveau selects no graphic adapter and swiches off display
on "echo OFF > ...".
- EFIFB handover seems to be broken: As soon as nouveau loads, screen gets
scrambled on the graphic adapter which is active. Swiching to the other (e.g.
"echo DIGD > /sys...") the screen is working fine. Swiching back does not solve
the problem.
Kernel is compiled with EFIFB, otherwise nouveau is unable to bind panel to any
of the two adapters.
Resolution for kernels < 3.4.9: I made use of gpupwr to disable the discrete
adapter and then loaded nouveau (without any parameters). The system was
"programmed" to use 9400m as it starts. This worked quite fine over long time.
Temporary resolution for 3.7.1: Use MacOSX to change the default adapter to the
one which is "not" desired. Reboot, load nouveau with noaccel=1 (now screen
gets scrambled), switch to the other device (in my case "echo DIGD >
/sys/kernel/debug/vgaswitcheroo/switch"). Voila you have a readable screen.