Bug 94832 - Reverse Prime corruption with nouveau using radeon outputs
Summary: Reverse Prime corruption with nouveau using radeon outputs
Status: NEW
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/nouveau (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Nouveau Project
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-04-05 20:10 UTC by Christoph Haag
Modified: 2017-11-10 23:25 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
photo with screen corruption (417.02 KB, image/jpeg)
2016-04-05 20:10 UTC, Christoph Haag
no flags Details
screenshot with no corruption (725.50 KB, image/png)
2016-04-05 20:12 UTC, Christoph Haag
no flags Details
xrandr commands (3.11 KB, text/plain)
2016-04-05 20:37 UTC, Christoph Haag
no flags Details
xorg log (63.80 KB, text/plain)
2016-04-05 20:37 UTC, Christoph Haag
no flags Details
dmesg (50.50 KB, text/plain)
2016-04-05 20:38 UTC, Christoph Haag
no flags Details
journal from running reverse prime from radeon (11.52 KB, text/plain)
2016-04-05 20:48 UTC, Christoph Haag
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Christoph Haag 2016-04-05 20:10:56 UTC
Created attachment 122732 [details]
photo with screen corruption

I have these two (old) GPUs:

00:0d.0 VGA compatible controller: NVIDIA Corporation C61 [GeForce 6150SE nForce 430] (rev a2)
02:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RV370 [Radeon X300]

After startup my desktop runs on the nvidia gpu.
I enable prime with these commands:

xrandr --setprovideroutputsource radeon nouveau
xrandr --output VGA-2 --auto  --output DVI-1-0 --right-of VGA-2 --mode 1280x1024

It seems to almost work, but the monitor connected to the radeon gpu is very corrupted, see attached image.

Software:

linux 4.5
xf86-video-nouveau 1.0.12
xf86-video-ati 1:7.6.1
xorg-server 1.18.3
xfwm4 4.12.3 with compositor enabled
Comment 1 Christoph Haag 2016-04-05 20:12:37 UTC
Created attachment 122733 [details]
screenshot with no corruption

On a screenshot there is no corruption visible.

Some artifacts were visible when I first had different resolutions for the monitors and dragged a window, there would be some artifacts left where the window was, but the windows itself looked fine.
Comment 2 Ilia Mirkin 2016-04-05 20:17:32 UTC
I'm confused by what's going on in your setup... can you also include the output of 'xrandr' and your Xorg log? That should clear things up.
Comment 3 Christoph Haag 2016-04-05 20:37:09 UTC
Created attachment 122734 [details]
xrandr commands

These are the commands I enter. I run X on an nvidia GPU and then I want to use a monitor that is connected to a radeon GPU.
Comment 4 Christoph Haag 2016-04-05 20:37:26 UTC
Created attachment 122735 [details]
xorg log
Comment 5 Christoph Haag 2016-04-05 20:38:30 UTC
Created attachment 122736 [details]
dmesg

Somehow I forgot to check dmesg.

I guess the
[   39.172099] nouveau 0000:00:0d.0: bus: MMIO write of 007c0001 FAULT at 00b010
indicate a problem...
Comment 6 Ilia Mirkin 2016-04-05 20:42:12 UTC
(In reply to Christoph Haag from comment #5)
> Created attachment 122736 [details]
> dmesg
> 
> Somehow I forgot to check dmesg.
> 
> I guess the
> [   39.172099] nouveau 0000:00:0d.0: bus: MMIO write of 007c0001 FAULT at
> 00b010
> indicate a problem...

Nope, that's expected. Something weird with the PMPEG unit on the cards. Although usually the errors happen just once at boot... dunno.

And to further clarify, you get the corruption as in the photo no matter what once you enable the second screen? Given what the photo looks like, seems like there's an issue with strides... perhaps the fb stride isn't being propagated properly? All the dispnv04 code is pretty much stuck in antiquity unfortunately =/ And none of the PRIME stuff has been tested with pre-G80 GPUs.
Comment 7 Christoph Haag 2016-04-05 20:48:53 UTC
Created attachment 122737 [details]
journal from running reverse prime from radeon

This may be a different problem, but when I try it the other way around by adding /etc/X11/xorg.conf.d/20-radeon.conf with

Section "Device"
    Identifier     "Device0"
    Driver         "radeon"
    BusID          "PCI:2:0:0"
EndSection
Section "Device"
    Identifier     "Device1"
    Driver         "nouveau"
    BusID          "PCI:0:0:d"
EndSection

then X starts on my radeon gpu. Then I can do
xrandr --setprovideroutputsource radeon nouveau
and then
xrandr --output VGA-1-2 --auto --output DVI-0 --right-of VGA-1-2 --mode 1280x1024
then I get pretty gruesome messages in dmesg.
Comment 8 Christoph Haag 2016-04-05 20:51:36 UTC
(In reply to Ilia Mirkin from comment #6)

> And to further clarify, you get the corruption as in the photo no matter
> what once you enable the second screen?

Looks like it. Well, I am not *really* going to use that computer, I am just experimenting with PRIME. So if there are no real users, it might not be worth the time to debug this.
Comment 9 danon 2017-11-10 23:25:46 UTC
Same problem here, try build a multi monitor setup with a 6600 LE (nouveau) and a Radeon 2400 Pro (radeon). Xinemara works fine, but Reverse PRIME does not.

When i try to render nouveau -> radeon i get a segfault.
When i try to render radeon -> nouveau i get glitches, similar to the one Christoph Haag posted.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.