Linux displayport black screen

Using DisplayPort results in screen flickering and blacking out

My computer is running Arch, and I would like to use a single monitor via DisplayPort. The configuration works fine with an HDMI cable, but is limited to 30 frames per second on a 3840×2160 resolution. The hardware including the screen connected using a DisplayPort cable works properly when running Windows, so I’m not thinking about hardware issues. With the HDMI cable, everything works out-of-the-box: I log into my system, and KDE plasma is started via exec startplasma-x11 in the .xinitrc . If I connect the DisplayPort cable instead and then boot and login, I get flickering starting with the login window, and shortly after logging into my desktop the screen will turn black. I did find a way to get the monitor to be connected via DP: Login with HDMI connected, open a separate virtual console using Ctrl+Alt+F2 , change the cable, and do xrandr —auto , and then change back to the X login session. This way, the output is somewhat stable, but i still get flickering in the uppermost part of the screen (in particular with Electron apps such as Discord or Chrome, oddly). The configuration that xrandr chooses in this workaround is the one I would like to use per default, but without the flickering and without having to do the cable-switching. In this configuration, I have extracted the desired modeline via cvt 3840 2160 to write an entry to xorg.conf.d/10-monitor.conf :

Section "Monitor" Identifier "DisplayPort-1" Modeline "3840x2160_60.00" 712.75 3840 4160 4576 5312 2160 2163 2168 2237 -hsync +vsync Option "PreferredMode" "3840x2160_60.00" EndSection Section "Screen" Identifier "Screen0" Monitor "DisplayPort-1" DefaultDepth 24 SubSection "Display" Modes "3840x2160_60.00" EndSubSection EndSection Section "Device" Identifier "Device0" Driver "radeon" EndSection 
xrandr --output DisplayPort-1 --primary --mode 3840x2160 --rate 60.00 

to my .xinitrc . Nevertheless, I have not gotten rid of the problems at startup yet. How can I fix this? I am looking for a way to make my screen connect via DisplayPort on startup automatically. Is there a better way to do this? Edit: my journalctl -r log looks like this (excerpt):

Jul 29 09:25:36 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: Emitting configChanged() Jul 29 09:25:36 my_arch kded5[641]: bluedevil: ObexAgent registered Jul 29 09:25:36 my_arch kded5[641]: bluedevil: ObexManager operational changed true Jul 29 09:25:35 my_arch kded5[641]: Registering ":1.36/StatusNotifierItem" to system tray Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: Output 86 : connected = true , enabled = true Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: XRandROutput 86 update m_connected: 0 m_crtc XRandRCrtc(0x557123179780) CRTC: 79 MODE: 91 Connection: 0 Primary: true Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: Output 85 : connected = false , enabled = false Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: XRandROutput 85 update m_connected: 1 m_crtc QObject(0x0) CRTC: 0 MODE: 0 Connection: 1 Primary: false Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: Output 86 : connected = true , enabled = true Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: XRandROutput 86 update m_connected: 0 m_crtc XRandRCrtc(0x557123179780) CRTC: 79 MODE: 91 Connection: 0 Primary: true Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: Output 85 : connected = false , enabled = false Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: XRandROutput 85 update m_connected: 1 m_crtc QObject(0x0) CRTC: 0 MODE: 0 Connection: 1 Primary: false Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Subpixel Order: 1 Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Connection: "Connected" Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Rotation: "Rotate_0" Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Mode: 91 Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: CRTC: 79 Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Output: 86 Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: RRNotify_OutputChange Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Subpixel Order: 1 Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Connection: "Disconnected" Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Rotation: "Rotate_0" Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Mode: 0 Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: CRTC: 0 Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Output: 85 Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: RRNotify_OutputChange Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: SizeMM: 1016 571 Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Size: 3840 2160 Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Size ID: 0 Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Rotation: "Rotate_0" Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Root: 1731 Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Window: 44040197 Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: RRScreenChangeNotify Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Subpixel Order: 1 Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Connection: "Connected" Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Rotation: "Rotate_0" Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Mode: 91 Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: CRTC: 79 Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Output: 86 Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: RRNotify_OutputChange Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Subpixel Order: 1 Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Connection: "Disconnected" Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Rotation: "Rotate_0" Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Mode: 0 Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: CRTC: 0 Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Output: 85 Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: RRNotify_OutputChange Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: XRandR::setConfig done! Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: RRSetOutputPrimary New primary: 86 Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: XRandROutput 86 update m_connected: 0 m_crtc XRandRCrtc(0x557123179780) CRTC: 79 MODE: 91 Connection: 0 Primary: true Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: Result: 0 Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: RRSetCrtcConfig (change output) Output: 86 ( "DisplayPort-1" ) CRTC: 79 Pos: QPoint(0,0) Mode: 91 KScreen::Mode(Id: "91" , Size: QSize(3840, 2160) @ 59.9809 ) Rotation: 1 Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: Enable outputs: false Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: (86) Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: Change outputs: true Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: Disable outputs: false Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: Change Screen Size: false Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: Old: 85 New: 86 Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: Actions to perform: Primary Output: true Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: Needed CRTCs: 1 Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: Requested screen size is QSize(3840, 2160) Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: XRandR::setConfig 

Источник

Читайте также:  Which python version linux

Black screen in GRUB via DisplayPort

I have to use DisplayPort connection, because my GPU can provide 144 Hz frequency only thru this connection.

My problem is that I can’t see anything on monitor until OS booted. But when GRUB loaded I can see black screen with backlight. Monitor works (power led not blinking), but it shows nothing.

When OS loaded, everything works perfect. If I try to connect second monitor via HDMI, DP-monitor will sleep (power led is blinking) until OS booted; and on the second (HDMI) monitor I can see everything: BIOS, GRUB, etc.

The problem manifests itself exclusively when connected via DisplayPort. Any other GPU interfaces works well.

BIOS mode is UEFI and Legacy both enabled. Motherboard and GPU BIOS is default and I don’t want to update them. I dont’t need to change BIOS settings regulary, but I want to see GRUB menu.

How can I try to configure GRUB to load any driver or special mode to fix this problem?

Here is my current GRUB config:

# # DO NOT EDIT THIS FILE # # It is automatically generated by grub-mkconfig using templates # from /etc/grub.d and settings from /etc/default/grub # ### BEGIN /etc/grub.d/00_header ### insmod part_gpt insmod part_msdos if [ -s $prefix/grubenv ]; then load_env fi if [ "$" ] ; then set default="$" set next_entry= save_env next_entry set boot_once=true else set default="0" fi if [ x"$" = xy ]; then menuentry_id_option="--id" else menuentry_id_option="" fi export menuentry_id_option if [ "$" ]; then set saved_entry="$" save_env saved_entry set prev_saved_entry= save_env prev_saved_entry set boot_once=true fi function savedefault < if [ -z "$" ]; then saved_entry="$" save_env saved_entry fi > function load_video < if [ x$feature_all_video_module = xy ]; then insmod all_video else insmod efi_gop insmod efi_uga insmod ieee1275_fb insmod vbe insmod vga insmod video_bochs insmod video_cirrus fi >if [ x$feature_default_font_path = xy ] ; then font=unicode else insmod part_msdos insmod ext2 set root='hd0,msdos5' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos5' --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 64927bd4-fea7-4e9c-9a30-18bd16b6f52a else search --no-floppy --fs-uuid --set=root 64927bd4-fea7-4e9c-9a30-18bd16b6f52a fi font="/usr/share/grub/unicode.pf2" fi if loadfont $font ; then set gfxmode=auto load_video insmod gfxterm set locale_dir=$prefix/locale set lang=en_US insmod gettext fi terminal_input console terminal_output gfxterm insmod part_msdos insmod ext2 set root='hd0,msdos5' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos5' --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 64927bd4-fea7-4e9c-9a30-18bd16b6f52a else search --no-floppy --fs-uuid --set=root 64927bd4-fea7-4e9c-9a30-18bd16b6f52a fi insmod gfxmenu loadfont ($root)/boot/grub/themes/Vimix/unifont-regular-16.pf2 insmod jpeg insmod png set theme=($root)/boot/grub/themes/Vimix/theme.txt export theme if [ x$feature_timeout_style = xy ] ; then set timeout_style=menu set timeout=5 # Fallback normal timeout code in case the timeout_style feature is # unavailable. else set timeout=5 fi ### END /etc/grub.d/00_header ### ### BEGIN /etc/grub.d/10_linux ### menuentry 'Arch Linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-64927bd4-fea7-4e9c-9a30-18bd16b6f52a' < load_video set gfxpayload=keep insmod gzio insmod part_msdos insmod ext2 set root='hd0,msdos5' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos5' --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 64927bd4-fea7-4e9c-9a30-18bd16b6f52a else search --no-floppy --fs-uuid --set=root 64927bd4-fea7-4e9c-9a30-18bd16b6f52a fi echo 'Loading Linux linux . ' linux /boot/vmlinuz-linux root=UUID=64927bd4-fea7-4e9c-9a30-18bd16b6f52a rw quiet video=DP-1:e echo 'Loading initial ramdisk . ' initrd /boot/intel-ucode.img /boot/initramfs-linux.img >submenu 'Advanced options for Arch Linux' $menuentry_id_option 'gnulinux-advanced-64927bd4-fea7-4e9c-9a30-18bd16b6f52a' < menuentry 'Arch Linux, with Linux linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-64927bd4-fea7-4e9c-9a30-18bd16b6f52a' < load_video set gfxpayload=keep insmod gzio insmod part_msdos insmod ext2 set root='hd0,msdos5' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos5' --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 64927bd4-fea7-4e9c-9a30-18bd16b6f52a else search --no-floppy --fs-uuid --set=root 64927bd4-fea7-4e9c-9a30-18bd16b6f52a fi echo 'Loading Linux linux . ' linux /boot/vmlinuz-linux root=UUID=64927bd4-fea7-4e9c-9a30-18bd16b6f52a rw quiet video=DP-1:e echo 'Loading initial ramdisk . ' initrd /boot/intel-ucode.img /boot/initramfs-linux.img >menuentry 'Arch Linux, with Linux linux (fallback initramfs)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-fallback-64927bd4-fea7-4e9c-9a30-18bd16b6f52a' < load_video set gfxpayload=keep insmod gzio insmod part_msdos insmod ext2 set root='hd0,msdos5' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos5' --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 64927bd4-fea7-4e9c-9a30-18bd16b6f52a else search --no-floppy --fs-uuid --set=root 64927bd4-fea7-4e9c-9a30-18bd16b6f52a fi echo 'Loading Linux linux . ' linux /boot/vmlinuz-linux root=UUID=64927bd4-fea7-4e9c-9a30-18bd16b6f52a rw quiet video=DP-1:e echo 'Loading initial ramdisk . ' initrd /boot/initramfs-linux-fallback.img >> ### END /etc/grub.d/10_linux ### ### BEGIN /etc/grub.d/20_linux_xen ### ### END /etc/grub.d/20_linux_xen ### ### BEGIN /etc/grub.d/40_custom ### # This file provides an easy way to add custom menu entries. Simply type the # menu entries you want to add after this comment. Be careful not to change # the 'exec tail' line above. menuentry "Windows 10" --class windows --class os < insmod ntfs set root='(hd0,1)' search --no-floppy --fs-uuid --set E2D01551D0152CF3 chainloader +1 >### END /etc/grub.d/40_custom ### ### BEGIN /etc/grub.d/41_custom ### if [ -f $/custom.cfg ]; then source $/custom.cfg elif [ -z "$" -a -f $prefix/custom.cfg ]; then source $prefix/custom.cfg; fi ### END /etc/grub.d/41_custom ### 

Источник

Оцените статью
Adblock
detector