Score:1

Disable On-Board VGA / Unknown Display

jp flag

I have Ubuntu 23.04 installed on a SuperMicro H8QGL motherboard with a Nvidia M4000 GPU installed.
I have a phantom monitor called 'Unkown Display' connected to the On-Board VGA port, even though there is nothing plugged into it. I suspect it is because this motherboard has IMPI and the VGA port is used by that, so it always has a 'display' connected to IMPI.

There is no setting in the Bios to disable the on-board VGA controller that I can find. I don't know how to find which module to blacklist to disable the on-board VGA and get rid of the phantom monitor.

I tried modifying /etc/default/grub with GRUB_CMDLINE_LINUX="video=VGA-1-1:d" but it still shows up in xrandr

Below is some system information:

lspci | grep VGA

01:04.0 VGA compatible controller: Matrox Electronics Systems Ltd. MGA G200eW WPCM450 (rev 0a)
03:00.0 VGA compatible controller: NVIDIA Corporation GM204GL [Quadro M4000] (rev a1)

lsmod

Module                  Size  Used by
snd_seq_dummy          16384  0
snd_hrtimer            16384  1
nvidia_uvm           1622016  0
nvidia_drm             86016  9
xt_LOG                 20480  1
nf_log_syslog          24576  1
xt_recent              24576  2
xt_state               16384  0
nvidia_modeset       1253376  10 nvidia_drm
xt_conntrack           16384  2
nf_conntrack          204800  2 xt_conntrack,xt_state
nf_defrag_ipv6         24576  1 nf_conntrack
nf_defrag_ipv4         16384  1 nf_conntrack
xt_tcpudp              20480  3
nft_compat             20480  8
nf_tables             344064  15 nft_compat
binfmt_misc            24576  1
nfnetlink              24576  2 nft_compat,nf_tables
nvidia              56565760  467 nvidia_uvm,nvidia_modeset
amd64_edac             61440  0
edac_mce_amd           40960  1 amd64_edac
snd_hda_codec_hdmi     94208  1
snd_hda_intel          61440  1
snd_intel_dspcfg       36864  1 snd_hda_intel
kvm_amd               204800  0
snd_intel_sdw_acpi     20480  1 snd_intel_dspcfg
ccp                   131072  1 kvm_amd
snd_hda_codec         204800  2 snd_hda_codec_hdmi,snd_hda_intel
kvm                  1347584  1 kvm_amd
snd_hda_core          139264  3 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
snd_hwdep              20480  1 snd_hda_codec
snd_pcm               192512  4 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_core
irqbypass              16384  1 kvm
crct10dif_pclmul       16384  1
snd_seq_midi           20480  0
polyval_clmulni        16384  0
mgag200                73728  1
polyval_generic        16384  1 polyval_clmulni
snd_seq_midi_event     16384  1 snd_seq_midi
ghash_clmulni_intel    16384  0
sha512_ssse3           53248  0
drm_shmem_helper       24576  1 mgag200
snd_rawmidi            53248  1 snd_seq_midi
aesni_intel           397312  0
drm_kms_helper        249856  4 mgag200,nvidia_drm
snd_seq                94208  9 snd_seq_midi,snd_seq_midi_event,snd_seq_dummy
syscopyarea            16384  1 drm_kms_helper
joydev                 32768  0
input_leds             16384  0
snd_seq_device         16384  3 snd_seq,snd_seq_midi,snd_rawmidi
crypto_simd            20480  1 aesni_intel
sysfillrect            20480  1 drm_kms_helper
serio_raw              20480  0
cryptd                 28672  2 crypto_simd,ghash_clmulni_intel
sysimgblt              16384  1 drm_kms_helper
ipmi_si                90112  0
snd_timer              49152  3 snd_seq,snd_hrtimer,snd_pcm
video                  69632  1 nvidia_modeset
ipmi_devintf           20480  0
snd                   135168  13 snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_timer,snd_pcm,snd_rawmidi
wmi                    40960  1 video
ipmi_msghandler        94208  2 ipmi_devintf,ipmi_si
soundcore              16384  1 snd
fam15h_power           20480  0
k10temp                16384  0
mac_hid                16384  0
v4l2loopback           53248  0
videodev              319488  1 v4l2loopback
mc                     81920  1 videodev
msr                    16384  0
parport_pc             53248  0
ppdev                  24576  0
lp                     28672  0
drm                   692224  14 drm_kms_helper,drm_shmem_helper,nvidia,mgag200,nvidia_drm
parport                73728  3 parport_pc,lp,ppdev
efi_pstore             16384  0
dmi_sysfs              24576  0
ip_tables              36864  0
x_tables               65536  7 xt_conntrack,nft_compat,xt_LOG,xt_state,xt_tcpudp,xt_recent,ip_tables
autofs4                57344  2
btrfs                1929216  1
blake2b_generic        20480  0
xor                    24576  1 btrfs
raid6_pq              126976  1 btrfs
libcrc32c              16384  3 nf_conntrack,btrfs,nf_tables
hid_generic            16384  0
psmouse               212992  0
crc32_pclmul           16384  0
usbhid                 69632  0
ahci                   49152  1
hid                   176128  2 usbhid,hid_generic
igb                   315392  0
i2c_piix4              28672  0
libahci                57344  1 ahci
i2c_algo_bit           16384  2 igb,mgag200
dca                    20480  1 igb

xrandr

Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 16384 x 16384
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 700mm x 390mm
   1920x1080     60.00*+  59.94    50.00    60.00    50.04  
   1280x720      60.00    59.94    50.00  
   1024x768      75.03    70.07    60.00  
   800x600       75.00    72.19    60.32    56.25  
   720x576       50.00  
   720x480       59.94  
   640x480       75.00    72.81    59.94    59.93  
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 disconnected (normal left inverted right x axis y axis)
DP-4 disconnected (normal left inverted right x axis y axis)
DP-5 disconnected (normal left inverted right x axis y axis)
DP-6 disconnected (normal left inverted right x axis y axis)
DP-7 disconnected (normal left inverted right x axis y axis)
VGA-1-1 connected (normal left inverted right x axis y axis)
   1024x768      60.00  
   800x600       60.32    56.25  
   848x480       60.00  
   640x480       59.94  
  1024x768 (0x228) 65.000MHz -HSync -VSync
        h: width  1024 start 1048 end 1184 total 1344 skew    0 clock  48.36KHz
        v: height  768 start  771 end  777 total  806           clock  60.00Hz
  800x600 (0x22b) 40.000MHz +HSync +VSync
        h: width   800 start  840 end  968 total 1056 skew    0 clock  37.88KHz
        v: height  600 start  601 end  605 total  628           clock  60.32Hz
  800x600 (0x22c) 36.000MHz +HSync +VSync
        h: width   800 start  824 end  896 total 1024 skew    0 clock  35.16KHz
        v: height  600 start  601 end  603 total  625           clock  56.25Hz
  640x480 (0x231) 25.175MHz -HSync -VSync
        h: width   640 start  656 end  752 total  800 skew    0 clock  31.47KHz
        v: height  480 start  490 end  492 total  525           clock  59.94Hz

xrandr --listproviders

Providers: number : 2
Provider 0: id: 0x217 cap: 0x1, Source Output crtcs: 4 outputs: 8 associated providers: 1 name:NVIDIA-0
Provider 1: id: 0x259 cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 1 name:modesetting
Score:0
jp flag

ChatGPT had the answer, I thought I would share it.

James: In Ubuntu, if I do lspci | grep VGA I get these results:

01:04.0 VGA compatible controller: Matrox Electronics Systems Ltd. MGA G200eW WPCM450 (rev 0a)
03:00.0 VGA compatible controller: NVIDIA Corporation GK208B [GeForce GT 730] (rev a1)

how can I identify and disable the Matrox driver?

ChatGPT: To identify and disable the Matrox driver in Ubuntu, you can follow these steps:

Open a terminal window by pressing Ctrl+Alt+T.

Identify the currently loaded driver for the Matrox graphics card by running the following command:

sudo lshw -c video

Look for the line that corresponds to the Matrox graphics card. It will display information about the driver being used.

Once you have identified the driver, you can disable it by blacklisting it. Create a new blacklist file using a text editor. For example:

sudo nano /etc/modprobe.d/blacklist-matrox.conf

In the editor, add a line to blacklist the Matrox driver. For example:

blacklist mga

Save the file and exit the text editor.

Update the initial RAM file system (initramfs) by running the following command:

sudo update-initramfs -u

This command will ensure that the blacklisted driver is not loaded during system startup.

Reboot your system for the changes to take effect:

sudo reboot

After rebooting, the Matrox driver should be disabled, and the system should use the default driver or any other compatible driver available for your NVIDIA GeForce GT 730 graphics card.

James: The results of sudo lshw -c video are:

  *-display                 
       description: VGA compatible controller
       product: GK208B [GeForce GT 730]
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:03:00.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
       configuration: driver=nvidia latency=0
       resources: irq:49 memory:de000000-deffffff memory:d0000000-d7ffffff memory:ce000000-cfffffff ioport:e800(size=128) memory:c0000-dffff
  *-display
       description: VGA compatible controller
       product: MGA G200eW WPCM450
       vendor: Matrox Electronics Systems Ltd.
       physical id: 4
       bus info: pci@0000:01:04.0
       logical name: /dev/fb1
       version: 0a
       width: 32 bits
       clock: 33MHz
       capabilities: pm vga_controller cap_list fb
       configuration: depth=32 driver=mgag200 latency=64 maxlatency=32 mingnt=16 resolution=1024,768
       resources: irq:20 memory:da000000-daffffff memory:dcffc000-dcffffff memory:dd000000-dd7fffff
  *-graphics
       product: VESA VGA
       physical id: 1
       logical name: /dev/fb0
       capabilities: fb
       configuration: depth=32 resolution=640,480

What is the name of the Matrox driver?

ChatGPT: Based on the output of sudo lshw -c video, the name of the Matrox driver is mgag200. This is the driver being used for the Matrox G200eW WPCM450 graphics card.

James: I blacklisted mgag200 and indeed it has been disabled, Thank You!

ChatGPT: You're welcome! I'm glad to hear that blacklisting the mgag200 driver has disabled it successfully. If you have any more questions or need further assistance, feel free to ask. Happy computing!

I sit in a Tesla and translated this thread with Ai:

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.