You are not logged in.
I daily drive nvidia proprietary drivers (1660S).
Recently fumbled upon nouveau. Tried it yesterday. Archwiki states that mesa provides DRI 3d acceleration. Hence no other package necessary.
I've read that nouveau has weaker performance than the proprietary ones. I indeed noticed some tears on i3 (but not on sway though).
My requirements/workflow/idealogies are:
1. stick to FOSS
2. minimal
3. stable
4. no gaming
5. office work & browsing
Only thing I'm missing is video acceleration on mpv / firefox (previously had libva-nvidia-drivers).
Is it possible to workaround this ? Does nouveau have video acceleration capabilities ?
Last edited by asklow (2023-12-22 13:21:03)
Offline
Theorethically, but generally not that performant. For your usecase it "should" suffice. Not sure how well video decoding works, you'll want libva-mesa-driver in any case. and you'll need to nvidia firmware blob so nouveau can access the relevant functionality: https://wiki.archlinux.org/title/Hardwa … ion#NVIDIA
Last edited by V1del (2023-12-22 14:03:16)
Offline
$[~]$ cat /etc/environment
__GL_GSYNC_ALLOWED=0
__GL_SYNC_TO_VBLANK=0
__GL_VRR_ALLOWED=0
LIBVA_DRIVER_NAME=nouveau
MOZ_DISABLE_RDD_SANDBOX=1
NVD_BACKEND=direct
VDPAU_DRIVER=nouveau
$[~]$ pacman -Qe | grep 'libva\|mesa\|vdpau\|nouveau'
libva-mesa-driver 1:23.3.1-1
libva-utils 2.20.1-1
mesa-vdpau 1:23.3.1-1
nouveau-fw 340.108-1
vdpauinfo 1.5-1
$[~]$ ls /usr/lib/dri/
crocus_dri.so iris_dri.so r300_dri.so radeonsi_drv_video.so vmwgfx_dri.so
d3d12_dri.so kms_swrast_dri.so r600_dri.so swrast_dri.so zink_dri.so
d3d12_drv_video.so nouveau_dri.so r600_drv_video.so virtio_gpu_dri.so
i915_dri.so nouveau_drv_video.so radeonsi_dri.so virtio_gpu_drv_video.so
$[~]$ vainfo
Trying display: wayland
vainfo: VA-API version: 1.20 (libva 2.20.1)
vainfo: Driver version: Mesa Gallium driver 23.3.1-arch1.1 for NV168
vainfo: Supported profile and entrypoints
VAProfileNone : VAEntrypointVideoProc
$[~]$ vdpauinfo
display: :0 screen: 0
API version: 1
Information string: G3DVL VDPAU Driver Shared Library version 1.0
Video surface:
name width height types
-------------------------------------------
420 16384 16384 NV12 YV12
422 16384 16384 UYVY YUYV
444 16384 16384 Y8U8V8A8 V8U8Y8A8
420_16 16384 16384
422_16 16384 16384
444_16 16384 16384
Decoder capabilities:
name level macbs width height
----------------------------------------------------
MPEG1 --- not supported ---
MPEG2_SIMPLE --- not supported ---
MPEG2_MAIN --- not supported ---
H264_BASELINE --- not supported ---
H264_MAIN --- not supported ---
H264_HIGH --- not supported ---
VC1_SIMPLE --- not supported ---
VC1_MAIN --- not supported ---
VC1_ADVANCED --- not supported ---
MPEG4_PART2_SP --- not supported ---
MPEG4_PART2_ASP --- not supported ---
DIVX4_QMOBILE --- not supported ---
DIVX4_MOBILE --- not supported ---
DIVX4_HOME_THEATER --- not supported ---
DIVX4_HD_1080P --- not supported ---
DIVX5_QMOBILE --- not supported ---
DIVX5_MOBILE --- not supported ---
DIVX5_HOME_THEATER --- not supported ---
DIVX5_HD_1080P --- not supported ---
H264_CONSTRAINED_BASELINE --- not supported ---
H264_EXTENDED --- not supported ---
H264_PROGRESSIVE_HIGH --- not supported ---
H264_CONSTRAINED_HIGH --- not supported ---
H264_HIGH_444_PREDICTIVE --- not supported ---
VP9_PROFILE_0 --- not supported ---
VP9_PROFILE_1 --- not supported ---
VP9_PROFILE_2 --- not supported ---
VP9_PROFILE_3 --- not supported ---
HEVC_MAIN --- not supported ---
HEVC_MAIN_10 --- not supported ---
HEVC_MAIN_STILL --- not supported ---
HEVC_MAIN_12 --- not supported ---
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 ---
$[~]$ cat /boot/loader/entries/arch-zen.conf | grep 'options'
options cryptdevice=/dev/nvme0n1p2:cryptlvm root=/dev/cryptlvm/root rw pci=noaer nowatchdog
VAProfiles & VDPAUProfiles are unsupported. I'm not sure what I'm missing here.
Btw. GTX1660S comes under NV160 & support doesn't seems to be there.
If it doesn't work, nouveau probably ain't for me I guess. If I can't offload playback to GPU, my other work suffers.
Last edited by asklow (2023-12-22 15:22:54)
Offline
Have you tried the modesetting DDX driver? Remove xf86-video-nouveau to test.
"The nation-state domesticates the society in the name of capitalism and alienates the community from its natural foundations."
— Democratic Confederalism, Abdullah Öcalan.
Offline
Remove xf86-video-nouveau to test.
As you saw in the above pacman -Qe grep command, xf86-video-nouveau isn't even installed.
Have you tried the modesetting DDX driver?
What's the modeset variable for DDX ? Asking caz I didn't find any relevant info in archwiki.
Offline
As you saw in the above pacman -Qe grep command, xf86-video-nouveau isn't even installed.
Yes, of course. Totally missed that. Sorry.
So how do you expect to use nouveau if the driver isn't installed? You are probably using modesetting now, check the logs to verify.
"The nation-state domesticates the society in the name of capitalism and alienates the community from its natural foundations."
— Democratic Confederalism, Abdullah Öcalan.
Offline
If it doesn't work, nouveau probably ain't for me I guess.
1. stick to FOSS
You can try nvidia-open for a compromise: it still has some caveats but will get you better performance than nouveau.
Online
So how do you expect to use nouveau if the driver isn't installed? You are probably using modesetting now, check the logs to verify.
Did already
~ $ cat /etc/mkinitcpio.conf | grep "modules="
MODULES=(nouveau)
~ $ journalctl -kr | grep nouveau
Dec 23 01:58:22 arch kernel: snd_hda_intel 0000:01:00.1: bound 0000:01:00.0 (ops nv50_audio_component_bind_ops [nouveau])
Dec 23 01:58:21 arch kernel: nouveau 0000:01:00.0: DRM: Disabling PCI power management to avoid bug
Dec 23 01:58:21 arch kernel: nouveau 0000:01:00.0: [drm] fb0: nouveaudrmfb frame buffer device
Dec 23 01:58:21 arch kernel: fbcon: nouveaudrmfb (fb0) is primary device
Dec 23 01:58:21 arch kernel: [drm] Initialized nouveau 1.4.0 20120801 for 0000:01:00.0 on minor 0
Dec 23 01:58:21 arch kernel: nouveau 0000:01:00.0: DRM: MM: using COPY for buffer copies
Dec 23 01:58:21 arch kernel: nouveau 0000:01:00.0: DRM: DCB conn 04: 00001431
Dec 23 01:58:21 arch kernel: nouveau 0000:01:00.0: DRM: DCB conn 01: 00010161
Dec 23 01:58:21 arch kernel: nouveau 0000:01:00.0: DRM: DCB conn 00: 00020046
Dec 23 01:58:21 arch kernel: nouveau 0000:01:00.0: DRM: DCB outp 07: 01044f32 04620030
Dec 23 01:58:21 arch kernel: nouveau 0000:01:00.0: DRM: DCB outp 03: 02011f52 00020010
Dec 23 01:58:21 arch kernel: nouveau 0000:01:00.0: DRM: DCB outp 01: 02000f62 04620020
Dec 23 01:58:21 arch kernel: nouveau 0000:01:00.0: DRM: DCB outp 00: 02800f66 04600020
Dec 23 01:58:21 arch kernel: nouveau 0000:01:00.0: DRM: DCB version 4.1
Dec 23 01:58:21 arch kernel: nouveau 0000:01:00.0: DRM: TMDS table version 2.0
Dec 23 01:58:21 arch kernel: nouveau 0000:01:00.0: DRM: BIT table 'L' not found
Dec 23 01:58:21 arch kernel: nouveau 0000:01:00.0: DRM: BIT table 'A' not found
Dec 23 01:58:21 arch kernel: nouveau 0000:01:00.0: DRM: GART: 536870912 MiB
Dec 23 01:58:21 arch kernel: nouveau 0000:01:00.0: DRM: VRAM: 6144 MiB
Dec 23 01:58:21 arch kernel: nouveau 0000:01:00.0: fb: 6144 MiB GDDR6
Dec 23 01:58:21 arch kernel: nouveau 0000:01:00.0: pmu: firmware unavailable
Dec 23 01:58:21 arch kernel: nouveau 0000:01:00.0: bios: version 90.16.42.00.c2
Dec 23 01:58:21 arch kernel: nouveau 0000:01:00.0: NVIDIA TU116 (168000a1)
Dec 23 01:58:21 arch kernel: nouveau 0000:01:00.0: vgaarb: deactivate vga console
As you saw in my comment #3 vainfo/vdpauinfo, drivers did load. But profiles don't exist. Does NV160 video decode TODO actually means it's incomplete ?
You can try nvidia-open for a compromise: it still has some caveats but will get you better performance than nouveau.
I was actually on nvidia-open as daily driver before. userspace is still proprietary though. Not much of an issue but, I'm exploring nouveau. If it gave similar results I might hop in.
Last edited by asklow (2023-12-22 20:43:37)
Offline
Did already
That's the kernel driver. I was referring to the DDX driver, which is what will be used for desktop videos under X. Doesn't apply to sway though so I'm probably on the wrong track here.
"The nation-state domesticates the society in the name of capitalism and alienates the community from its natural foundations."
— Democratic Confederalism, Abdullah Öcalan.
Offline
That's the kernel driver. I was referring to the DDX driver, which is what will be used for desktop videos under X. Doesn't apply to sway though so I'm probably on the wrong track here.
Kernel driver is enough for nouveau btw. Mesa DRI drivers actually do provide API to decode video stuff.
Btw I did try xf86-video-nouveau & it's the same result. No profiles supported. Could NV160 TODO means it's still in work ? Would we expect video decode accel in future ?
Tq for these btw. Will learn.
Last edited by asklow (2023-12-22 21:09:06)
Offline
Could NV160 TODO means it's still in work ?
"todo" means "this still needs to be done" - whether and how the nouveau development continues w/ nvidia-open on the stage is anyones guess and certainly my magic 8-ball isn't better than the next guys.
nvidia/linux might just settle on nvidia-open becoming an in-tree driver and don't give two fucks about what happens in the userspace and then there may or not be some degree of mesa support or you'll have to use the proprietary userspace to actually do something w/ the GPU (an extreme version of the AMDPRO situation)
"Prediction is difficult - particularly when it involves the future."
--- Mark Twain or maybe somebody else and he stole it.
Online
Nshittia drivers don't allow us sit in the driver seat. No tnx. Nouview literally throws me back into the trunk. Very tnx.
Offline