1

I'm using Gentoo on a notebook with two AMD GPUs: an integrated and a discrete card. Here's what lspci is returning:

00:01.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Richland [Radeon HD 8650G] [1002:990b]
    Subsystem: Micro-Star International Co., Ltd. [MSI] Richland [Radeon HD 8650G] [1462:10ef]
    Kernel driver in use: radeon
--
01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Neptune XT [Radeon HD 8970M] [1002:6801] (rev ff)
    Kernel driver in use: radeon

What is the correct way to setup the open source driver now? According to the feature support table on Gentoo Wiki, I set in make.conf:

VIDEO_CARDS="radeon r600 radeonsi"

so both drivers are present to support both GPUs. What bothers me is the glxinfo output:

$ DRI_PRIME=0 glxinfo | grep -i opengl # integrated gpu
OpenGL vendor string: X.Org
OpenGL renderer string: Gallium 0.4 on AMD ARUBA
OpenGL version string: 2.1 Mesa 10.3.7
OpenGL shading language version string: 1.30

$ DRI_PRIME=1 glxinfo | grep -i opengl # discrete gpu
OpenGL vendor string: X.Org
OpenGL renderer string: Gallium 0.4 on AMD PITCAIRN
OpenGL version string: 2.1 Mesa 10.3.7
OpenGL shading language version string: 1.30

Again, according to the feature table from above, the drivers for both GPUs support at least OpenGL 3.3 which is obviously not the case here. Am I doing something wrong?

2

Actually, after struggling, trying and lurking for a week or so, some guy from a russian linux community helped me out, so I'll repost it here. The reason was the enabled bindist use flag for mesa package:

~ $ equery uses mesa
[ Legend : U - final flag setting for installation]
[        : I - package is installed with flag     ]
[ Colors : set, unset                             ]
 * Found these USE flags for media-libs/mesa-11.0.0_rc2:
 U I
 + + abi_x86_32           : 32-bit (x86) libraries
 + + bindist              : Disable patent-encumbered ARB_texture_float, EXT_texture_shared_exponent, and EXT_packed_float extensions.
 + + classic              : Build drivers based on the classic architecture.
...

Even better, I had the bindist use flag enabled globally. After removing it from make.conf, I also disabled the classic use flag for media-libs/mesa in package.use and remerged mesa:

~ $ DRI_PRIME=0 glxinfo | grep -i opengl
OpenGL vendor string: X.Org
OpenGL renderer string: Gallium 0.4 on AMD ARUBA (DRM 2.43.0, LLVM 3.7.0)
OpenGL core profile version string: 3.3 (Core Profile) Mesa 11.0.0-rc2
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.0-rc2
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.0-rc2
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00

~ $ DRI_PRIME=1 glxinfo | grep -i opengl                                                                                                                         
OpenGL vendor string: X.Org
OpenGL renderer string: Gallium 0.4 on AMD PITCAIRN (DRM 2.43.0, LLVM 3.7.0)
OpenGL core profile version string: 4.1 (Core Profile) Mesa 11.0.0-rc2
OpenGL core profile shading language version string: 4.10
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.0-rc2
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.0-rc2
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.