Black Screen after install Zorin OS 16.2 (based Ubuntu 20.04)

Distribution: Zorin OS 16.2 Pro (based on Ubuntu 20.04)
Kernel version: 5.15.0-60-generic
NVIDIA driver version: 470.161.03

I have an Acer Nitro 5 with an integrated Intel HD Graphics 630 and a dedicated GTX1050 (Mobile) graphics card. I use an LG Ultrawide 29 75hz monitor with my laptop.

Two days ago, I reinstalled Zorin OS 16.2 from scratch, after updating all drivers I went to configure the nvidia-settings to stop screen tearing. I enabled the Force Composition Pipeline and saved the Xorg configuration. When I restarted the system, my laptop’s screen (Built-in Display) was off (black screen). Only my LG Ultrawide monitor gets activated when I save the xorg.conf settings.

I’ve been trying all day to understand why nvidia-settings failed to generate the configuration for my laptop’s screen.

Now I have removed the xorg.conf file from the /etc/X11/ folder to be able to use both screens but I have screen tearing.

I saw that there are several topics about this here in the forum, but they have not solved the problem for me to be able to activate the Force Composition Pipeline and use my laptop screen at the same time.

I apologize for any mistakes, I am a bit inexperienced on the subject but I am starting to understand something. If you can help me, I would greatly appreciate it.

This is my xorg.conf generated by nvidia-settings

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 470.57.01

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "0"
EndSection

Section "Files"
EndSection

Section "Module"
    Load           "dbe"
    Load           "extmod"
    Load           "type1"
    Load           "freetype"
    Load           "glx"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "LG Electronics LG ULTRAWIDE"
    HorizSync       90.0 - 90.0
    VertRefresh     40.0 - 75.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "NVIDIA GeForce GTX 1050"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-0"
    Option         "metamodes" "2560x1080_75 +0+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

I send my nvidia log
nvidia-log.txt (2.2 MB)

You have a hybrid graphics system so you mustn’t have an xorg.conf
To get rid of screen tearing on the internal display, please enable prime sync by setting kernel parameter
nvidia-drm.modeset=1
To enable forcecompositionpipeline on the external connectors, create /etc/X11/xorg.conf.d/nvidia-forcecomp.conf

Section "OutputClass"
    Identifier "nvidia forcecompositionpipeline"
    MatchDriver "nvidia-drm"
    Driver "nvidia"
    Option "ForceCompositionPipeline" "true"
EndSection
1 Like

And how to verify that these settings are working?

I run the
sudo update-initramfs -u

and then edited the grub in

/etc/default/grub

I edited the following line

GRUB_CMDLINE_LINUX_DEFAULT=“quiet splash nvidia-drm.modeset=1”

sudo cat /sys/module/nvidia_drm/parameters/modeset

should return ‘Y’ if done right and xrandr --verbose displays
PRIME Synchronization: 1

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.