modernize; cleanup; add usefull features work for video-intel , amdgpu, ati, nouveau

Closed Philip Müller requested to merge Tids:master into master

Created by: Tids

For a while now i provide mhwd-addon-amdgfx-hwe that adds vdpau,vaapi,vulkan and amdgpuexperimental support to manjaros mhwd installers. With the next version i would introduce video-intel+ support. But instead of also "forking" this, I've decided to bring this to manjaro mainline (because, why not?),

Our main issue in Manjaro right now are hybrid systems. On the Nvidia front (intel+nvidia) we can not do much. Bumblebee seems to be the best way. However, for everyone else we should kill bumblebee. Mesa now fully supports prime for all the free drivers and its working great.

To get in prime support we have to remove the BUSID parts of the xorg.conf files. Otherwise mesa tries to handle things as dual-head setup and users will land on a blackscreen or singlegraphics xserver (look at the forums [...])

Also the xconfig-files itself are outdated. Right now when mhwd creates a config file it looks like this

    ## Generated by mhwd - Manjaro Hardware Detection
    Section "Device"
    	Identifier  "Device0"
    	Driver      "intel|amdgpu|ati"
    	BusID       "PCI:0:2:0"
    	Option      "AccelMethod" "sna" <- only for intel
    	Option      "DRI"    "true"
    	Option "DRI" "3"
    Section "DRI"
            Group  "video"
            Mode   0666
    Section "Extensions"
    	Option "Composite" "Enable"
    	Option "RENDER"    "Enable"
    Section "InputClass"
    	Identifier          "Keyboard Defaults"
    	MatchIsKeyboard	    "yes"
    	Option              "XkbOptions" "terminate:ctrl_alt_bksp"
  • Section "InputClass" Option "XkbOptions" does not work on xorg-libinput-input (at least for me) (but I think thats something we should not provide anyways)
  • Section "Extensions" Option "Composite" and "RENDER" are enabled by default for years
  • Section "DRI" is also the default behavior for years
  • Section "Device" DRI3 is the default for intel, amdgpu and radeon/ati so we dont need that anymore. SNA is also the default for intel (sadly) and the BUSID is really not needed unless you want to have 2 displays on 2 graphicscards and your BIOS/UEFI dont have an own option to disable "PRIME"/ Hybrid Graphics.

So everything what we provide right now is not needed or not even wanted today, but i thinks it's important to have a working prime support out of the box.

Thats why thex wont create a xorg file anymore now.

The part that i dont know is on installation medias. Will mhwd load drivers with higher priority or lower priority? because on hybrid setups(like intel+ati) it should then load both drivers. It should work without (thanks to modesettings driver that is always the fallback) but thats not a clean setup after all.

for vdpau/vaapi/vulkan support:

I think thats only fair, because when you install the nvidia blob you will have full vdpau support, as well as openCL/CUDA and vulkan. we can not use mesas openCL since its really broken and many apps just crash when they try to use it (the situation will get better when intels new system is there and AMD also shipps the ROCm parts for openCL but in the meantime, better dont touch this.

When this is in, I'll also try to update the PCI-ID list for amdgpu, since we only support a few of them right now in manjaro, while i have already a bigger one in -hwe

Merge request reports