AMD/AMD hybrid graphics

Alex Deucher alexdeucher at gmail.com
Fri Feb 21 05:37:10 PST 2014


On Thu, Feb 20, 2014 at 9:37 PM, Dave Airlie <airlied at gmail.com> wrote:
> On Fri, Feb 21, 2014 at 12:25 PM, Michel Dänzer <michel at daenzer.net> wrote:
>> On Don, 2014-02-20 at 08:44 +0100, Boszormenyi Zoltan wrote:
>>> 2014-02-20 06:47 keltezéssel, Michel Dänzer írta:
>>> > On Don, 2014-02-20 at 06:09 +0100, Boszormenyi Zoltan wrote:
>>> >> 2014-02-20 04:20 keltezéssel, Michel Dänzer írta:
>>> >>> On Mit, 2014-02-19 at 11:56 +0100, Boszormenyi Zoltan wrote:
>>> >>>> 2014-02-19 10:59 keltezéssel, Michel Dänzer írta:
>>> >>>>> On Mit, 2014-02-19 at 09:11 +0100, Boszormenyi Zoltan wrote:
>>> >>>>>
>>> >>>>>> Can Mesa/Xorg use both r600g and radeonsi at the same time?
>>> >>>>> Yes, that seems to work fine for others. You may need Mesa 10.1 or newer
>>> >>>>> though.
>>> >>>> Do you mean mean with Mesa 9.2.5 and Xorg server 1.14.4 in
>>> >>>> Fedora 20 at this time, it's not possible unless I compile my own
>>> >>>> llvm-3.5 SVN, Mesa 10.1 or 10.2 GIT and Xorg 1.15 GIT?
>>> >>> I don't think Xorg 1.15 is necessary, but it shouldn't hurt either.
>>> >>>
>>> >>>
>>> >>>> Attached is the log from both 1.14.4 (FC20) and 1.15.0 (rawhide), [...]
>>> >>> The log files end abruptly, so we need to see the X server stderr
>>> >>> output. Assuming you're using gdm, it should be captured
>>> >>> in /var/log/gdm*/:0.log .
>>> >> FC20 has lightdm by default, here's /var/log/lightdm/x-0.log
>>> > [...]
>>> >
>>> >> X: ../../../include/privates.h:122: dixGetPrivateAddr: Assertion
>>> >> `key->initialized' failed.
>>> > Can you get a backtrace for this assertion failure with gdb? See
>>> > http://wiki.x.org/wiki/Development/Documentation/ServerDebugging/
>>
>> [...]
>>
>>> #0  0x00007fadc165f1c9 in __GI_raise (sig=sig at entry=6) at
>>> ../nptl/sysdeps/unix/sysv/linux/raise.c:56
>>> #1  0x00007fadc16608d8 in __GI_abort () at abort.c:89
>>> #2  0x00007fadc1658126 in __assert_fail_base (fmt=0x7fadc17a98a0 "%s%s%s:%u: %s%sAssertion
>>> `%s' failed.\n%n", assertion=assertion at entry=0x5a4c53 "key->initialized",
>>>      file=file at entry=0x5a8dfc "../../../include/privates.h", line=line at entry=122,
>>> function=function at entry=0x5aaa90 <__PRETTY_FUNCTION__.8544> "dixGetPrivateAddr") at
>>> assert.c:92
>>> #3  0x00007fadc16581d2 in __GI___assert_fail (assertion=assertion at entry=0x5a4c53
>>> "key->initialized", file=file at entry=0x5a8dfc "../../../include/privates.h",
>>> line=line at entry=122,
>>>      function=function at entry=0x5aaa90 <__PRETTY_FUNCTION__.8544> "dixGetPrivateAddr") at
>>> assert.c:101
>>> #4  0x0000000000424f70 in dixGetPrivateAddr (key=<optimized out>, key=<optimized out>,
>>> privates=0x169d558) at ../../../include/privates.h:122
>>> #5  0x00000000004810eb in dixGetPrivateAddr (key=<optimized out>, key=<optimized out>,
>>> privates=0x169d558) at xf86cmap.c:239
>>> #6  dixSetPrivate (val=<optimized out>, key=0x822f80 <CMapScreenKeyRec>,
>>> privates=0x169d558) at ../../../include/privates.h:148
>>> #7  xf86HandleColormaps (pScreen=pScreen at entry=0x169d180, maxColors=maxColors at entry=256,
>>> sigRGBbits=10, loadPalette=loadPalette at entry=0x7fadbcd37ea0 <drmmode_load_palette>,
>>>      setOverscan=setOverscan at entry=0x0, flags=flags at entry=3) at xf86cmap.c:184
>>> #8  0x00007fadbcd3b32c in drmmode_setup_colormap (pScreen=pScreen at entry=0x169d180,
>>> pScrn=pScrn at entry=0x169c930) at drmmode_display.c:1990
>>> #9  0x00007fadbcd370ef in RADEONScreenInit_KMS (pScreen=pScreen at entry=0x169d180,
>>> argc=argc at entry=1, argv=argv at entry=0x7fff83c684c8) at radeon_kms.c:1366
>>> #10 0x0000000000438b4d in AddGPUScreen (pfnInit=0x7fadbcd36c60 <RADEONScreenInit_KMS>,
>>> argc=argc at entry=1, argv=argv at entry=0x7fff83c684c8) at dispatch.c:3874
>>> #11 0x000000000047aa9f in InitOutput (pScreenInfo=pScreenInfo at entry=0x82dd60 <screenInfo>,
>>> argc=argc at entry=1, argv=argv at entry=0x7fff83c684c8) at xf86Init.c:886
>>
>> Hmm, looks like there's confusion about how colormaps are supposed to be
>> handled.
>>
>>
>> Dave, any ideas?
>
> xf86_crtc_supports_gamma probably stops us from ever getting into that
> function, but in the case where we have 0 crtcs I could see fallout.
>
> Either fix the DDX to not call colormap handling if we have 0 crtcs
> and/or fix the server to not install bother with colormaps if we have
> 0 crtcs.
>

Does the attached patch help?

Alex

> Dave.
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-radeon-don-t-install-colormap-handling-if-there-are-.patch
Type: text/x-diff
Size: 1792 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20140221/940a29b9/attachment-0001.patch>


More information about the dri-devel mailing list