# [SOLVED] Activate graphic card

## YTW

I can not enable desktop cube animation in KDE plasma 5.

Thus I want to check whether graphic card is installed completely or not.  

I have two device to show.

lspci | grep VGA   

```
00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 18)

02:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M]
```

and  I think ATI Mobility Radeon HD 5650 is OK to enable OPenGL 3.1 because Radeon feature support.

But I found glxinfo | grep OpenGL that llvmpipe is not like Radeon graphic card.

```

OpenGL vendor string: VMware, Inc.

OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.7, 128 bits)

OpenGL core profile version string: 3.3 (Core Profile) Mesa 11.0.6

OpenGL core profile shading language version string: 3.30

OpenGL core profile context flags: (none)

OpenGL core profile profile mask: core profile

OpenGL core profile extensions:

OpenGL version string: 3.0 Mesa 11.0.6

OpenGL shading language version string: 1.30

OpenGL context flags: (none)

OpenGL extensions:

OpenGL ES profile version string: OpenGL ES 3.0 Mesa 11.0.6

OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00

OpenGL ES profile extensions:
```

Thus I go to check lspci -vvv

```
02:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] (prog-if 00 [VGA controller])

        Subsystem: Acer Incorporated [ALI] Mobility Radeon HD 5650

        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+

        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-

        Latency: 0, Cache Line Size: 64 bytes

        Interrupt: pin A routed to IRQ 26

        Region 0: Memory at b0000000 (64-bit, prefetchable) [size=256M]

        Region 2: Memory at afee0000 (64-bit, non-prefetchable) [size=128K]

        Region 4: I/O ports at 2000 [size=256]

        [virtual] Expansion ROM at afe00000 [disabled] [size=128K]

        Capabilities: [50] Power Management version 3

                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)

                Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-

        Capabilities: [58] Express (v2) Legacy Endpoint, MSI 00

                DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited

                        ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset-

                DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-

                        RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+

                        MaxPayload 128 bytes, MaxReadReq 512 bytes

                DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-

                LnkCap: Port #0, Speed 5GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <64ns, L1 <1us

                        ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp-

                LnkCtl: ASPM L1 Enabled; RCB 64 bytes Disabled- CommClk+

                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-

                LnkSta: Speed 2.5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-

                DevCap2: Completion Timeout: Not Supported, TimeoutDis-, LTR-, OBFF Not Supported

                DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled

                LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-

                         Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-

                         Compliance De-emphasis: -6dB

                LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete-, EqualizationPhase1-

                         EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-

        Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+

                Address: 00000000fee0f00c  Data: 41c1

        Capabilities: [100 v1] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>

        Kernel driver in use: radeon

        Kernel modules: radeon

```

Here is also lsmod

```
Module                  Size  Used by

snd_hda_codec_realtek    54810  1

snd_hda_codec_generic    54019  1 snd_hda_codec_realtek

snd_hda_codec_hdmi     36734  1

snd_hda_intel          21796  4

snd_hda_codec          84428  4 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_intel

snd_hwdep               5866  1 snd_hda_codec

snd_hda_core           37649  5 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel

snd_pcm                77244  4 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel,snd_hda_core

snd_timer              18753  1 snd_pcm

i915                 1094531  2

snd                    54708  15 snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel

radeon               1421410  1

i2c_algo_bit            5328  2 i915,radeon

drm_kms_helper         87820  2 i915,radeon

ttm                    68474  1 radeon

syscopyarea             3262  1 drm_kms_helper

ath9k                 147441  0

sysfillrect             3690  1 drm_kms_helper

sysimgblt               2303  1 drm_kms_helper

ath9k_common           25587  1 ath9k

fb_sys_fops             1378  1 drm_kms_helper

ath9k_hw              453359  2 ath9k_common,ath9k                                                                                                                                              

drm                   264122  7 ttm,i915,drm_kms_helper,radeon                                                                                                                                  

ath                    21178  3 ath9k_common,ath9k,ath9k_hw                                                                                                                                     

soundcore               5231  1 snd                                                                                                                                                             

atl1c                  34498  0  
```

And I don't know why in OpenGL - KDE Control Module still show 3D Accelerator 'unknown'.Last edited by YTW on Sun Sep 11, 2016 7:06 pm; edited 1 time in total

----------

## NeddySeagoon

YTW,

You are confusing your actual real hardware with that provided inside your VMware virtual machine.

VMware provides an entire computer as a piece of software, a virtual machine. Your ATI Mobility Radeon graphics card will not appear inside VMvare.

What does lspci show inside VMware?

Some virtualisation solutions allow real hardware to be 'passed through' to the virtual machine with varying degrees of success.

Even then, its not possible to use the same piece of hardware both inside and outside the virtual machine at the same time.

----------

## YTW

 *NeddySeagoon wrote:*   

> 
> 
> You are confusing your actual real hardware with that provided inside your VMware virtual machine.
> 
> 

 

It's weird. Because Gentoo wasn't install on a virtual machine. (I never use VMware...)

This is all lspci

```
00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 18)

00:01.0 PCI bridge: Intel Corporation Core Processor PCI Express x16 Root Port (rev 18)

00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 18)

00:16.0 Communication controller: Intel Corporation 5 Series/3400 Series Chipset HECI Controller (rev 06)

00:1a.0 USB controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 05)

00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 05)

00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 05)

00:1c.1 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2 (rev 05)

00:1d.0 USB controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 05)

00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a5)

00:1f.0 ISA bridge: Intel Corporation Mobile 5 Series Chipset LPC Interface Controller (rev 05)

00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 4 port SATA AHCI Controller (rev 05)

00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 05)

00:1f.6 Signal processing controller: Intel Corporation 5 Series/3400 Series Chipset Thermal Subsystem (rev 05)

02:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M]

02:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Redwood HDMI Audio [Radeon HD 5000 Series]

03:00.0 Ethernet controller: Qualcomm Atheros AR8151 v1.0 Gigabit Ethernet (rev c0)

05:00.0 Network controller: Qualcomm Atheros AR9287 Wireless Network Adapter (PCI-Express) (rev 01)

ff:00.0 Host bridge: Intel Corporation Core Processor QuickPath Architecture Generic Non-core Registers (rev 05)

ff:00.1 Host bridge: Intel Corporation Core Processor QuickPath Architecture System Address Decoder (rev 05)

ff:02.0 Host bridge: Intel Corporation Core Processor QPI Link 0 (rev 05)

ff:02.1 Host bridge: Intel Corporation 1st Generation Core i3/5/7 Processor QPI Physical 0 (rev 05)

ff:02.2 Host bridge: Intel Corporation 1st Generation Core i3/5/7 Processor Reserved (rev 05)

ff:02.3 Host bridge: Intel Corporation 1st Generation Core i3/5/7 Processor Reserved (rev 05)

```

----------

## NeddySeagoon

YTW,

OK, lets ignore the VMware thing for now.  llvmpipe is the software renderer. 

Post the output of 

```
eselect opengl list
```

and put your /var/log/Xorg.0.log onto a pastbin site.

Random thought, your Radeon HD 5650/5750 requires firmware for 3D Hardware acceleration.

Check your dmesg for failed firmware loading attempts.

It will still operate with the missing firmware but you will only get software rendering.

----------

## YTW

Here is /var/log/Xorg.0.log output

http://pastebin.com/mUT20uh8

What will be the key words in dmesg?

eselect opengl list

```
Available OpenGL implementations:

  [1]   xorg-x11 *
```

Should I do this below manually?

```
Device Drivers  --->

    Generic Driver Options  --->

        -*- Userspace firmware loading support

        [*] Include in-kernel firmware blobs in kernel binary

            (radeon/<YOUR-MODEL>.bin)

            (/lib/firmware) Firmware blobs root directory
```

I consider Radeon driver compiled in module (not in kernel), so I didn't select above.

----------

## NeddySeagoon

YTW,

Your two graphics cards make the Xorg difficult to read.  

Are you attempting to use them both?

Do you have a muxless graphics system so that the Intel chip is in use all the time and the ATI chip can only render into the common pixel buffer?

If you don't know the answer, post the make and model of your system and we can consult the user manual online.

From your log.

```
[    18.297] (II) glamor: OpenGL accelerated X.org driver based.

[    19.202] (II) glamor: EGL version 1.4 (DRI2):

[    19.202] EGL_MESA_drm_image required.

[    19.202] (EE) modeset(0): glamor initialization failed
```

First, the modesetting driver cannot provide hardware 3D acceleration. If glamor was working, you would have software EGL via the modesetting driver.

Then we have 

```
[    19.480] (II) AIGLX: Screen 0 is not DRI2 capable

[    19.480] (EE) AIGLX: reverting to software rendering

[    19.492] (II) AIGLX: enabled GLX_MESA_copy_sub_buffer

[    19.493] (II) AIGLX: Loaded and initialized swrast

[    19.493] (II) GLX: Initialized DRISWRAST GL provider for screen 0
```

Its not clear if that's for  the modesetting driver or the radeon driver.  Its a bad sign anyway.

Everything else looks fairly normal. 

```
[*] Include in-kernel firmware blobs in kernel binary
```

is not required when the radeon module is made as a kernel loadable module, as you have.

The firmware is loaded when the module is initalised. Hence it needs to be a part of the kernel binary when radeon is build into the kernel and in /lib/firmware/radeon/ for your case.

If your /lib/firmware/radeon is empty, 

```
emerge linux-firmware
```

 its a lot but you can configure only the things you need later.

```
dmesg | grep irmw
```

will pick up both Firmware and firmware.  If in doubt, pastebin dmesg.

----------

## YTW

I don't know if there exits mixless system or not.

Here is my laptop spec.

dmesg | grep irmw

```

[    0.179276] [Firmware Bug]: ACPI: BIOS _OSI(Linux) query ignored
```

dmesg for all.

----------

## NeddySeagoon

YTW,

This Ubuntu thread says that you do not have a muxless system.

You have two complete graphics systems that have a switch at the video output to determine which card will actually be used.

I've never had the opportunity to play with one of these.

The Ubuntu thread tells of a way to use the BIOS to select using one or the other card. Flashing the BIOS is risky. Don't do that but the entire thread is still worth reading.

When the GUI is not running, the kernel option 

```
[*] Laptop Hybrid Graphics - GPU switching support
```

allows switching between the graphics cards while Xorg is not running, or delays the switching if it is.

The following is based on my use of google, not actual experience.

You have three choices.

Set Intel only in the (hidden) BIOS Menu, then do a conventional Intel setup. Best battry life, poorest performance.

Set ATI only in the (hidden) BIOS Menu, then do a conventional ATI/AMD setup, with either the radeon or ati-drivers binary package. Best performance, poor battery life.

Leave the BIOS alone and go for broke with 

```
[*] Laptop Hybrid Graphics - GPU switching support
```

and using the ati-drivers binary package.

You will need to restart Xorg to actually change graphics cards.

All the success stories with your dual hardware appear to require the use of the ATI binary blob driver.

This Ubuntu guide looks useful. You will need to move it to gentoo as you go.

This old wiki page may be useful too.  It appears to support 'on the fly' switching.

A word of warning.  The term Hybrid Graphics originally applied to the graphics set up you have.  Its been reused to refer to muxless graphics systems too.

Unfortunately, the two operate quite differently and a guide for the more popular muxless graphics systems will not work for you.

-- edit --

 and there is an old Gentoo Forum Thread.  Don't be put off by the topic title.

----------

## YTW

Thank you, Neddy  :Surprised:   :Surprised:   :Surprised:  !

I almost crash terminal (lollll) after confusing with portage change use and cleaning ebuilds that should not be cleaned for emerge -U --deep world by

a option that only select Intel and deselect ATI Radeon at DRM folowing this.

```
Device Drivers  --->

    Graphics support  --->

        <*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->

            < > ATI Radeon

            <*> Intel 8xx/9xx/G3x/G4x/HD Graphics

                [*]   Enable modesetting on intel by default
```

I have to solve the most trouble thing now that 'terminal is not fully functional' at console...

----------

## YTW

 *NeddySeagoon wrote:*   

> 
> 
> This Ubuntu thread says that you do not have a muxless system.
> 
> You have two complete graphics systems that have a switch at the video output to determine which card will actually be used.
> ...

 

Yes. My laptop has Muxed hybrid graphics. 

My goal is enabling OpenGL and therefore 'Desktop Cube' effect can be activated.

The following is what I tried:

1) Activate DGPU by VIDEO_CARDS='radeon' and also VIDEO_CARDS='intel' (both come from x11-base/xorg-drivers):

The result is X server got confused with which graphic card should be activated (log file already in the above post). Therefore it chooses Gallium llvmpipe which is using CPUs to render and not supporting OpenGL. 

Note: The rendering backend is Xrender. The vendor of Gallium llvmpipe is VMWare (So it is nothing about virtual machine).

2) Activate DGPU by VIDEO_CARDS='fglrx' (come from x11-drivers/ati-drivers) and also VIDEO_CARDS='intel' (come from x11-base/xorg-drivers):

aticonfig --initial (for generating /etc/x11/xorg.conf)

eselect opengl set ati

/etc/init.d/xdm restart

The result is getting nothing of login manager and holding on the same tty.

Here is  /var/log/Xorg.0.log

The result is muxed machine can not start X server through fglrx.

But!!! after 

rm  /etc/x11/xorg.conf

eselect opengl set xorg-x11

/etc/init.d/xdm restart

X server can choose IGPU to activate OpenGL by Mesa DRI Intel(R) Ironlake Mobile.

Note: The rendering backend is OpenGL 2.0. The OpenGL interface is GLX. This finally can activate cubic desktop that is my childish desire lollllll!!

Thank you Neddy again for teaching me a lot!

----------

