Nvidia 555 Stable

Okay so im going step by step and ill edit this post each time

  1. Gamemode, installed, rebooted and its fine
  2. protonup-qt is fine
  3. Im not guna bother with mangohud, never really used it

I have hardware acceleration also enabled. It’s mostly provided by the nvidia-utils package but some packages to install and set up to verify it’s working. You also have to set a couple environmental variables.

As an example:

[ricklinux@asus-tuff ~]$ vainfo
Trying display: wayland
vainfo: VA-API version: 1.21 (libva 2.22.0)
vainfo: Driver version: VA-API NVDEC driver [direct backend]
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointVLD
      VAProfileVP9Profile0            : VAEntrypointVLD
      VAProfileHEVCMain10             : VAEntrypointVLD
      VAProfileHEVCMain12             : VAEntrypointVLD
[ricklinux@asus-tuff ~]$ vdpauinfo
display: :0   screen: 0
API version: 1
Information string: NVIDIA VDPAU Driver Shared Library  555.58  Tue Jun 18 20:22:00 UTC 2024

Video surface:

name   width height types
-------------------------------------------
420     8192  8192  NV12 YV12 
422     8192  8192  UYVY YUYV 
444     8192  8192  NV24 YV24 
420_16  8192  8192  P010 P016 
422_16  8192  8192  UYVY YUYV 
444_16  8192  8192  Y_U_V_444_16 

Decoder capabilities:

name                        level macbs width height
----------------------------------------------------
MPEG1                           0 65536  4096  4096
MPEG2_SIMPLE                    3 65536  4096  4096
MPEG2_MAIN                      3 65536  4096  4096
H264_BASELINE                  51 65536  4096  4096
H264_MAIN                      51 65536  4096  4096
H264_HIGH                      51 65536  4096  4096
VC1_SIMPLE                      1  8190  2048  2048
VC1_MAIN                        2  8190  2048  2048
VC1_ADVANCED                    4  8190  2048  2048
MPEG4_PART2_SP                  3  8192  2048  2048
MPEG4_PART2_ASP                 5  8192  2048  2048
DIVX4_QMOBILE                   0  8192  2048  2048
DIVX4_MOBILE                    0  8192  2048  2048
DIVX4_HOME_THEATER              0  8192  2048  2048
DIVX4_HD_1080P                  0  8192  2048  2048
DIVX5_QMOBILE                   0  8192  2048  2048
DIVX5_MOBILE                    0  8192  2048  2048
DIVX5_HOME_THEATER              0  8192  2048  2048
DIVX5_HD_1080P                  0  8192  2048  2048
H264_CONSTRAINED_BASELINE      51 65536  4096  4096
H264_EXTENDED                  51 65536  4096  4096
H264_PROGRESSIVE_HIGH          51 65536  4096  4096
H264_CONSTRAINED_HIGH          51 65536  4096  4096
H264_HIGH_444_PREDICTIVE       51 65536  4096  4096
VP9_PROFILE_0                   1 262144  8192  8192
VP9_PROFILE_1                  --- not supported ---
VP9_PROFILE_2                  --- not supported ---
VP9_PROFILE_3                  --- not supported ---
HEVC_MAIN                      153 262144  8192  8192
HEVC_MAIN_10                   153 262144  8192  8192
HEVC_MAIN_STILL                --- not supported ---
HEVC_MAIN_12                   153 262144  8192  8192
HEVC_MAIN_444                  --- not supported ---
HEVC_MAIN_444_10               --- not supported ---
HEVC_MAIN_444_12               --- not supported ---
AV1_MAIN                       --- not supported ---
AV1_HIGH                       --- not supported ---
AV1_PROFESSIONAL               --- not supported ---

Output surface:

name              width height nat types
----------------------------------------------------
B8G8R8A8         32768 32768    y  Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8 
R10G10B10A2      32768 32768    y  Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8 

Bitmap surface:

name              width height
------------------------------
B8G8R8A8         32768 32768
R8G8B8A8         32768 32768
R10G10B10A2      32768 32768
B10G10R10A2      32768 32768
A8               32768 32768

Video mixer:

feature name                    sup
------------------------------------
DEINTERLACE_TEMPORAL             y
DEINTERLACE_TEMPORAL_SPATIAL     y
INVERSE_TELECINE                 y
NOISE_REDUCTION                  y
SHARPNESS                        y
LUMA_KEY                         y
HIGH QUALITY SCALING - L1        y
HIGH QUALITY SCALING - L2        -
HIGH QUALITY SCALING - L3        -
HIGH QUALITY SCALING - L4        -
HIGH QUALITY SCALING - L5        -
HIGH QUALITY SCALING - L6        -
HIGH QUALITY SCALING - L7        -
HIGH QUALITY SCALING - L8        -
HIGH QUALITY SCALING - L9        -

parameter name                  sup      min      max
-----------------------------------------------------
VIDEO_SURFACE_WIDTH              y         1     8192
VIDEO_SURFACE_HEIGHT             y         1     8192
CHROMA_TYPE                      y  
LAYERS                           y         0        4

attribute name                  sup      min      max
-----------------------------------------------------
BACKGROUND_COLOR                 y  
CSC_MATRIX                       y  
NOISE_REDUCTION_LEVEL            y      0.00     1.00
SHARPNESS_LEVEL                  y     -1.00     1.00
LUMA_KEY_MIN_LUMA                y  
LUMA_KEY_MAX_LUMA                y  

interesting, i dont have either of those commands available

Yes, as i say you have to install a few packages and set a few environmental variables. If interested i could walk you through it although i don’t think it’s needed for gaming. Mostly i thinking video streaming stuff.

https://wiki.archlinux.org/title/Hardware_video_acceleration

You can read through this but the drift of it is you need to install.

libva-nvidia-driver
libva-utils
vpauinfo

Then add the following to /etc/environment

LIBVA_DRIVER_NAME=nvidia
VDPAU_DRIVER=nvidia

Then reboot and you should be able to run the commands to verify hardware acceleration.

vainfo

vdpauinfo

1 Like

Ooo thanks, ill have a read through that now

Okay so a quick one, booted in this morning and ran a sudo pacman -Syu

[luke@luke-ms7c91 Games]$ sudo pacman -Syu
:: Synchronising package databases...
 endeavouros is up to date
 core is up to date
 extra                                   7.9 MiB  36.4 MiB/s 00:00 [------------------------------------] 100%
 multilib is up to date
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...

Package (3)         Old Version  New Version  Net Change  Download Size

extra/dav1d         1.4.2-1      1.4.3-1        0.00 MiB       0.62 MiB
extra/libavif       1.0.4-3      1.0.4-4        0.02 MiB       0.16 MiB
extra/nvidia-utils  555.58-1     555.58-2       0.00 MiB     220.08 MiB

Total Download Size:   220.86 MiB
Total Installed Size:  618.64 MiB
Net Upgrade Size:        0.02 MiB

:: Proceed with installation? [Y/n] 

I noticed this came through, im a bit aprehensive as maybe this was the cause of my problems? The -2 version of the driver

This did not work at all…

Just curious, can you show the contents of file:
/etc/pacman.d/mirrorlist

[luke@luke-ms7c91 Movies]$ cat /etc/pacman.d/mirrorlist
################################################################################
################# Arch Linux mirrorlist generated by Reflector #################
################################################################################
# With:       reflector --verbose -c GB --protocol https --protocol http --sort rate --latest 20 --download-timeout 10 --threads 10
# When:       2024-06-29 21:50:12 UTC
# From:       https://archlinux.org/mirrors/status/json/
# Retrieved:  2024-06-29 21:45:36 UTC
# Last Check: 2024-06-29 21:24:27 UTC

## United Kingdom
Server = https://repo.slithery.uk/$repo/os/$arch

## United Kingdom
Server = http://mirror.netweaver.uk/archlinux/$repo/os/$arch

## United Kingdom
Server = http://archlinux.uk.mirror.allworldit.com/archlinux/$repo/os/$arch

## United Kingdom
Server = http://mirrors.gethosted.online/archlinux/$repo/os/$arch

## United Kingdom
Server = https://lon.mirror.rackspace.com/archlinux/$repo/os/$arch

## United Kingdom
Server = https://mirror.cov.ukservers.com/archlinux/$repo/os/$arch

## United Kingdom
Server = https://archlinux.uk.mirror.allworldit.com/archlinux/$repo/os/$arch

## United Kingdom
Server = http://mirrors.manchester.m247.com/arch-linux/$repo/os/$arch

## United Kingdom
Server = http://mirror.cov.ukservers.com/archlinux/$repo/os/$arch

## United Kingdom
Server = https://mirrors.gethosted.online/archlinux/$repo/os/$arch

## United Kingdom
Server = http://lon.mirror.rackspace.com/archlinux/$repo/os/$arch

## United Kingdom
Server = http://mirror.bytemark.co.uk/archlinux/$repo/os/$arch

## United Kingdom
Server = http://mirrors.melbourne.co.uk/archlinux/$repo/os/$arch

## United Kingdom
Server = https://www.mirrorservice.org/sites/ftp.archlinux.org/$repo/os/$arch

## United Kingdom
Server = https://mirrors.melbourne.co.uk/archlinux/$repo/os/$arch

## United Kingdom
Server = https://mirror.vinehost.net/archlinux/$repo/os/$arch

## United Kingdom
Server = http://mirror.vinehost.net/archlinux/$repo/os/$arch

## United Kingdom
Server = http://www.mirrorservice.org/sites/ftp.archlinux.org/$repo/os/$arch

## United Kingdom
Server = https://mirror.st2projects.com/archlinux/$repo/os/$arch

## United Kingdom
Server = https://mirror.bytemark.co.uk/archlinux/$repo/os/$arch

Thanks.
Mirrors can be a bit troublesome to set right. I just tested GB mirrors and it seems mirror

Server = https://archlinux.uk.mirror.allworldit.com/archlinux/$repo/os/$arch

is updated very well compared to other GB mirrors. But note, this may change over time, so you might want to experiment it at times.

So you could manually add the Server line above as the first mirror in your
/etc/pacman.d/mirrorlist file and then run command

sudo pacman -Syyu

and test if it helps with getting updates sooner than before.

Okay will add that to the top, im very apprehensive about running this update, but will give it a go

Okoay it updated and im rebooted in, butthole was clenched :smiley: but seems its all good

1 Like

Yes i updated and got nvidia-dkms and nvidia-utils version 555.58-2.

Its a happy day when i no longer see any black screens :smiley:

1 Like

Could you summarise what you did? I’d like to get the latest drivers without the black screen too while still having Steam installed.

Well i did a fresh os install.
then slowly took it from there with updates first and then rebooted
i also made sure to install the lib32 drivers as instructed above before installing steam.
that was about it tbh, installed gamemode as well. I restarted after every step for sanity checks and to check nothing was broken

What do you mean by install lib32 drivers as instructed? Sorry, I can’t read the discussion very well. There’s gotta be a way to adapt this for me with Steam installed without explicitly installing lib32.

Okay ill list out the steps i did

  1. Wiped the system and reinstalled Endeavour OS
  2. Installed any updates using pacman and rebooted
  3. Installed lib32-nvidia-utils doing sudo pacman -S lib32-nvidia-utils and then rebooted
  4. Installed steam with sudo pacman -S steam and then rebooted
  5. Ran inxi -Ga for sanity checks to make sure i was on the new drivers
  6. Installed gamemode and then rebooted
  7. Installed protonup-qt and then rebotoed

Now i dont get any form of black screen

Huh… if only there was some way to completely revert the Steam installation because I’m insanely stumped.