Jump to content
funtoo forums
  • 0
walterw

[SOLVED] poor performance on Funtoo 1.4 with intel graphics

Question

When playing a video, I noticed that I apparently am lacking opengl acceleration as the video plays terribly slowly.

 

My package use flags:

media-libs/mesa bindist -gallium -d3d9 -llvm
x11-base/xorg-server glamor glvnd udev

 

Part of my make.conf

CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=ivybridge -O2 -pipe"
CXXFLAGS="${CFLAGS}"
CPU_FLAGS_X86="aes avx mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3"
MAKEOPTS="-j5"
USE="opengl X xinerama dbus gtk gtk3 -gnome-keyring"
VIDEO_CARDS=""
SANE_BACKENDS=""
LINGUAS=""

 

I have the gfxcard-intel mix-in enabled, so my VIDEO_CARDS should be set to all intel.  Additionally, I have followed the guide here to my knowledge and have installed libva-intel-driver: https://www.funtoo.org/Make.conf/VIDEO_CARDS/Mix-ins.

 

Is there something else I'm missing?  This was working fine on 1.3 and I believe I had manually set the VIDEO_CARDS setting then as there may not have been a mix-in.

 

Share this post


Link to post
Share on other sites

6 answers to this question

Recommended Posts

  • 0

1.4-release

You must either completely remove VIDEO_CARDS=" "  from make.conf or put a comment in front of it like this #VIDEO_CARDS=" " or it overrides the gfxcard-intel mix-ins setting configuration.

cat /var/git/meta-repo/kits/core-kit/profiles/funtoo/1.0/linux-gnu/mix-ins/gfxcard-intel/make.defaults
VIDEO_CARDS="intel vulkan-intel dri3 i965 i915"
USE="xa xvmc vaapi vdpau"

Remove all  use flag settings you have for mesa, xorg-server, or any other graphics components in make.conf or elsewhere as it overrides the correct tested settings in the gfxcard-intel mix-ins profile that has been verified to provide direct hardware gpu rendering. 

gfxcard-intel mix-ins you should see these use flags and VIDEO_CARD settings :

rj@funtoo ~ $ emerge -pvuDN world

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R    ] x11-base/xorg-drivers-1.20::xorg-kit  INPUT_DEVICES="evdev keyboard mouse synaptics -elographics -joystick -libinput -tslib -vmmouse -void -wacom" VIDEO_CARDS="fbdev i915* i965* intel* -amdgpu -ast -dummy (-freedreno) -gallium-radeonsi -gallium-tegra (-geode) -glint -mga -nouveau -nv -nvidia (-omap) -qxl -r128 -radeon* -radeonsi -siliconmotion (-tdfx) (-tegra) (-vc4) -vesa -via -virtualbox -vmware (-voodoo)" 0 KiB
[ebuild   R    ] x11-libs/libdrm-2.4.98::core-gl-kit  USE="libkms -abi_riscv_lp64 -abi_riscv_lp64d -valgrind" VIDEO_CARDS="intel* -amdgpu (-exynos) (-freedreno) -nouveau (-omap) -radeon* (-tegra) (-vc4) (-vivante) -vmware" 0 KiB
[ebuild  N     ] x11-drivers/xf86-video-intel-2.99.917_p20190301::core-gl-kit  USE="dri sna udev xvmc -debug -tools -uxa" 1,219 KiB
[ebuild   R    ] sys-power/pm-utils-1.4.1-r7::core-kit  USE="alsa -debug -ntp" VIDEO_CARDS="intel* -radeon*" 0 KiB
[ebuild   R    ] x11-libs/libva-2.2.0:0/2::xorg-kit  USE="X drm opengl vdpau -abi_riscv_lp64 -abi_riscv_lp64d -utils -wayland" VIDEO_CARDS="i965* intel* -nouveau -nvidia" 0 KiB
[ebuild  N     ] x11-libs/libva-intel-driver-2.2.0::xorg-kit  USE="X -abi_riscv_lp64 -abi_riscv_lp64d -wayland" 3,874 KiB
[ebuild   R    ] media-libs/mesa-19.1.4::core-gl-kit  USE="(X) (drm) (egl) (gbm) (gles1) (gles2) (glvnd) (glx) (llvm) (ocl-icd) (opengl) (shader-cache) (surfaceless) -alternate-path -android -d3d9 -debug -extra-hud -haiku -opencl -pax_kernel -pic (-selinux) -sensors -test -unwind -valgrind -wayland" CPU_FLAGS_X86="-avx -avx2 -avx512bw -avx512er" VIDEO_CARDS="dri3* i915* i965* intel* (osmesa) (swrast) vaapi vdpau vulkan-intel* xa xvmc -amdgpu -gallium-freedreno -gallium-i915 -gallium-imx -gallium-nouveau -gallium-osmesa -gallium-pl111 -gallium-r300 -gallium-r600* -gallium-radeonsi -gallium-swr -gallium-swrast -gallium-tegra -gallium-v3d -gallium-vc4 -gallium-virgl -gallium-vivante -gallium-vmware -nouveau -openmax -r100 -r200 -radeon* -virgl -vulkan-amdgpu" 0 KiB

Total: 7 packages (2 new, 5 reinstalls), Size of downloads: 5,092 KiB
rj@funtoo ~ $ emerge -pv xorg-server

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R    ] x11-base/xorg-server-1.20.5-r2:0/1.20.5::xorg-kit  USE="glamor glvnd ipv6 kdrive udev xephyr xorg -debug -dmx -doc -libressl -minimal (-selinux) -static-libs -systemd -unwind -wayland -xcsecurity -xnest -xvfb" 0 KiB

My grahics card requires the gfxcard-radeon mix-ins which I removed before adding gfxcard-intel.

Any use flag or VIDEO_CARD addition due to adding intel or subtraction due to removal of radeon  has an asterisk *

As you can see mesa requires +gallium and +llvm which you had disabled in make.conf

Share this post


Link to post
Share on other sites
  • 0

Thanks, for catching that.  I'll make those changes and report back.  My make.conf is automatically generated by a utility ... that said I am no longer writing empty values (such as VIDEO_CARD=""), but instead have this:

HOST="x86_64-pc-linux-gnu"
CFLAGS="-march=ivybridge -O2 -pipe"
CXXFLAGS="${CFLAGS}"
CPU_FLAGS_X86="aes avx mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3"
MAKEOPTS="-j5"



# patches below here
# kernel
USE="${USE} symlink -fortran -openmp acpi"


 

The other changes I made were:

->=x11-base/xorg-server-1.17.4-r2 xvfb
+#>=x11-base/xorg-server-1.17.4-r2 xvfb

 

-media-libs/mesa bindist -gallium -d3d9 -llvm
-x11-base/xorg-server glamor glvnd udev
+#media-libs/mesa bindist -gallium -d3d9 -llvm
+#x11-base/xorg-server glamor glvnd udev

 

 

Share this post


Link to post
Share on other sites
  • 0

@cardinal Hmm, yes you answered everything exactly right, but that should default to i965 and not use gallium. Just build out the old gallium i915 and intel driver. Won't know until you start an X session and check logs to see if its using i965 or not.

Share this post


Link to post
Share on other sites
  • 0

@bcowan

The gfxcard-intel mix-ins has no idea what specific intel hardware it's configuring for so why should it default to i965 ?

It includes i915 that requires gallium so it adds that use flag.

You could write a specific mix-ins for each intel driver but then the user would have to identify their hardware and choose the correct driver.

In this case every intel driver is built so it improves the odds of success.

Share this post


Link to post
Share on other sites
  • 0

@cardinal yes, I just worded it weird and confusing I guess. I'm saying that when he runs X it should use i965 for ivybridge gen procs, if not there is an issue 🙂

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...