O que há com a lista insana de dependências para os drivers proprietários da nvidia?
Eu tenho tentado fazer com que os contêineres GUI LXC funcionem, mas isso é outra história. É principalmente relevante porque é a razão pela qual eu quero que os drivers sejam capazes de conduzir um monitor, mas não tragam todas as armadilhas de um desktop.
No processo de tentar diferentes versões/fontes de driver, notei que o Gnome continuava sendo instalado. De fato, até a versão do servidor dos drivers da nvidia traz uma lista maluca de dependências. Eu realmente preciso de toda essa porcaria? Como descubro que porcaria eu realmente preciso? Isso vem da Nvidia ou dos mantenedores do repositório do Universo?
sudo apt install --dry-run nvidia-driver-470-server | less
Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
acl adwaita-icon-theme apg aptdaemon aptdaemon-data aspell aspell-en
at-spi2-core avahi-daemon avahi-utils bluez bolt bubblewrap build-essential
cheese-common colord colord-data cpp cpp-9 cracklib-runtime cups-pk-helper
dbus-user-session dbus-x11 dconf-cli dconf-gsettings-backend dconf-service
dctrl-tools desktop-file-utils dictionaries-common dirmngr dkms
dns-root-data dnsmasq-base docbook-xml dpkg-dev emacsen-common enchant-2
evolution-data-server evolution-data-server-common fakeroot fontconfig
fprintd g++ g++-9 gcc gcc-9 gcc-9-base gcr gdm3 geoclue-2.0
gir1.2-accountsservice-1.0 gir1.2-atk-1.0 gir1.2-atspi-2.0
gir1.2-freedesktop gir1.2-gck-1 gir1.2-gcr-3 gir1.2-gdesktopenums-3.0
gir1.2-gdkpixbuf-2.0 gir1.2-gdm-1.0 gir1.2-geoclue-2.0
gir1.2-gnomebluetooth-1.0 gir1.2-gnomedesktop-3.0 gir1.2-graphene-1.0
gir1.2-gtk-3.0 gir1.2-gweather-3.0 gir1.2-ibus-1.0 gir1.2-json-1.0
gir1.2-mutter-6 gir1.2-nm-1.0 gir1.2-nma-1.0 gir1.2-notify-0.7
gir1.2-packagekitglib-1.0 gir1.2-pango-1.0 gir1.2-polkit-1.0 gir1.2-rsvg-2.0
gir1.2-secret-1 gir1.2-soup-2.4 gir1.2-upowerglib-1.0 gir1.2-vte-2.91 gjs
gkbd-capplet glib-networking glib-networking-common glib-networking-services
gnome-control-center gnome-control-center-data gnome-control-center-faces
gnome-desktop3-data gnome-keyring gnome-keyring-pkcs11 gnome-menus
gnome-online-accounts gnome-session-bin gnome-session-common
gnome-settings-daemon gnome-settings-daemon-common gnome-shell
gnome-shell-common gnome-startup-applications gnome-user-docs gnupg
gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client gpg-wks-server gpgconf
gpgsm gsettings-desktop-schemas gstreamer1.0-clutter-3.0 gstreamer1.0-gl
gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-pulseaudio
gstreamer1.0-x gtk-update-icon-cache hicolor-icon-theme humanity-icon-theme
hunspell-en-us ibus ibus-data ibus-gtk ibus-gtk3 iio-sensor-proxy im-config
ippusbxd language-selector-gnome libaa1 libalgorithm-diff-perl
libalgorithm-diff-xs-perl libalgorithm-merge-perl libappindicator3-1
libappstream4 libarchive13 libasan5 libasound2-plugins libaspell15
libassuan0 libasyncns0 libatk-bridge2.0-0 libatk1.0-0 libatk1.0-data
libatomic1 libatspi2.0-0 libavahi-client3 libavahi-common-data
libavahi-common3 libavahi-core7 libavahi-glib1 libavc1394-0 libbluetooth3
libboost-thread1.71.0 libc-dev-bin libc6-dev libcaca0 libcairo-gobject2
libcamel-1.2-62 libcanberra-gtk3-0 libcanberra-gtk3-module libcanberra-pulse
libcc1-0 libcdparanoia0 libcheese-gtk25 libcheese8 libclutter-1.0-0
libclutter-1.0-common libclutter-gst-3.0-0 libclutter-gtk-1.0-0
libcogl-common libcogl-pango20 libcogl-path20 libcogl20 libcolord-gtk1
libcolord2 libcolorhug2 libcrack2 libcrypt-dev libcups2 libcurl3-gnutls
libdaemon0 libdatrie1 libdbusmenu-glib4 libdbusmenu-gtk3-4 libdconf1
libdpkg-perl libdrm-amdgpu1 libdrm-intel1 libdrm-nouveau2 libdrm-radeon1
libdv4 libebackend-1.2-10 libebook-1.2-20 libebook-contacts-1.2-3
libecal-2.0-1 libedata-book-1.2-26 libedata-cal-2.0-1 libedataserver-1.2-24
libedataserverui-1.2-2 libegl-mesa0 libegl1 libenchant-2-2 libepoxy0
libexif12 libfakeroot libfile-fcntllock-perl libflac8 libfontenc1
libfprint-2-2 libgail-common libgail18 libgbm1 libgcc-9-dev libgck-1-0
libgcr-base-3-1 libgcr-ui-3-1 libgd3 libgdata-common libgdata22
libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-bin libgdk-pixbuf2.0-common libgdm1
libgee-0.8-2 libgeoclue-2-0 libgeocode-glib0 libgjs0g libgl1 libgl1-mesa-dri
libglapi-mesa libgles2 libglib2.0-bin libglvnd0 libglx-mesa0 libglx0
libgnome-autoar-0-0 libgnome-bluetooth13 libgnome-desktop-3-19
libgnomekbd-common libgnomekbd8 libgoa-1.0-0b libgoa-1.0-common
libgoa-backend-1.0-1 libgomp1 libgphoto2-6 libgphoto2-l10n libgphoto2-port12
libgraphene-1.0-0 libgraphite2-3 libgsound0 libgssdp-1.2-0
libgstreamer-gl1.0-0 libgstreamer-plugins-base1.0-0
libgstreamer-plugins-good1.0-0 libgstreamer1.0-0 libgtk-3-0 libgtk-3-bin
libgtk-3-common libgtk2.0-0 libgtk2.0-bin libgtk2.0-common libgtop-2.0-11
libgtop2-common libgupnp-1.2-0 libgupnp-av-1.0-2 libgupnp-dlna-2.0-3
libgusb2 libgweather-3-16 libgweather-common libharfbuzz-icu0 libharfbuzz0b
libhunspell-1.7-0 libhyphen0 libibus-1.0-5 libical3 libice6 libidn11
libiec61883-0 libieee1284-3 libinput-bin libinput10 libisl22 libitm1
libjack-jackd2-0 libjansson4 libjavascriptcoregtk-4.0-18 libjbig0
libjpeg-turbo8 libjpeg8 libjson-glib-1.0-0 libjson-glib-1.0-common libksba8
liblcms2-2 libldb2 libllvm12 liblsan0 libmbim-glib4 libmbim-proxy
libmediaart-2.0-0 libmm-glib0 libmozjs-68-0 libmp3lame0 libmpc3 libmpfr6
libmpg123-0 libmtdev1 libmutter-6-0 libmysqlclient21 libndp0
libnl-route-3-200 libnm0 libnma0 libnotify4 libnpth0 libnspr4 libnss-mdns
libnss3 libnvidia-cfg1-470-server libnvidia-common-470-server
libnvidia-compute-470-server libnvidia-decode-470-server
libnvidia-encode-470-server libnvidia-extra-470-server
libnvidia-fbc1-470-server libnvidia-gl-470-server libnvidia-ifr1-470-server
libopenjp2-7 libopus0 liborc-0.4-0 libpackagekit-glib2-18 libpam-fprintd
libpam-gnome-keyring libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0
libpangoxft-1.0-0 libpcsclite1 libphonenumber7 libprotobuf17 libproxy1v5
libpulse-mainloop-glib0 libpulse0 libpulsedsp libpwquality-common
libpwquality1 libqmi-glib5 libqmi-proxy libquadmath0 libraw1394-11
librest-0.7-0 librsvg2-2 librsvg2-common librygel-core-2.6-2
librygel-db-2.6-2 librygel-renderer-2.6-2 librygel-server-2.6-2
libsamplerate0 libsane libsane-common libsbc1 libsecret-1-0 libsecret-common
libshout3 libsm6 libsmbclient libsnapd-glib1 libsndfile1 libsnmp-base
libsnmp35 libsoup-gnome2.4-1 libsoup2.4-1 libsoxr0 libspeex1 libspeexdsp1
libstartup-notification0 libstdc++-9-dev libstemmer0d libtag1v5
libtag1v5-vanilla libtalloc2 libteamdctl0 libtevent0 libthai-data libthai0
libtheora0 libtiff5 libtsan0 libtwolame0 libubsan1 libudisks2-0 libv4l-0
libv4lconvert0 libvdpau1 libvisual-0.4-0 libvorbisenc2 libvpx6 libvte-2.91-0
libvte-2.91-common libvulkan1 libwacom-bin libwacom-common libwacom2
libwavpack1 libwayland-client0 libwayland-cursor0 libwayland-egl1
libwayland-server0 libwbclient0 libwebkit2gtk-4.0-37 libwebp6 libwebpdemux2
libwebrtc-audio-processing1 libwhoopsie-preferences0 libwhoopsie0 libwoff1
libx11-xcb1 libxatracker2 libxaw7 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0
libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-present0 libxcb-randr0
libxcb-render-util0 libxcb-res0 libxcb-shape0 libxcb-sync1 libxcb-util1
libxcb-xfixes0 libxcb-xkb1 libxcb-xv0 libxcomposite1 libxcursor1 libxdamage1
libxfixes3 libxfont2 libxft2 libxi6 libxinerama1 libxkbcommon-x11-0
libxkbcommon0 libxkbfile1 libxklavier16 libxmu6 libxpm4 libxrandr2
libxshmfence1 libxslt1.1 libxss1 libxt6 libxtst6 libxv1 libxvmc1 libxxf86vm1
libyelp0 linux-libc-dev manpages-dev mesa-vdpau-drivers mesa-vulkan-drivers
mobile-broadband-provider-info modemmanager mousetweaks mutter mutter-common
mysql-common network-manager network-manager-gnome network-manager-pptp
nvidia-compute-utils-470-server nvidia-dkms-470-server
nvidia-kernel-common-470-server nvidia-kernel-source-470-server nvidia-prime
nvidia-settings nvidia-utils-470-server p11-kit p11-kit-modules packagekit
packagekit-tools patch pinentry-curses pinentry-gnome3 pkg-config ppp
pptp-linux pulseaudio pulseaudio-module-bluetooth pulseaudio-utils
python3-aptdaemon python3-aptdaemon.gtk3widgets python3-cairo python3-cups
python3-cupshelpers python3-defer python3-ibus-1.0 python3-ldb
python3-macaroonbakery python3-protobuf python3-rfc3339 python3-talloc
python3-tz python3-xkit rtkit rygel samba-libs sane-utils
screen-resolution-extra session-migration sgml-base sgml-data
switcheroo-control system-config-printer system-config-printer-common
system-config-printer-udev ubuntu-docs ubuntu-mono ubuntu-session
ubuntu-wallpapers ubuntu-wallpapers-focal unzip update-inetd usb-modeswitch
usb-modeswitch-data vdpau-driver-all wamerican whoopsie-preferences
wpasupplicant x11-common x11-xkb-utils x11-xserver-utils xdg-dbus-proxy
xfonts-base xfonts-encodings xfonts-utils xml-core xserver-common
xserver-xephyr xserver-xorg xserver-xorg-core xserver-xorg-input-all
xserver-xorg-input-libinput xserver-xorg-input-wacom xserver-xorg-legacy
xserver-xorg-video-all xserver-xorg-video-amdgpu xserver-xorg-video-ati
xserver-xorg-video-fbdev xserver-xorg-video-intel xserver-xorg-video-nouveau
xserver-xorg-video-nvidia-470-server xserver-xorg-video-qxl
xserver-xorg-video-radeon xserver-xorg-video-vesa xserver-xorg-video-vmware
xwayland yaru-theme-gnome-shell yelp yelp-xsl zenity zenity-common
Quando instalei a partir do arquivo .run baixado do site da Nvidia, também acabei com pedaços do Gnome.
Vejo que um pacote diferente nvidia-headless-470-server
tem uma lista de dependências muito mais razoável, mas preciso que ele seja compatível com gráficos, pois estará conduzindo aplicativos GUI. Mas de preferência usando X sem gerenciador de janelas.
Meu palpite é que a dependência de configurações da nvidia está exigindo a maioria dos outros. "nvidia-settings" é uma GUI e é apenas uma dependência recomendada. Seu instalador de pacotes pode ter uma maneira de ignorar dependências "recomendadas" e "sugeridas". Você também pode ignorá-los ao instalar pacotes a partir da linha de comando usando as opções corretas.