Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 903925 - x11-terms/alacritty-0.12.0 and previous: alacritty SHOULD depend upon video driver
Summary: x11-terms/alacritty-0.12.0 and previous: alacritty SHOULD depend upon video d...
Status: RESOLVED CANTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Georgy Yakovlev
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-04-06 19:07 UTC by Phil Stracchino (Unix Ronin)
Modified: 2023-04-11 18:48 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Phil Stracchino (Unix Ronin) 2023-04-06 19:07:50 UTC
I didn't notice this until today when my list of updates includes both x11-terms/alacritty-0.12.0::gentoo AND x11-drivers/nvidia-drivers-525.105.17:0/525::gentoo.  alacritty clearly depends upon the accelerated video driver, and should be updated **after** it.  But portage wants to update alacritty **first**, because it doesn't know that alacritty depends on x11-drivers/nvidia-drivers.  I presume that part of the problem here is that alacritty can be built against any of several different accelerated video drivers.

I don't know what's the best fix here.  USE flags for the possible accelerated video drivers perhaps?  Or is it better to make it DEPEND upon "any of [...]"?

For today I'm just working around it by manually updating x11-drivers/nvidia-drivers first.
Comment 1 Georgy Yakovlev archtester gentoo-dev 2023-04-07 23:29:58 UTC
I don’t think order matters as alacritty should not link to those libraries. I do not have nvidia system though, so idk how it behaves there. 
Can you paste output of 

lddtree /usr/bin/alacritty

From an nvidia system? 

Also it probably can work on llvmpipe without real driver.
Opengl virtual is deprecated afaik, it should use glvnd, but I need to verify it.
Comment 2 Phil Stracchino (Unix Ronin) 2023-04-08 01:07:15 UTC
(In reply to Georgy Yakovlev from comment #1)
> I don’t think order matters as alacritty should not link to those libraries.
> I do not have nvidia system though, so idk how it behaves there. 
> Can you paste output of 
> 
> lddtree /usr/bin/alacritty
> 
> From an nvidia system? 
> 
> Also it probably can work on llvmpipe without real driver.
> Opengl virtual is deprecated afaik, it should use glvnd, but I need to
> verify it.


babylon5:alaric:~:1 $ lddtree /usr/bin/alacritty
alacritty => /usr/bin/alacritty (interpreter => /lib64/ld-linux-x86-64.so.2)
    libfreetype.so.6 => /usr/lib64/libfreetype.so.6
        libz.so.1 => /lib64/libz.so.1
        libbz2.so.1 => /lib64/libbz2.so.1
        libpng16.so.16 => /usr/lib64/libpng16.so.16
        libharfbuzz.so.0 => /usr/lib64/libharfbuzz.so.0
            libgraphite2.so.3 => /usr/lib64/libgraphite2.so.3
            libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0
                libpcre2-8.so.0 => /lib64/libpcre2-8.so.0
    libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1
        libexpat.so.1 => /usr/lib64/libexpat.so.1
    libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/12/libgcc_s.so.1
    libm.so.6 => /lib64/libm.so.6
        ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2
    libc.so.6 => /lib64/libc.so.6


The behavior I have seen is that if I update x11-drivers/nvidia-drivers, and then try to start an alacritty BEFORE rebooting the system to load the newly-updated nVidia driver, then alacritty fails to start, complaining that the nVidia driver version does not match.  So there seems to be *some* kind of interdependency there.  I suppose it's possible that it may not be a compile-time dependency.
Comment 3 Phil Stracchino (Unix Ronin) 2023-04-08 01:15:03 UTC
It may be that I'm worrying over nothing, and just overthought it when for the first time ever since I've been using them, both packages updated on the same day.
Comment 4 Georgy Yakovlev archtester gentoo-dev 2023-04-11 18:48:23 UTC
this error comes from nvidia lib itself, not alacritty.


unfortunately that's known issue with nvidia-drivers where kernel and userspace HAS to match.

it also makes it impossible to load older kernel with older nvidia on updated userspace and get to desktop, at least I hit it multiple times when I had nvidia card long ago.

nothing we can do here, no kind of dep can solve it. the only way is to reboot with kernel nvidia part matching installed lib AFAIK.

https://github.com/alacritty/alacritty/issues/4887


if you have dual-gpu hybrid laptop with integrated GPU like intel - you can actually make alacritty always use integrated one via glvnd.

https://github.com/alacritty/alacritty/issues/6366 - start here for pointers.


if you have a desktop with integrated gpu not connected or without one - well, don't buy nvidia next time =)

good luck.