For more information, join the team subscribe to the mailing list 
at the bottom of the Launchpad page

    http://launchpad.net/~hybrid-graphics-linux 

Please join this team if you are new by clicking on the "Join 
Team" link at the right of the Launchpad page. It's important to 
have as many users in the community as possible to request for 
appropriate support.

Thursday 29 December 2011

42403EG ThinkPadT520

Method (_PS0, 0, NotSerialized)
{
If (ISOP ())
{
If (DGOS)
{
\VHYB (0x02, 0x00)
Sleep (0x64)
\VHYB (0x00, 0x01)
Sleep (0x0A)
Store (0x01, \_SB.PCI0.LPC.PCRS)
Store (0x01, \_SB.PCI0.LPC.PCRQ)
Sleep (0x64)
\VHYB (0x02, 0x01)
Sleep (0x01)
\VHYB (0x08, 0x01)
Store (0x0A, Local0)
Store (0x32, Local1)
While (Local1)
{
Sleep (Local0)
If (\LCHK (0x01))
{
Break
}

Decrement (Local1)
}

Store (0x00, \_SB.PCI0.LPC.PCRQ)
\VHYB (0x04, 0x00)
\SWTT (0x01)
Store (Zero, DGOS)
}
Else
{
If (LNotEqual (VSID, 0x21D117AA))
{
\VHYB (0x04, 0x00)
}
}

\VHYB (0x09, \_SB.PCI0.PEG.VID.HDAS)
}
}

Method (_PS1, 0, NotSerialized)
{
Noop
}

Method (_PS2, 0, NotSerialized)
{
Noop
}

Method (_PS3, 0, NotSerialized)
{
If (ISOP ())
{
If (LEqual (\_SB.PCI0.PEG.VID.OMPR, 0x03))
{
\SWTT (0x00)
\VHYB (0x08, 0x00)
Store (0x0A, Local0)
Store (0x32, Local1)
While (Local1)
{
Sleep (Local0)
If (\LCHK (0x00))
{
Break
}

Decrement (Local1)
}

\VHYB (0x02, 0x00)
Sleep (0x64)
\VHYB (0x00, 0x00)
Store (One, DGOS)
Store (0x02, \_SB.PCI0.PEG.VID.OMPR)
}
}
}

Wednesday 28 December 2011

0855.LenovoIdeaPadY470

Method (_PS0, 0, NotSerialized)
{
If (DGOS)
{
\_SB.PCI0.PEG0.PEGP._ON ()
Store (Zero, DGOS)
Store (Zero, MLTF)
}
}

Method (_PS3, 0, NotSerialized)
{
Store (MLTF, OPTF)
If (LEqual (\_SB.PCI0.PEG0.PEGP.OMPR, 0x03))
{
\_SB.PCI0.PEG0.PEGP._OFF ()
Store (One, DGOS)
Store (0x02, \_SB.PCI0.PEG0.PEGP.OMPR)
}
}

Acer Aspire5750G V1.11

Method (_PS0, 0, NotSerialized)
{
If (DGOS)
{
GLSC ()
\_SB.PCI0.PEG0.PEGP._ON ()
GLSR ()
Store (Zero, DGOS)
Store (Zero, MLTF)
}
}
--
Method (_PS3, 0, NotSerialized)
{
If (LEqual (\_SB.PCI0.PEG0.PEGP.OMPR, 0x03))
{
GLSC ()
\_SB.PCI0.PEG0.PEGP._OFF ()
GLSR ()
Store (One, DGOS)
Store (0x02, \_SB.PCI0.PEG0.PEGP.OMPR)
}
}

4236NVG ThinkPadT420

Method (_PS0, 0, NotSerialized)
{
If (ISOP ())
{
If (DGOS)
{
\VHYB (0x02, 0x00)
Sleep (0x64)
\VHYB (0x00, 0x01)
Sleep (0x0A)
Store (0x01, \_SB.PCI0.LPC.PCRS)
Store (0x01, \_SB.PCI0.LPC.PCRQ)
Sleep (0x64)
\VHYB (0x02, 0x01)
Sleep (0x01)
\VHYB (0x08, 0x01)
Store (0x0A, Local0)
Store (0x32, Local1)
While (Local1)
{
Sleep (Local0)
If (\LCHK (0x01))
{
Break
}

Decrement (Local1)
}

Store (0x00, \_SB.PCI0.LPC.PCRQ)
\VHYB (0x04, 0x00)
\SWTT (0x01)
Store (Zero, DGOS)
}
Else
{
If (LNotEqual (VSID, 0x21D017AA))
{
\VHYB (0x04, 0x00)
}
}

\VHYB (0x09, \_SB.PCI0.PEG.VID.HDAS)
}
}

Method (_PS3, 0, NotSerialized)
{
If (ISOP ())
{
If (LEqual (\_SB.PCI0.PEG.VID.OMPR, 0x03))
{
\SWTT (0x00)
\VHYB (0x08, 0x00)
Store (0x0A, Local0)
Store (0x32, Local1)
While (Local1)
{
Sleep (Local0)
If (\LCHK (0x00))
{
Break
}

Decrement (Local1)
}

\VHYB (0x02, 0x00)
Sleep (0x64)
\VHYB (0x00, 0x00)
Store (One, DGOS)
Store (0x02, \_SB.PCI0.PEG.VID.OMPR)
}
}
}

Asus U36SD

Method (_PS0, 0, NotSerialized)
{
Store (Zero, \_SB.PCI0.GFX0._PSC)
If (LNotEqual (\_SB.PCI0.GFX0.DGPS, 0x00))
{
\_SB.PCI0.PEG0.GFX0.DON ()
\SGPL (0x23, 0x01, 0x01)
Store (Zero, \_SB.PCI0.GFX0.DGPS)
}
}

Method (_PS3, 0, NotSerialized)
{
If (LEqual (\_SB.PCI0.GFX0.P3MO, 0x01))
{
\_SB.PCI0.PEG0.GFX0.DOFF ()
\SGPL (0x23, 0x01, 0x00)
Store (0x03, \_SB.PCI0.GFX0._PSC)
Store (0x01, \_SB.PCI0.GFX0.DGPS)
}

Store (0x00, \_SB.PCI0.GFX0.P3MO)
}

Samsung 300E4A5A7A with PS0/PS3

Method (_PS0, 0, NotSerialized)
{
If (DGOS)
{
\_SB.PCI0.PEG0.PEGP._ON ()
Store (Zero, DGOS)
Store (Zero, MLTF)
}
}

Method (_PS3, 0, NotSerialized)
{
If (LEqual (\_SB.PCI0.PEG0.PEGP.OMPR, 0x03))
{
\_SB.PCI0.PEG0.PEGP._OFF ()
Store (One, DGOS)
Store (0x02, \_SB.PCI0.PEG0.PEGP.OMPR)
}
}

Monday 26 December 2011

Bumblee on Lenovo Ideapad Y570

Following the added support by the Nouveau driversfor the GPU in the Lenovo Ideapa Y570, Nvidia has recently added the 0DEB PCI ID (10DE:0DEB) to their drivers.
This means this laptop model is now supported by Bumblebee/Ironhide, and one can use the dicrete Nvidia graphics card on specified applications by installing Bumblebee/Ironhide under Linux.
This is for a NVIDIA GeForce GT 555M 1GB card, which has been seen on a bunch of different laptop albeit with slightly different names.

There are almost a dozen 555M GPU variants available. Every single one uses a GF106 chip with DDR3 or GDDR5 except for the Lenovo Ideapad Y570 which has a GF108 chip with GDDR5.

The 500M series has been a bit of a chipset mess for Nvidia. Some Dell users found ways to BIOS mod their GF108 525M into a 550M, but it's not an easy task.

As an example, the Asus G53SW/G73SW has a GF106 460M with a 192-bit bus and GDDR5. The supposed successor, the Asus G53SX, has a GF116 560M with a 128-bit bus and GDDR5. Yet at the same time, G74SX, the successor of the G73SW, has a GF116 560M with the expected 192-bit GDDR5.

Please join the Launchpad team and use the mailing list for more on this.

Monday 19 December 2011

We are approaching 1000 team members!

The year 2011 is ending and the Launchpad hybrid graphics Linux team is approaching 1000 team members!

It's been a year of consolidation for the team members whose efforts in reporting on and improving the features of hybrid graphics systems in Linux are paying off. We now have a bumblebee/ironhide implementation for using the GPU on specific applications, with some systems also having the ability of switching on/off the graphics card on demand.

There have been attempts to bring Nvidia VDPAU video acceleration to the hybrid graphics systems, and these continue to be made to make sure they pave the way for smooth video playing in Linux.

The upstream Linux kernel and graphics drivers have received the source code produced by either members of the team or other open source contributors, which will ensure a seamless integration into all Linux distributions in the future.

Please make sure that you join the team if you haven't already. Even if your system already has decent support, your joining the team shows that there is a large Linux user base that will benefit of further improvements.

Keep reporting via the usual channels, like the mailing list and launchpad bug reporting tool.

Wednesday 14 December 2011

Video acceleration for Optimus laptops -- what is the status?

Eric Appleman has taken some time to detail the situation of having
VDPAU acceleration on Optimus laptops. VDPAU is a method to use the
computing power of a GPU card to produce high-quality video and audio
while offloading the main CPU from the task. Eric has been making
great contributions in this area for Optimus configurations. Here are
the details:

There are 2 primary means of using VDPAU. Bumblebee+Xpra and
Bumblebee+Windump. Both methods have pros and cons: Windump is fast,
maintains v-sync if you use a compositor, but has rather tricky window
management. On the other side, Xpra is has a good window management,
but screen updates can be disappointing.

One of the newer things that Eric has been looking into is VAAPI and
VDPAU while using the open-source Nouveau driver. The media player VLC
supports H264 VAAPI and mplayer/mplayer2 can decode VP8 over VDPAU,
but it requires patches to both mplayer and the Mesa
libraries. Windump or Xpra would still be needed in this
configuration.

Meanwhile, Dave Airlie's PRIME/DriverScreen developments could be soon
incorporated into most Linux distributions. In theory, the code should
be ready by early 2012 and in most distributions as early as Fall
2012.

Between now and then, Eric will be looking into adding proper window
management to Windump, although it looks like a difficult job. This
would require loading a second X server, instead of attaching virtual
screens to drivers on a single X server, which is the preferred option
for bumblebee and ironhide.

VDPAU is one of the methods to have video and audio GPU-acceleration
in Linux, although it's still largely restricted to the Nvidia
proprietary drivers. Although some other open-source drivers can use
VDPAU, like the Radeon Gallium drivers through XvBA backend and
experimental trees like Emeric's Nouveau VP8 acceleration, the
environment is still incomplete and lacking big important features for
many hardware configurations.

For Nouveau, VDPAU on Nvidia cards (NV50/NVC0) and Optimus support are
two separate yet eventually convergent goals. The feature matrix for
Nouveau is still showing a 'to-do/to-finish' in 'hardware accelerated
video decoding' [1].

So, in the immediate future, VAAPI on Nouveau could be a primary
method of acceleration until VDPAU lands. The benefits of either
method may be short-lived for H264 fans. This is because there is an
ongoing transition from 8-bit compression to 10-bit compression. While
most consumer-level video cards can support hardware-accelerated 8-bit
decoding, this is not the case for 10-bit decoding at the moment, and
this situation could not change for at least a few years.

So where does this leave VDPAU with the Nvidia blob on Optimus
laptops? Aaron Plattner, Nvidia's Linux driver guy, says he is
encouraged by Dave's Xserver overhaul and would be willing to support
it. This is easier said than done, since it requires for Linux
distributions to ship with a cutting-edge X stack and kernel that
would support the new code.

Ultimately, for both Nouveau and the Nvidia driver, the new
development efforts under the Wayland framework are still a big
unknown, and it's still early to envision how it will affect Optimus
and VDPAU.

Thanks to Eric Appleman for the information on the hybrid-graphics
mailing list.

Followers