From: "Pasi Kärkkäinen" <pasik@iki.fi>
To: Alex Deucher <alexdeucher@gmail.com>
Cc: "Alex Williamson" <alex.williamson@redhat.com>,
"Linus Torvalds" <torvalds@linux-foundation.org>,
"C Bergström" <cbergstrom@pathscale.com>,
DRI <dri-devel@lists.freedesktop.org>,
"Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>
Subject: Re: Stupid NVIDIA 3D vgaarb.c patch
Date: Sat, 27 Sep 2014 14:01:56 +0300 [thread overview]
Message-ID: <20140927110156.GD12451@reaktio.net> (raw)
In-Reply-To: <CADnq5_MXAsW+=Zaed-RVCentb+p7GgETOisDkGdMk_OGxPHLng@mail.gmail.com>
On Mon, Sep 22, 2014 at 06:10:50PM -0400, Alex Deucher wrote:
> >
> > With dual VGA controllers, we can change VGA routing in the chipset so
> > that we can address one device or the other using the VGA address space.
> > This lets things like Xorg switch between cards to initialize a card via
> > the VGA BIOS or execute runtime VGA BIOS calls. If one of those devices
> > reports itself as a 3D controller, then we have no reason to believe
> > that the device actually responds to VGA accesses or that the PCI ROM
> > payload includes a VGA BIOS.
> >
> > Maybe that's how the arbiter device registration should work, if the
> > class code is VGA add it, if it's 3D controller, switch VGA routing and
> > see if it responds to VGA. There are still a couple problems that I've
> > been beating my head against though. First, i915 lies when it opts-out
> > of VGA arbitration, so you might think you've found a VGA device
> > elsewhere, but you're actually still talking to IGD. Second is the Xorg
> > DRI problem where it's going to disable DRI support if suddenly a second
> > arbitration participant appears. This is what happened when I tried to
> > fix the i915 problem and suddenly anybody with IGD + plugin graphics
> > lost DRI and the fix was reverted. The whole thing is pretty broken.
> >
> > In this case, if your laptop actually supports disabling and hiding the
> > IGD device, I'd expect the Nvidia device to switch to reporting itself
> > as VGA. It seems like often the Optimus graphics aren't even directly
> > connected to an output device, which makes me curious that you can
> > actually pick one or the other. Thanks,
>
> AFAIK, on most recent (like in the last 2-3 years) hybrid laptops
> don't really have the option to boot to the dGPU or even disable the
> integrated graphics (I'm not sure that was ever possibly, even on the
> old muxed ones). Depending on the OEM, the dGPU may be wired to one
> or more of the external ports, but I don't think those are usable
> until after the drivers have loaded. Newer radeon PowerXpress laptops
> mark the dGPU as PCI_CLASS_DISPLAY_OTHER and I don't think there is
> any expectation that they should be messing with vga.
>
I had Lenovo T430 hybrid graphics laptop earlier, which is in "last 2-3 years",
and it allowed me to choose "IGD only", "Optimus", or "Nvidia only" in BIOS..
-- Pasi
> Alex
>
WARNING: multiple messages have this Message-ID (diff)
From: "Pasi Kärkkäinen" <pasik@iki.fi>
To: Alex Deucher <alexdeucher@gmail.com>
Cc: "Alex Williamson" <alex.williamson@redhat.com>,
"C Bergström" <cbergstrom@pathscale.com>,
"Linus Torvalds" <torvalds@linux-foundation.org>,
"Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>,
DRI <dri-devel@lists.freedesktop.org>
Subject: Re: Stupid NVIDIA 3D vgaarb.c patch
Date: Sat, 27 Sep 2014 14:01:56 +0300 [thread overview]
Message-ID: <20140927110156.GD12451@reaktio.net> (raw)
In-Reply-To: <CADnq5_MXAsW+=Zaed-RVCentb+p7GgETOisDkGdMk_OGxPHLng@mail.gmail.com>
On Mon, Sep 22, 2014 at 06:10:50PM -0400, Alex Deucher wrote:
> >
> > With dual VGA controllers, we can change VGA routing in the chipset so
> > that we can address one device or the other using the VGA address space.
> > This lets things like Xorg switch between cards to initialize a card via
> > the VGA BIOS or execute runtime VGA BIOS calls. If one of those devices
> > reports itself as a 3D controller, then we have no reason to believe
> > that the device actually responds to VGA accesses or that the PCI ROM
> > payload includes a VGA BIOS.
> >
> > Maybe that's how the arbiter device registration should work, if the
> > class code is VGA add it, if it's 3D controller, switch VGA routing and
> > see if it responds to VGA. There are still a couple problems that I've
> > been beating my head against though. First, i915 lies when it opts-out
> > of VGA arbitration, so you might think you've found a VGA device
> > elsewhere, but you're actually still talking to IGD. Second is the Xorg
> > DRI problem where it's going to disable DRI support if suddenly a second
> > arbitration participant appears. This is what happened when I tried to
> > fix the i915 problem and suddenly anybody with IGD + plugin graphics
> > lost DRI and the fix was reverted. The whole thing is pretty broken.
> >
> > In this case, if your laptop actually supports disabling and hiding the
> > IGD device, I'd expect the Nvidia device to switch to reporting itself
> > as VGA. It seems like often the Optimus graphics aren't even directly
> > connected to an output device, which makes me curious that you can
> > actually pick one or the other. Thanks,
>
> AFAIK, on most recent (like in the last 2-3 years) hybrid laptops
> don't really have the option to boot to the dGPU or even disable the
> integrated graphics (I'm not sure that was ever possibly, even on the
> old muxed ones). Depending on the OEM, the dGPU may be wired to one
> or more of the external ports, but I don't think those are usable
> until after the drivers have loaded. Newer radeon PowerXpress laptops
> mark the dGPU as PCI_CLASS_DISPLAY_OTHER and I don't think there is
> any expectation that they should be messing with vga.
>
I had Lenovo T430 hybrid graphics laptop earlier, which is in "last 2-3 years",
and it allowed me to choose "IGD only", "Optimus", or "Nvidia only" in BIOS..
-- Pasi
> Alex
>
next prev parent reply other threads:[~2014-09-27 11:11 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CAOnawYp7kv7Zjn4j-j4-TUOshE9G1uXWEqXB_=RHePNwNLmwWA@mail.gmail.com>
2014-09-22 20:43 ` Stupid NVIDIA 3D vgaarb.c patch Linus Torvalds
2014-09-22 20:43 ` Linus Torvalds
2014-09-22 20:52 ` C Bergström
2014-09-23 14:22 ` Peter Wu
2014-09-22 21:15 ` Alex Williamson
2014-09-22 21:15 ` Alex Williamson
2014-09-22 21:20 ` C Bergström
2014-09-22 21:54 ` Alex Williamson
2014-09-22 21:54 ` Alex Williamson
2014-09-22 22:10 ` Alex Deucher
2014-09-22 22:10 ` Alex Deucher
2014-09-27 11:01 ` Pasi Kärkkäinen [this message]
2014-09-27 11:01 ` Pasi Kärkkäinen
2014-09-24 1:55 ` Alex Deucher
2014-09-24 1:55 ` Alex Deucher
2014-09-23 16:25 ` Bruno Prémont
2014-09-23 16:25 ` Bruno Prémont
2014-09-23 20:29 ` Benjamin Herrenschmidt
2014-09-26 21:08 ` Aaron Plattner
2014-09-26 21:08 ` Aaron Plattner
2014-09-26 21:13 ` Ilia Mirkin
2014-09-26 21:13 ` Ilia Mirkin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140927110156.GD12451@reaktio.net \
--to=pasik@iki.fi \
--cc=alex.williamson@redhat.com \
--cc=alexdeucher@gmail.com \
--cc=cbergstrom@pathscale.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.