JackGreenEarth,

   ~  cat /etc/udev/rules.d/61-gdm.rules  ✔ cat: /etc/udev/rules.d/61-gdm.rules: No such file or directory    ~  cat /usr/lib/udev/rules.d/61-gdm.rules  1 ✘ SUBSYSTEM!=“pci”, GOTO=“gdm_pci_device_end” ACTION!=“bind”, ACTION!=“add”, GOTO=“gdm_pci_device_end”


<span style="color:#323232;"># cirrus
</span><span style="color:#323232;">ATTR{vendor}=="0x1013", ATTR{device}=="0x00b8", ATTR{subsystem_vendor}=="0x1af4", ATTR{subsystem_device}=="0x1100", RUN+="/usr/bin/touch /run/udev/gdm-machine-has-virtual-gpu", ENV{GDM_MACHINE_HAS_VIRTUAL_GPU}="1", GOTO="gdm_pci_device_end"
</span><span style="color:#323232;"># virtio
</span><span style="color:#323232;">ATTR{vendor}=="0x1af4", ATTR{device}=="0x1050", ATTR{subsystem_vendor}=="0x1af4", ATTR{subsystem_device}=="0x1100", RUN+="/usr/bin/touch /run/udev/gdm-machine-has-virtual-gpu", ENV{GDM_MACHINE_HAS_VIRTUAL_GPU}="1", GOTO="gdm_pci_device_end"
</span><span style="color:#323232;"># qxl
</span><span style="color:#323232;">ATTR{vendor}=="0x1b36", ATTR{device}=="0x0100", RUN+="/usr/bin/touch /run/udev/gdm-machine-has-virtual-gpu", ENV{GDM_MACHINE_HAS_VIRTUAL_GPU}="1", GOTO="gdm_pci_device_end"
</span><span style="color:#323232;"># vga
</span><span style="color:#323232;">ATTR{vendor}=="0x1234", ATTR{device}=="0x1111", RUN+="/usr/bin/touch /run/udev/gdm-machine-has-virtual-gpu", ENV{GDM_MACHINE_HAS_VIRTUAL_GPU}="1", GOTO="gdm_pci_device_end"
</span><span style="color:#323232;">
</span><span style="color:#323232;"># disable Wayland on Hi1710 chipsets
</span><span style="color:#323232;">ATTR{vendor}=="0x19e5", ATTR{device}=="0x1711", GOTO="gdm_disable_wayland"
</span><span style="color:#323232;">
</span><span style="color:#323232;"># disable Wayland on Matrox chipsets
</span><span style="color:#323232;">ATTR{vendor}=="0x102b", ATTR{device}=="0x0522", GOTO="gdm_disable_wayland"
</span><span style="color:#323232;">ATTR{vendor}=="0x102b", ATTR{device}=="0x0524", GOTO="gdm_disable_wayland"
</span><span style="color:#323232;">ATTR{vendor}=="0x102b", ATTR{device}=="0x0530", GOTO="gdm_disable_wayland"
</span><span style="color:#323232;">ATTR{vendor}=="0x102b", ATTR{device}=="0x0532", GOTO="gdm_disable_wayland"
</span><span style="color:#323232;">ATTR{vendor}=="0x102b", ATTR{device}=="0x0533", GOTO="gdm_disable_wayland"
</span><span style="color:#323232;">ATTR{vendor}=="0x102b", ATTR{device}=="0x0534", GOTO="gdm_disable_wayland"
</span><span style="color:#323232;">ATTR{vendor}=="0x102b", ATTR{device}=="0x0536", GOTO="gdm_disable_wayland"
</span><span style="color:#323232;">ATTR{vendor}=="0x102b", ATTR{device}=="0x0538", GOTO="gdm_disable_wayland"
</span><span style="color:#323232;">
</span><span style="color:#323232;"># disable Wayland on aspeed chipsets
</span><span style="color:#323232;">ATTR{vendor}=="0x1a03", ATTR{device}=="0x2010", GOTO="gdm_disable_wayland"
</span><span style="color:#323232;">ATTR{vendor}=="0x1a03", ATTR{device}=="0x2000", GOTO="gdm_disable_wayland"
</span><span style="color:#323232;">
</span><span style="color:#323232;">LABEL="gdm_pci_device_end"
</span><span style="color:#323232;">
</span><span style="color:#323232;"># disable Wayland if modesetting is disabled
</span><span style="color:#323232;">KERNEL!="card[0-9]*", GOTO="gdm_nomodeset_end"
</span><span style="color:#323232;">KERNEL=="card[0-9]-*", GOTO="gdm_nomodeset_end"
</span><span style="color:#323232;">SUBSYSTEM!="drm", GOTO="gdm_nomodeset_end"
</span><span style="color:#323232;"># but keep it enabled for simple framebuffer drivers
</span><span style="color:#323232;">DRIVERS=="simple-framebuffer", GOTO="gdm_nomodeset_end"
</span><span style="color:#323232;">IMPORT{parent}="GDM_MACHINE_HAS_VIRTUAL_GPU"
</span><span style="color:#323232;">ENV{GDM_MACHINE_HAS_VIRTUAL_GPU}!="1", RUN+="/usr/bin/touch /run/udev/gdm-machine-has-hardware-gpu"
</span><span style="color:#323232;">IMPORT{cmdline}="nomodeset", GOTO="gdm_disable_wayland"
</span><span style="color:#323232;">LABEL="gdm_nomodeset_end"
</span><span style="color:#323232;">
</span><span style="color:#323232;"># The vendor nvidia driver has multiple modules that need to be loaded before GDM can make an
</span><span style="color:#323232;"># informed choice on which way to proceed, so force GDM to wait until NVidia's modules are
</span><span style="color:#323232;"># loaded before starting up.
</span><span style="color:#323232;">KERNEL!="nvidia", GOTO="gdm_nvidia_end"
</span><span style="color:#323232;">SUBSYSTEM!="module", GOTO="gdm_nvidia_end"
</span><span style="color:#323232;">ACTION!="add", GOTO="gdm_nvidia_end"
</span><span style="color:#323232;">RUN+="/usr/bin/touch /run/udev/gdm-machine-has-vendor-nvidia-driver"
</span><span style="color:#323232;">
</span><span style="color:#323232;"># Check if suspend/resume services necessary for working wayland support is available
</span><span style="color:#323232;">TEST{0711}!="/usr/bin/nvidia-sleep.sh", GOTO="gdm_disable_wayland"
</span><span style="color:#323232;">TEST{0711}!="/usr/lib/systemd/system-sleep/nvidia", GOTO="gdm_disable_wayland"
</span><span style="color:#323232;">IMPORT{program}="/bin/sh -c "sed -e 's/: /=/g' -e 's/([^[:upper:]])([[:upper:]])/1_2/g' -e 's/[[:lower:]]/U&amp;/g' -e 's/^/NVIDIA_/' /proc/driver/nvidia/params""
</span><span style="color:#323232;">ENV{NVIDIA_PRESERVE_VIDEO_MEMORY_ALLOCATIONS}!="1", GOTO="gdm_disable_wayland"
</span><span style="color:#323232;">IMPORT{program}="/bin/sh -c 'echo NVIDIA_HIBERNATE=`systemctl is-enabled nvidia-hibernate`'"
</span><span style="color:#323232;">ENV{NVIDIA_HIBERNATE}!="enabled", GOTO="gdm_disable_wayland"
</span><span style="color:#323232;">IMPORT{program}="/bin/sh -c 'echo NVIDIA_RESUME=`systemctl is-enabled nvidia-resume`'"
</span><span style="color:#323232;">ENV{NVIDIA_RESUME}!="enabled", GOTO="gdm_disable_wayland"
</span><span style="color:#323232;">IMPORT{program}="/bin/sh -c 'echo NVIDIA_SUSPEND=`systemctl is-enabled nvidia-suspend`'"
</span><span style="color:#323232;">ENV{NVIDIA_SUSPEND}!="enabled", GOTO="gdm_disable_wayland"
</span><span style="color:#323232;">LABEL="gdm_nvidia_end"
</span><span style="color:#323232;">
</span><span style="color:#323232;"># If this machine has an internal panel, take note, since it's probably a laptop
</span><span style="color:#323232;"># FIXME: It could be "ghost connectors" make this pop positive for some workstations
</span><span style="color:#323232;"># in the wild. If so, we may have to fallback to looking at the chassis type from
</span><span style="color:#323232;"># dmi data or acpi
</span><span style="color:#323232;">KERNEL!="card[0-9]-eDP-*", GOTO="gdm_laptop_check_end"
</span><span style="color:#323232;">SUBSYSTEM!="drm", GOTO="gdm_laptop_check_end"
</span><span style="color:#323232;">ACTION!="add", GOTO="gdm_laptop_check_end"
</span><span style="color:#323232;">RUN+="/usr/bin/touch /run/udev/gdm-machine-is-laptop"
</span><span style="color:#323232;">GOTO="gdm_hybrid_nvidia_laptop_check"
</span><span style="color:#323232;">LABEL="gdm_laptop_check_end"
</span><span style="color:#323232;">
</span><span style="color:#323232;"># If this is a hybrid graphics setup, take note
</span><span style="color:#323232;">KERNEL!="card[1-9]*", GOTO="gdm_hybrid_graphics_check_end"
</span><span style="color:#323232;">KERNEL=="card[1-9]-*", GOTO="gdm_hybrid_graphics_check_end"
</span><span style="color:#323232;">SUBSYSTEM!="drm", GOTO="gdm_hybrid_graphics_check_end"
</span><span style="color:#323232;">ACTION!="add", GOTO="gdm_hybrid_graphics_check_end"
</span><span style="color:#323232;">IMPORT{program}="/bin/sh -c "echo GDM_NUMBER_OF_GRAPHICS_CARDS=`ls -1d /sys/class/drm/card[0-9] | wc -l`""
</span><span style="color:#323232;">ENV{GDM_NUMBER_OF_GRAPHICS_CARDS}=="1", RUN+="/usr/bin/rm -f /run/udev/gdm-machine-has-hybrid-graphics"
</span><span style="color:#323232;">ENV{GDM_NUMBER_OF_GRAPHICS_CARDS}!="1", RUN+="/usr/bin/touch /run/udev/gdm-machine-has-hybrid-graphics"
</span><span style="color:#323232;">LABEL="gdm_hybrid_graphics_check_end"
</span><span style="color:#323232;">
</span><span style="color:#323232;"># If this is a hybrid graphics laptop with vendor nvidia driver, disable wayland
</span><span style="color:#323232;">LABEL="gdm_hybrid_nvidia_laptop_check"
</span><span style="color:#323232;">TEST!="/run/udev/gdm-machine-is-laptop", GOTO="gdm_hybrid_nvidia_laptop_check_end"
</span><span style="color:#323232;">TEST!="/run/udev/gdm-machine-has-hybrid-graphics", GOTO="gdm_hybrid_nvidia_laptop_check_end"
</span><span style="color:#323232;">TEST!="/run/udev/gdm-machine-has-vendor-nvidia-driver", GOTO="gdm_hybrid_nvidia_laptop_check_end"
</span><span style="color:#323232;">GOTO="gdm_disable_wayland"
</span><span style="color:#323232;">LABEL="gdm_hybrid_nvidia_laptop_check_end"
</span><span style="color:#323232;">
</span><span style="color:#323232;"># Disable wayland in situation where we're in a guest with a virtual gpu and host passthrough gpu
</span><span style="color:#323232;">LABEL="gdm_virt_passthrough_check"
</span><span style="color:#323232;">TEST!="/run/udev/gdm-machine-has-hybrid-graphics", GOTO="gdm_virt_passthrough_check_end"
</span><span style="color:#323232;">TEST!="/run/udev/gdm-machine-has-virtual-gpu", GOTO="gdm_virt_passthrough_check_end"
</span><span style="color:#323232;">TEST!="/run/udev/gdm-machine-has-hardware-gpu", GOTO="gdm_virt_passthrough_check_end"
</span><span style="color:#323232;">GOTO="gdm_disable_wayland"
</span><span style="color:#323232;">LABEL="gdm_virt_passthrough_check_end"
</span><span style="color:#323232;">
</span><span style="color:#323232;"># Disable wayland when there are multiple virtual gpus
</span><span style="color:#323232;">LABEL="gdm_virt_multi_gpu_check"
</span><span style="color:#323232;">TEST!="/run/udev/gdm-machine-has-hybrid-graphics", GOTO="gdm_virt_multi_gpu_check_end"
</span><span style="color:#323232;">TEST!="/run/udev/gdm-machine-has-virtual-gpu", GOTO="gdm_virt_multi_gpu_check_end"
</span><span style="color:#323232;">TEST=="/run/udev/gdm-machine-has-hardware-gpu", GOTO="gdm_virt_multi_gpu_check_end"
</span><span style="color:#323232;">LABEL="gdm_virt_multi_gpu_check_end"
</span><span style="color:#323232;">
</span><span style="color:#323232;"># Disable wayland when nvidia modeset is disabled or when drivers are a lower
</span><span style="color:#323232;"># version than 470,
</span><span style="color:#323232;"># For versions above 470 but lower than 510 prefer Xorg,
</span><span style="color:#323232;"># Above 510, prefer Wayland.
</span><span style="color:#323232;">KERNEL!="nvidia_drm", GOTO="gdm_nvidia_drm_end"
</span><span style="color:#323232;">SUBSYSTEM!="module", GOTO="gdm_nvidia_drm_end"
</span><span style="color:#323232;">ACTION!="add", GOTO="gdm_nvidia_drm_end"
</span><span style="color:#323232;"># disable wayland if nvidia-drm modeset is not enabled
</span><span style="color:#323232;">ATTR{parameters/modeset}!="Y", GOTO="gdm_disable_wayland"
</span><span style="color:#323232;"># disable wayland for nvidia drivers versions lower than 470
</span><span style="color:#323232;">ATTR{version}=="4[0-6][0-9].*|[0-3][0-9][0-9].*|[0-9][0-9].*|[0-9].*", GOTO="gdm_disable_wayland"
</span><span style="color:#323232;"># For nvidia drivers versions Above 510, keep Wayland by default
</span><span style="color:#323232;">ATTR{version}=="[5-9][1-9][0-9].*", GOTO="gdm_end"
</span><span style="color:#323232;"># For nvidia drivers versions 470-495, prefer Xorg by default
</span><span style="color:#323232;">GOTO="gdm_prefer_xorg"
</span><span style="color:#323232;">LABEL="gdm_nvidia_drm_end"
</span><span style="color:#323232;">
</span><span style="color:#323232;">GOTO="gdm_end"
</span><span style="color:#323232;">
</span><span style="color:#323232;">LABEL="gdm_prefer_xorg"
</span><span style="color:#323232;">RUN+="/usr/lib/gdm-runtime-config set daemon PreferredDisplayServer xorg"
</span><span style="color:#323232;">GOTO="gdm_end"
</span><span style="color:#323232;">
</span><span style="color:#323232;">LABEL="gdm_disable_wayland"
</span><span style="color:#323232;">RUN+="/usr/lib/gdm-runtime-config set daemon WaylandEnable false"
</span><span style="color:#323232;">GOTO="gdm_end"
</span><span style="color:#323232;">
</span><span style="color:#323232;">LABEL="gdm_end"
</span>
  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • wartaberita
  • uselessserver093
  • Food
  • aaaaaaacccccccce
  • [email protected]
  • test
  • CafeMeta
  • testmag
  • MUD
  • RhythmGameZone
  • RSS
  • dabs
  • TheResearchGuardian
  • Ask_kbincafe
  • KbinCafe
  • Testmaggi
  • Socialism
  • feritale
  • oklahoma
  • SuperSentai
  • KamenRider
  • All magazines