Skip to main content
Topic: Installed Intel Arc 380 GPU, but my monitor has now the wrong resolution (Read 2551 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Installed Intel Arc 380 GPU, but my monitor has now the wrong resolution

Today I finally received my shiny Arc 380, but unfortunately my monitor (1920x1080 max resolution) is no longer detected properly. In fact I end up with a resolution of 1280x720 which makes everything stretched.

Before the Arc 380, connecting the monitor to the integrated GPU provided all the resolution options correctly.

I tried adding the resolution via xrandr:

Code: [Select]
$ xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
$ xrandr --addmode HDMI-1 1920x1080_60.00

But if I select it, this is the unlucky output:

Code: [Select]
$ xrandr --output HDMI-1 --mode 1920x1080_60.00
xrandr: Configure crtc 0 failed

These are all useful details:

I am using Plasma 5 with Wayland

Code: [Select]
$ uname -r
6.7.7-artix1-1

$ xrandr
Screen 0: minimum 320 x 200, current 1280 x 720, maximum 16384 x 16384
HDMI-1 connected primary 1280x720+0+0 (normal left inverted right x axis y axis) 278mm x 124mm
   1280x720 60.00* 59.94 
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-2 disconnected (normal left inverted right x axis y axis)

$ lspci -knn | grep -iA3 'vga|3d|display'
03:00.0 VGA compatible controller [0300]: Intel Corporation DG2 [Arc A380] [8086:56a5] (rev 05)
        Subsystem: ASRock Incorporation DG2 [Arc A380] [1849:6006].
        Kernel driver in use: i915
        Kernel modules: i915

$ pacman -Q | grep intel
intel-gmmlib 22.3.17-1
intel-media-driver 24.1.3-1
intel-media-sdk 23.2.2-2
intel-ucode 20231114-2
lib32-vulkan-intel 1:24.0.2-1
libva-intel-driver 2.4.1-2
vulkan-intel 1:24.0.2-1

How can I solve this issue?

Re: Installed Intel Arc 380 GPU, but my monitor has now the wrong resolution

Reply #1
maybe this could help
 EDIT: voidlinux thread

Re: Installed Intel Arc 380 GPU, but my monitor has now the wrong resolution

Reply #2
Thank you for your time and reply :)

unfortunately in the linked thread (if I haven't misunderstood, as I may have missed some details as English is not my native language) it mainly refers to the kernel version which should be > 5.19.0 and the most updated version of mesa in October 2023. I'm on 6.7.7 and the version of mesa that I have installed is 1:24.0.2-1; in this case unfortunately I don't have any steps to take by following these directions. :(

More information here:

Code: [Select]
$ doas dmesg | grep -i i915
[    2.190527] i915 0000:03:00.0: vgaarb: deactivate vga console
[    2.190875] i915 0000:03:00.0: [drm] Can't resize LMEM BAR - platform support is missing
[    2.190888] i915 0000:03:00.0: [drm] Local memory IO size: 0x0000000010000000
[    2.190890] i915 0000:03:00.0: [drm] Local memory available: 0x000000017c800000
[    2.190891] i915 0000:03:00.0: [drm] Using a reduced BAR size of 256MiB. Consider enabling 'Resizable BAR' or similar, if available in the BIOS.
[    2.206764] i915 0000:03:00.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=io+mem:owns=io+mem
[    2.211487] i915 0000:03:00.0: [drm] Finished loading DMC firmware i915/dg2_dmc_ver2_08.bin (v2.8)
[    2.220475] i915 0000:03:00.0: [drm] GT0: GuC firmware i915/dg2_guc_70.bin version 70.20.0
[    2.220479] i915 0000:03:00.0: [drm] GT0: HuC firmware i915/dg2_huc_gsc.bin version 7.10.3
[    2.233529] i915 0000:03:00.0: [drm] GT0: GUC: submission enabled
[    2.233532] i915 0000:03:00.0: [drm] GT0: GUC: SLPC enabled
[    2.233777] i915 0000:03:00.0: [drm] GT0: GUC: RC enabled
[    2.279328] [drm] Initialized i915 1.6.0 20230929 for 0000:03:00.0 on minor 1
[    2.280268] i915 display info: display version: 13
[    2.280270] i915 display info: cursor_needs_physical: no
[    2.280271] i915 display info: has_cdclk_crawl: no
[    2.280272] i915 display info: has_cdclk_squash: yes
[    2.280272] i915 display info: has_ddi: yes
[    2.280273] i915 display info: has_dp_mst: yes
[    2.280274] i915 display info: has_dsb: yes
[    2.280274] i915 display info: has_fpga_dbg: yes
[    2.280275] i915 display info: has_gmch: no
[    2.280286] i915 display info: has_hotplug: yes
[    2.280286] i915 display info: has_hti: no
[    2.280287] i915 display info: has_ipc: yes
[    2.280288] i915 display info: has_overlay: no
[    2.280288] i915 display info: has_psr: yes
[    2.280289] i915 display info: has_psr_hw_tracking: no
[    2.280289] i915 display info: overlay_needs_physical: no
[    2.280290] i915 display info: supports_tv: no
[    2.280291] i915 display info: has_hdcp: yes
[    2.280291] i915 display info: has_dmc: yes
[    2.280292] i915 display info: has_dsc: yes
[    2.306231] snd_hda_intel 0000:04:00.0: bound 0000:03:00.0 (ops i915_audio_component_bind_ops [i915])
[    2.307891] fbcon: i915drmfb (fb0) is primary device
[    2.380876] i915 0000:03:00.0: [drm] fb0: i915drmfb frame buffer device
[    2.838402] i915 0000:03:00.0: [drm] GT0: HuC: authenticated for all workloads
[    2.838408] mei_pxp i915.mei-gsc.768-fbf6fcf1-96cf-4e2e-a6a6-1bab8cbe36b1: bound 0000:03:00.0 (ops i915_pxp_tee_component_ops [i915])

Currently stuck with the infos I can get from the net. :(

Re: Installed Intel Arc 380 GPU, but my monitor has now the wrong resolution

Reply #3
Update:
I updated the system and now the device ID changed (is now HDMI-A-1) and it also show some other supported resolutions (but they are not correct with my monitor which still is a 1920x1080. In fact, unfortunately, I keep seeing the screen smeared, which is not really good for me and my eyes. Here is the xrandr output:

Code: [Select]
$ xrandr
Screen 0: minimum 16 x 16, current 1280 x 720, maximum 32767 x 32767
HDMI-A-1 connected primary 1280x720+0+0 (normal left inverted right x axis y axis) 270mm x 120mm
   1280x720      59.86*+
   800x600       59.86 
   640x480       59.38 
   320x240       59.52 
   1152x720      59.97 
   960x600       59.63 
   928x580       59.88 
   800x500       59.50 
   768x480       59.90 
   720x480       59.71 
   640x400       59.95 
   320x200       58.96 
   1024x576      59.90 
   864x486       59.92 
   720x400       59.55 
   640x350       59.77 

Hope someone could be helpful 🤞

Re: Installed Intel Arc 380 GPU, but my monitor has now the wrong resolution

Reply #4
Update:

I have noted that when I try to select the manually added resolution (which does not work either) now the output is changed:

Code: [Select]
$ xrandr --output HDMI-A-1 --mode 1920x1080_60.00
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  21 (RRSetCrtcConfig)
  Value in failed request:  0x0
  Serial number of failed request:  22
  Current serial number in output stream:  22

When I get the error, this time, the display does not try to go into this resolution.
Still having same wrong resolution :(

This is now the updated system info:

Code: [Select]
$ uname -r
6.7.9-artix1-1

Screen 0: minimum 16 x 16, current 1280 x 720, maximum 32767 x 32767
HDMI-A-1 connected primary 1280x720+0+0 (normal left inverted right x axis y axis) 270mm x 120mm
   1280x720      59.86*+
   800x600       59.86 
   640x480       59.38 
   320x240       59.52 
   1152x720      59.97 
   960x600       59.63 
   928x580       59.88 
   800x500       59.50 
   768x480       59.90 
   720x480       59.71 
   640x400       59.95 
   320x200       58.96 
   1024x576      59.90 
   864x486       59.92 
   720x400       59.55 
   640x350       59.77 
   1920x1080_60.00  59.96  # note that those last two are the
   1920x1080     59.96     #  modes I manually added to xrandr
  
$ lspci -knn | grep -iA3 'VGA'
03:00.0 VGA compatible controller [0300]: Intel Corporation DG2 [Arc A380] [8086:56a5] (rev 05)
        Subsystem: ASRock Incorporation DG2 [Arc A380] [1849:6006]
        Kernel driver in use: i915
        Kernel modules: i915

$ pacman -Q | grep intel
intel-gmmlib 22.3.17-1
intel-media-driver 24.1.3-1
intel-media-sdk 23.2.2-2
intel-ucode 20231114-2
lib32-vulkan-intel 1:24.0.2-2
libva-intel-driver 2.4.1-2
vulkan-intel 1:24.0.2-2

Re: Installed Intel Arc 380 GPU, but my monitor has now the wrong resolution

Reply #5
Update:
I tried booting with Zen kernel and also with some kernel mode settings (KMS) parameters;
I first identified the connected device with:

Code: [Select]
for p in /sys/class/drm/*/status; do con=${p%/status}; echo -n "${con#*/card?-}: "; cat $p; done

in my case it was HDMI-A-1

then set the default mode setting in grub:
/etc/default/grub
Code: [Select]
GRUB_CMDLINE_LINUX_DEFAULT="quiet i915 video=HDMI-A-1:1920x1080@60"

and update grub:
Code: [Select]
doas grub-mkconfig -o /boot/grub/grub.cfg

It doesn't change.

Also I tried to connect a different monitor to the Arc 380: it flawlessly works with the correct resolution.

So:
- iGPU with my monitor A (the one which I should solve): perfect native resolutions
- iGPU with my monitor B (testing monitor): perfect native resolutions
- GPU (A380) with my monitor A: only one resolution option and it is wrong
- GPU (A380) with my monitor B: perfect native resolutions

Also:
- if monitor A is connected to GPU (A380), on Bios/Boot screen it has the correct resolution (1920x1080), in Grub menu it has correct resolution, then it gets the wrong resolution.

I also tried with X11 instead of Wayland; nothing changed too. Hope this can be helpful for someone else and hope someone can help me out with this issue.

Re: Installed Intel Arc 380 GPU, but my monitor has now the wrong resolution

Reply #6
I also tried with X11 instead of Wayland; nothing changed too. Hope this can be helpful for someone else and hope someone can help me out with this issue.
You've mentioned xrandr quite a bit. I'd missed the 'Wayland' bit.
Does xrandr support wayland now ? If not xrandr was never going to help.

I don't know the answer to your issue but I'd suggest one road you should be exploring is edid's
https://wiki.archlinux.org/title/Kernel_mode_setting#Forcing_modes_and_EDID

Re: Installed Intel Arc 380 GPU, but my monitor has now the wrong resolution

Reply #7
Quote
You've mentioned xrandr quite a bit. I'd missed the 'Wayland' bit.

You are right. I started doing it wrong, using xrandr on Wayland, then I found out that xrandr works only in X11. Unfortunately xrandr new mode did not work on X11 either to set the correct resolution.

Quote
I'd suggest one road you should be exploring is edid's
https://wiki.archlinux.org/title/Kernel_mode_setting#Forcing_modes_and_EDID

Unfortunately I think this is the last and only way I can try, since I tried every other way I could find out on the web.

Thank you for your support and time!

Re: Installed Intel Arc 380 GPU, but my monitor has now the wrong resolution

Reply #8
This person used an arch iso Gaming on Linux on an Intel ARC A380 perhaps the video can help

Re: Installed Intel Arc 380 GPU, but my monitor has now the wrong resolution

Reply #9
I already took the edid way.
Connected the monitor A to the iGPU, then read the edid and I had this:

Code: [Select]
Checksum Correct

Section "Monitor"
        Identifier "L1"
        ModelName "L1"
        VendorName "MSR"
        # Monitor Manufactured week 23 of 2021
        # EDID version 1.3
        # Digital Display
        DisplaySize 270 120
        Gamma 2.20
        Option "DPMS" "true"
        Horizsync 30-81
        VertRefresh 56-76
        # Maximum pixel clock is 170MHz
        #Not giving standard mode: 1280x720, 60Hz

        #Extension block found. Parsing...
        Modeline        "Mode 2" +hsync +vsync interlace
        Modeline        "Mode 0" +hsync +vsync
        Modeline        "Mode 1" 74.250 1280 1390 1420 1650 720 725 730 750 +hsync +vsync
        Option "PreferredMode" "Mode 2"
EndSection

Don't know if it show the correct resolution tho (1920x1080).

So, I followed the guide to force mode and edid; also loaded the resulting
Code: [Select]
/sys/module/drm/parameters/edid
inside mkinitcpio.conf via
Code: [Select]
BINARIES=(/sys/module/drm/parameters/edid)
, recompiled everything with
Code: [Select]
mkinitpio -p


No result.

I also copied the edid.bin into 1920x1080.bin as the guide said, but if I put KMS
Code: [Select]
drm.edid_firmware=edid/1920x1080.bin drm.edid_firmware=HDMI-A-3:edid/1920x1080.bin
the display goes black after the booting sequence.

What a stress; I could watch the YouTube video, but I think that the problem is this monitor with this GPU. How to solve this?

Re: Installed Intel Arc 380 GPU, but my monitor has now the wrong resolution

Reply #10
I found the problem, maybe.

I connected the monitor A (1920x1080) to the iGPU and I got the correct display resolution. Then I did
Code: [Select]
# get-edid | parse-edid
and what I got is that:

Code: [Select]
Section "Monitor"
        Identifier "L1"
        ModelName "L1"
        VendorName "MSR"
        # Monitor Manufactured week 23 of 2021
        # EDID version 1.3
        # Digital Display
        DisplaySize 270 120
        Gamma 2.20
        Option "DPMS" "true"
        Horizsync 30-81
        VertRefresh 56-76
        # Maximum pixel clock is 170MHz
        #Not giving standard mode: 1280x720, 60Hz

        #Extension block found. Parsing...
        Modeline        "Mode 2" +hsync +vsync interlace
        Modeline        "Mode 0" +hsync +vsync
        Modeline        "Mode 1" 74.250 1280 1390 1420 1650 720 725 730 750 +hsync +vsync
        Option "PreferredMode" "Mode 2"
EndSection

It is exactly the same edid I get when I connect the monitor A to the GPU (A380); this is really confusing me; how can it be that the same edid makes different resolutions between GPUs?

Re: Installed Intel Arc 380 GPU, but my monitor has now the wrong resolution

Reply #11
It is exactly the same edid I get when I connect the monitor A to the GPU (A380); this is really confusing me; how can it be that the same edid makes different resolutions between GPUs?
Well the edid data comes from the monitor so you'd reasonably expect it to be the same.
The difference will be in how the GPU driver handles the edid information.
From what little I know about ARC I believe it uses a different driver than intel's integrated on cpu die gpu's?

Many moons ago a had a monitor which was doing the same as yours is (or isn't to be more exact)

This was with an nvidia GPU. The solution was to get the edid in binary format. Edit it with some program I'd found and advice and instructions from who know where but if they still exist I imagine it's only on the wayback machine ?
Then you had to tell the nvidia driver to use the custom edid file. Fairly sure this went in xorg.conf but something's telling me it might have been a kernel command line option which needed to be in the initramfs as well. Or maybe I had to do both?
Plenty of warnings were given on the pages I was reading. "This can damage or destroy your monitor if done wrong etc etc." But as I was close to putting a spanner through it I tried it anyway, and it did work eventually after some messing about.

Sorry that is so vague but that's the best I can recall. Whether a custom edid is even an option with the intel ARC driver I have no idea ?

I think you should consider finding the intel ARC support and / bug sites and seeking help there as from what I've heard they have a lot of resource dedicated to improving ARC on LInux as well as Windows.

It could even be a simple as an option to set in the kernel command line or elsewhere?

Edit: And sorry I missed that fact you'd posted twice since my last post and have already been trying with the edid.

 

Re: Installed Intel Arc 380 GPU, but my monitor has now the wrong resolution

Reply #12
I thank you very much for your message,
I have tried, but I still haven't solved it. The edid file I can retrieve from the monitor is wrong and I thaught both Arc and Intel Iris Pro II (iGPU) used both same Intel driver.

I have contacted the company that manufactures these monitors to speak to someone about the wrong edid of their monitor, unfortunately they never answered (MASPRO DENKOH Corp L1 of Kefeya), neither a "we don't know, sorry".

For the health of my eyes I have temporarily removed the GPU and am using only the iGPU and that is a pity, since I can't use both my monitors. I don't think I am capable of creating an edid file and I am afraid that if I get it wrong I might irreparably break something, which is a consequence I cannot afford.

If anyone has any ideas or can help me or provide any advice I renew my request for help. 🙏

Translated with DeepL.com (free version)

Re: Installed Intel Arc 380 GPU, but my monitor has now the wrong resolution

Reply #13
Updates:

I stopped trying with Wayland since the only solution whit it (which is too risky and hard to me) is to build a new edid file for this monitor.

Then I went back to X11.

Since I can select only the wrong resolution 1280x720, I added the correct one with xrandr (both with the cvt -r option), and:

Code: [Select]
$ cvt 1920 860 59
# 1920x860 58.98 Hz (CVT) hsync: 52.61 kHz; pclk: 133.00 MHz
Modeline "1920x860_59.00"  133.00  1920 2024 2224 2528  860 863 873 892 -hsync +vsync
$ xrandr --newmode "1920x860_59.00"  133.00  1920 2024 2224 2528  860 863 873 892 -hsync +vsync
$ xrandr --addmode HDMI-3 1920x860_59.00
$ xrandr --output HDMI-3 --mode 1920x860_59.00
xrandr: Configure crtc 0 failed

So the correct resolution fails.

But if I try a more standard resolution like 1920x1080, something strange happens:
Code: [Select]
$ cvt -r 1920 1080
# 1920x1080 59.93 Hz (CVT 2.07M9-R) hsync: 66.59 kHz; pclk: 138.50 MHz
Modeline "1920x1080R"  138.50  1920 1968 2000 2080  1080 1083 1088 1111 +hsync -vsync
$ xrandr --newmode "1920x1080R"  138.50  1920 1968 2000 2080  1080 1083 1088 1111 +hsync -vsync
$ xrandr --addmode HDMI-3 1920x1080R
$ xrandr --output HDMI-3 --mode 1920x1080R

It works. I get this new wrong resolution which is a bit near the original resolution of the screen (but still the whole screen seems like smeared/spread [hope this words let's you understand since this is not my native language]).

Tried with 1920x900 or 1920x800 but it doesn't work.

I am actually under i915, if I wrote all this code is for someone who's having the same issues, thinking this could be handy.
If someone has some solution under X11, please let me know. 🥲🙏

ps: graphic card 3d acceleration works tho

Re: Installed Intel Arc 380 GPU, but my monitor has now the wrong resolution

Reply #14
Interesting Updates:

I tested my monitor with Windows 10 to see if I could get more interesting information, and indeed there were some advances:

Using EnTech Monitor Asset Manager, I got a complete readout of the edid file, and this is where the interesting news popped up: the edid.bin file of my monitor reads:
Code: [Select]
Native/preferred timing... 1920x860p at 60Hz 
    Modeline............... "1920x860" 110,680 1920 1968 2000 2106 860 863 868 876 +hsync +vsync

Standard timings supported
    1280 x 720p at 60Hz - VESA STD
.

So I tried again using the edid.bin file and:

- I put the edid file in /usr/lib/firmware/edid/.
- I set
Code: [Select]
MODULES=(i915)
and
Code: [Select]
FILES="/usr/lib/firmware/edid/edid.bin"
in /etc/mkinitcpio.conf. Then ran
Code: [Select]
mkinitcpio -P

- I put the KMS
Code: [Select]
drm.edid_firmware=HDMI-1:edid/edid.bin drm.edid_firmware=HDMI-A-1:edid/edid.bin
in the GRUB_CMDLINE_LINUX_DEFAULT of /etc/default/grub. Then clearly run
Code: [Select]
grub-mkconfig -o /boot/grub/grub.cfg
(I set the custom edid two times since HDMI-1 is the way X11 identifies my monitor and HDMI-A-1 since it is the way Wayland identifies it).

Now if I check with dmesg there is no error and the edid file is loaded correctly without any problems, as is the i915 module.
The Xorg log is also completely clean and there are no problems. The i915 driver is loaded correctly and the only missing feature (due to my motherboard) is the resizeable BAR, which is not important to solve this problem.

Despite this, on both Wayland and X11 the only resolution that can be set is 1280x720 (always stretched). Using X11 and xrandr I can add the modeline 1920x1080 and use it (maybe because it is Standard) but still everything is stretched since it doesn't respect the screen ratio.

So I tried configuring inside /etc/X11/xorg.conf.d/20-intel.conf file:

Code: [Select]
Section "Device"
    Identifier "IntelGraphics"
    Driver "modesetting"
#    Driver "intel"
    Option "AccelMethod" "sna"
    Option "DRI" "iris"
# Option "DRI" "2"
    Option "CustomEDID" "HDMI-1:/usr/lib/firmware/edid/edid.bin"
    Option "CustomEDID" "HDMI-A-1:/usr/lib/firmware/edid/edid.bin"
    Option "IgnoreEDID" "false"
    Option "UseEDID" "true"
EndSection
.

But despite all this, on both X11 and Wayland the only resolution that can be set is 1280x720.

I tried to user xrandr on X11 to therefore add by hand the modeline specified in the edid file ("1920x860" 110,680 1920 1968 2000 2106 860 863 868 876 +hsync +vsync). Doesn't work.

If I use the Arc 830 it seems that I can only set the Vesa Standard resolution (1280x720) and not the preferred one indicated in the edid file (1920x860). This is so annoying.

I hope someone can help me or can give me further guidance and that this information can be a guide for those in the same situation as me. I would like to do a bug report in regard to this issue, but doesn't know where/who.

ps: if some info or reports are needed please let me know.