Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[SOLVED] Intel Iris and Compositing
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Desktop Environments
View previous topic :: View next topic  
Author Message
EinsteinTaylor
n00b
n00b


Joined: 09 Dec 2022
Posts: 7

PostPosted: Fri Dec 09, 2022 4:20 pm    Post subject: [SOLVED] Intel Iris and Compositing Reply with quote

I've got a Galaxy Book2 Pro 360 and the only thing left for a really nice setup is compositing. I have VIDEO_CARDS="intel", I *do not* have the xf86-video-intel driver package installed.

GLXInfo reports direct rendering is enabled...however in KDE, most of the "candy" type desktop effects (magic lamp, etc...) are hidden as not supported. I can't find anything that tells me if the Alder Lake Intel Iris is incapable of those effects, or if I have just missed setting something up somewhere along the way.

This is a systemd build FWIW...

Would appreciate any help that could be offered.


Last edited by EinsteinTaylor on Fri Dec 16, 2022 7:05 pm; edited 1 time in total
Back to top
View user's profile Send private message
mike155
Advocate
Advocate


Joined: 17 Sep 2010
Posts: 4438
Location: Frankfurt, Germany

PostPosted: Fri Dec 09, 2022 11:06 pm    Post subject: Reply with quote

Hi EinsteinTaylor,

welcome to the Gentoo forums!

Please post the output of
Code:
emerge --info

Mike
Back to top
View user's profile Send private message
EinsteinTaylor
n00b
n00b


Joined: 09 Dec 2022
Posts: 7

PostPosted: Wed Dec 14, 2022 3:45 am    Post subject: Reply with quote

Sorry for the delay...hadn't picked up this laptop in a bit.

Here is the output of emerge --info

Code:

Portage 3.0.41 (python 3.10.9-final-0, default/linux/amd64/17.1/systemd, gcc-11.3.0, glibc-2.36-r5, 6.0.11-gentoo-x86_64 x86_64)
=================================================================
System uname: Linux-6.0.11-gentoo-x86_64-x86_64-12th_Gen_Intel-R-_Core-TM-_i7-1260P-with-glibc2.36
KiB Mem:    15988292 total,   8597148 free
KiB Swap:    8388604 total,   8388604 free
Timestamp of repository gentoo: Wed, 14 Dec 2022 03:00:01 +0000
Head commit of repository gentoo: 5f2ee690c0eca8bdf4bcfda166fa813147f7123f
sh bash 5.1_p16-r2
ld GNU ld (Gentoo 2.38 p4) 2.38
app-misc/pax-utils:        1.3.5::gentoo
app-shells/bash:           5.1_p16-r2::gentoo
dev-lang/perl:             5.34.1-r4::gentoo
dev-lang/python:           3.10.9::gentoo, 3.11.1::gentoo
dev-lang/rust:             1.65.0::gentoo
dev-util/cmake:            3.24.3::gentoo
dev-util/meson:            0.63.3::gentoo
sys-apps/baselayout:       2.9::gentoo
sys-apps/sandbox:          2.29::gentoo
sys-apps/systemd:          251.8::gentoo
sys-devel/autoconf:        2.71-r5::gentoo
sys-devel/automake:        1.16.5::gentoo
sys-devel/binutils:        2.38-r2::gentoo
sys-devel/binutils-config: 5.4.1::gentoo
sys-devel/gcc:             11.3.0::gentoo
sys-devel/gcc-config:      2.8::gentoo
sys-devel/libtool:         2.4.7::gentoo
sys-devel/llvm:            15.0.5::gentoo
sys-devel/make:            4.3::gentoo
sys-kernel/linux-headers:  5.15-r3::gentoo (virtual/os-headers)
sys-libs/glibc:            2.36-r5::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    sync-rsync-verify-max-age: 24
    sync-rsync-extra-opts:
    sync-rsync-verify-metamanifest: yes
    sync-rsync-verify-jobs: 1

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/var/cache/distfiles"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME"
FCFLAGS="-march=native -O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-march=native -O2 -pipe"
GENTOO_MIRRORS="https://mirrors.rit.edu/gentoo/ http://mirrors.rit.edu/gentoo/ ftp://mirrors.rit.edu/gentoo/"
LANG="en_US"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j6"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
SHELL="/bin/bash"
USE="X acl acpi alsa amd64 bluetooth browser-integration bzip2 cli crypt dbus discover display-manager dri fortran gdbm grub gui iconv ipv6 kde kwallet libglvnd libtirpc multilib ncurses networkmanager nls nptl opengl openmp pam pcre plymouth pulseaudio qt5 readline seccomp smart sna split-usr ssl systemd test-rust thunderbolt udev unicode vaapi vulkan wallpapers widgets xattr zlib" ABI_X86="64" ADA_TARGET="gnat_2021" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-4 php8-0" POSTGRES_TARGETS="postgres12 postgres13" PYTHON_SINGLE_TARGET="python3_10" PYTHON_TARGETS="python3_10" RUBY_TARGETS="ruby27" USERLAND="GNU" VIDEO_CARDS="intel" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LEX, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS

Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54097
Location: 56N 3W

PostPosted: Wed Dec 14, 2022 10:51 am    Post subject: Reply with quote

EinsteinTaylor,

Pastebin the content of the Xorg.0.log file.
It may be in /var/log or in a hidden dir in /home/EinsteinTaylor/ It may even be in both.

Any current version will do to show what Xorg does on startup.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
mike155
Advocate
Advocate


Joined: 17 Sep 2010
Posts: 4438
Location: Frankfurt, Germany

PostPosted: Wed Dec 14, 2022 2:47 pm    Post subject: Reply with quote

Code:
default/linux/amd64/17.1/systemd

Most probably, some USE flags are missing.

You may want to switch to default/linux/amd64/17.1/desktop/plasma/systemd. Do you know how to do it?
Code:
eselect profile list
eselect profile set  <target>
Run
Code:
emerge --update --deep --changed-use -av @world

afterwards and reboot.
Back to top
View user's profile Send private message
EinsteinTaylor
n00b
n00b


Joined: 09 Dec 2022
Posts: 7

PostPosted: Thu Dec 15, 2022 1:58 am    Post subject: Reply with quote

Changed profiles to default/linux/amd64/17.1/desktop/plasma/systemd (stable) *
updated with --changed-use, rebooted. No change. Fall Apart, Wobbly windows, etc...still show unsupported.

Xorg log: https://pastebin.com/3bWatBxh
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54097
Location: 56N 3W

PostPosted: Thu Dec 15, 2022 10:04 am    Post subject: Reply with quote

EinsteinTaylor,

Looking at your log
Code:
[     7.369] (==) Matched intel as autoconfigured driver 0
[     7.369] (==) Matched modesetting as autoconfigured driver 1
[     7.369] (==) Matched fbdev as autoconfigured driver 2
[     7.369] (==) Matched vesa as autoconfigured driver 3

That's good, it the automatics doing its thing.

Code:
[     7.369] (II) LoadModule: "intel"
[     7.369] (WW) Warning, couldn't open module intel
[     7.369] (EE) Failed to load module "intel" (module does not exist, 0)
is expected. You don't have the intel driver (and others) installed.

Code:
[     7.372] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[     7.380] (II) modeset(0): using drv /dev/dri/card0
The modesetting driver found the kernel DRM control.

Code:
[     7.381] (==) modeset(0): Depth 24, (==) framebuffer bpp 32
[     7.381] (==) modeset(0): RGB weight 888

24 bit colour is good. Some systems try 30 bit colour but support is not complete.

Code:
[     7.514] (II) modeset(0): Refusing to try glamor on llvmpipe
[     7.515] (II) modeset(0): glamor initialization failed

looks wrong.

What does
Code:
ls -l /dev/dri/*
show?
For your normal user, what does
Code:
groups
show?
That's a long winded way to check that your normal user is in video group and the the permissions inside /dev/dri are correct.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
EinsteinTaylor
n00b
n00b


Joined: 09 Dec 2022
Posts: 7

PostPosted: Thu Dec 15, 2022 6:00 pm    Post subject: Reply with quote

ls -l /dev/dri/*

Code:

sean@vapor ~ $ ls -l /dev/dri/*
crw-rw----+ 1 root video  226,   0 Dec 15 06:50 /dev/dri/card0
crw-rw-rw-  1 root render 226, 128 Dec 15 06:50 /dev/dri/renderD128

/dev/dri/by-path:
total 0
lrwxrwxrwx 1 root root  8 Dec 15 06:50 pci-0000:00:02.0-card -> ../card0
lrwxrwxrwx 1 root root 13 Dec 15 06:50 pci-0000:00:02.0-render -> ../renderD128


groups
[
Code:

sean@vapor ~ $ groups
lp wheel audio video users lpadmin plugdev sean
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54097
Location: 56N 3W

PostPosted: Thu Dec 15, 2022 6:03 pm    Post subject: Reply with quote

EinsteinTaylor,

That's all good.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
mike155
Advocate
Advocate


Joined: 17 Sep 2010
Posts: 4438
Location: Frankfurt, Germany

PostPosted: Thu Dec 15, 2022 7:37 pm    Post subject: Reply with quote

The lines below look wrong as well:
Code:
[     7.615] (II) AIGLX: Screen 0 is not DRI2 capable
[     7.617] (II) IGLX: Loaded and initialized swrast
[     7.617] (II) GLX: Initialized DRISWRAST GL provider for screen 0

They should be:
Code:
[    71.176] (II) AIGLX: Loaded and initialized iris
[    71.176] (II) GLX: Initialized DRI2 GL provider for screen 0

Please post ...
  1. the output of
    Code:
    dmesg

  2. your kernel config.

Please use wgetpaste to post those files.

BTW: have you done everything shown on this page: https://wiki.gentoo.org/wiki/Intel?
Back to top
View user's profile Send private message
EinsteinTaylor
n00b
n00b


Joined: 09 Dec 2022
Posts: 7

PostPosted: Thu Dec 15, 2022 7:49 pm    Post subject: Reply with quote

I'm fairly confident that I did everything correctly from the Intel wiki but I certainly might have missed something.

Kernel config:
https://dpaste.com/45JKDVMZ3

Dmesg:
https://dpaste.com/49BGNV3BX

Thanks to everyone for looking. Long time gentoo user but first experience with the forums. This is great!
Back to top
View user's profile Send private message
mike155
Advocate
Advocate


Joined: 17 Sep 2010
Posts: 4438
Location: Frankfurt, Germany

PostPosted: Thu Dec 15, 2022 8:16 pm    Post subject: Reply with quote

dmesg shows firmware load errors:
Code:
[    2.721022] Loading firmware: i915/adlp_dmc_ver2_16.bin
[    2.721041] i915 0000:00:02.0: Direct firmware load for i915/adlp_dmc_ver2_16.bin failed with error -2
[    2.721045] i915 0000:00:02.0: [drm] Failed to load DMC firmware i915/adlp_dmc_ver2_16.bin. Disabling runtime power management.
[    2.721048] i915 0000:00:02.0: [drm] DMC firmware homepage: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915
[    2.745908] Loading firmware: i915/adlp_guc_70.bin
[    2.745938] Loading firmware: i915/adlp_guc_70.1.1.bin
[    2.745949] Loading firmware: i915/adlp_guc_69.0.3.bin
[    2.745960] i915 0000:00:02.0: GuC firmware i915/adlp_guc_70.bin: fetch failed with error -2
[    2.745964] i915 0000:00:02.0: Please file a bug on drm/i915; see https://gitlab.freedesktop.org/drm/intel/-/wikis/How-to-file-i915-bugs for details.
[    2.745968] i915 0000:00:02.0: [drm] GuC firmware(s) can be downloaded from https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915

Can you try to fix that? See: https://wiki.gentoo.org/wiki/Intel#Firmware
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54097
Location: 56N 3W

PostPosted: Thu Dec 15, 2022 9:24 pm    Post subject: Reply with quote

EinsteinTaylor,

Code:
CONFIG_EXTRA_FIRMWARE="i915/skl_dmc_ver1_27.bin"

Thats a good start. You need more listed there. Its a space separated list. My GPU needs 22 firmware files :(

You have microcode loading enabled in your kernel. Where do you provide the microcode?
There are three possible answers.
1. Oops I don't
2. In CONFIG_EXTRA_FIRMWARE
3. In its own initrd.

Code:
[    2.910649] i915 0000:00:02.0: Failed to initialize GPU, declaring it wedged!
We need to get rid of that but
Code:
[    2.721045] i915 0000:00:02.0: [drm] Failed to load DMC firmware i915/adlp_dmc_ver2_16.bin. Disabling runtime power management.
is 'mostly harmless'.

-- edit --

Code:
[    2.671592] Freeing initrd memory: 11032K

Putting the CPU microcode in there works too.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
EinsteinTaylor
n00b
n00b


Joined: 09 Dec 2022
Posts: 7

PostPosted: Fri Dec 16, 2022 6:03 am    Post subject: Reply with quote

It was not at all clear to me following the wiki that I would need more than just the 1 firmware. I’ll parse dmesg tomorrow and build all of them into the kernel.

In regards to Microcode, is that referring to the same thing or something different? I’m assuming all I need to do is list all the files in CONFIG_EXTRA, and rebuild kernel?
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54097
Location: 56N 3W

PostPosted: Fri Dec 16, 2022 11:48 am    Post subject: Reply with quote

EinsteinTaylor,

dmesg will only show the first firmware file for your video card that can't be found.
So you add that to the list, rinse and repeat.

The CPU microcode is similar but different.

For a long time now CPUs have used a RISC core and microcode to emulate a CISC CPU.
A version of the microcode is fused into slow read only memory inside the CPU. However, it has to execute the the full CPU core speed.
So that that can happen, during CPU reset, its copied to some much faster RAM, also inside the CPU.

As its in RAM, it can be updated.

As the motherboard firmware executes, before the boot loader is even loaded, it can update the CPU microcode from a copy in the BIOS ROM.
BIOS ROM updates may provide CPU firmware updates too.

The kernel can also update the firmware. There was both early and late firmware updating provided by the kernel. Late firmware updating has been abandoned.
The CPU microcode is really firmware for the CPU. Early microcode updating demands that the microcode be available before root is mounted.

Microcode updates are typically used to fix bugs in the CPU silicon.
That's an (in)famous example before the days of microcode updates.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
EinsteinTaylor
n00b
n00b


Joined: 09 Dec 2022
Posts: 7

PostPosted: Fri Dec 16, 2022 7:04 pm    Post subject: Reply with quote

You guys nailed it!. Had to do the dmesg/kernel build thing about 5 or 6 times but now I have the composting effects I was expecting to see!

Thanks a ton for the help! Learned something entirely new today.
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54097
Location: 56N 3W

PostPosted: Fri Dec 16, 2022 7:20 pm    Post subject: Reply with quote

EinsteinTaylor,

The rule of thumb is that all bits of a driver need to be in the same place, so that they can be brought together when the driver initialises.

All in the kernel binary works - you have that now.
All in the initrd (if you have one) works
All on the root filesystem, so a loadable module that is loaded after root is mounted and /lib/firmware can be read, works.

Not all drivers need to be handled the same way.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Desktop Environments All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum