Installing arch linux+XFCE4 on MSI laptop with nvidia gtx950M and intel 530 graphics card. When I type startx no screen found. Error is shown.

Full /var/log/Xorg.0.log and xorg.conf.

The output of "lspci | grep -E "VGA|3D" is

00:02.0 VGA compatible controller: Intel Corporation Skylake Integrated Graphics (rev 06)
01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 950M] (rev a2)

I am following these wiki links:

  2. Bumblebee
  3. NVIDIA Optimus

First tried using 2nd link(bumblebee) and then tried using only nvidia graphics or intel.

If I delete the xorg.conf file and install xf86-video-vesa driver i can do startx and go inside DE but very sluggish, whenever mouse is over app icons or panel it freezes for few secs may be this is due to now hardware acceleration.

NB : there is one question "No screens found" while starting Xorg with startx after installing Nvidia drivers in Virtualbox already no log available and no accepted answer.

2 Answers 2


I don't know if it will help but try adding

BusID          "PCI:1:0:0"

Or something like that to your Section "Device" that matches your graphic card in your /etc/X11/xorgs.conf. I had no external display showing on my laptop and my external screens only appeared after doing so.

The following command could help you too

sudo lshw -c display

Mine displayed bus info: pci@0000:01:00.0, which you write PCI:1:0:0 in grub config

My graphic cards are different than yours, but my xorg.conf device section looks like this:

Section "Device"
    Identifier     "k1100m"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "Quadro K1100M"
    BusID          "PCI:1:0:0"

Section "Device"
    Identifier     "intelhd4000"
    Driver         "intel"
    BusID          "PCI:2:0:0"

This command can also provide you with some infos:

nvidia-xconfig --query-gpu-info

Good luck!


I've had the same problem for some time also till I've discovered a utility to do it all. You can use the ArchWiki to see how an Optimus Laptop works. And then you have multiple options, but I suggest running the optimus-manager I run ArcoLinux with Gnome and my specs are also: NVIDIA GeForce GTX 1650 Ti Mobile. I must say that it runs perfect. And I've had no issues what so ever so far - for 1 year at least. This utility also works with AMD graphic cards. So feel free to try that as well.

After installation nvtop should look like this:

 Device 0 [NVIDIA GeForce GTX 1650 Ti] PCIe GEN 1@ 8x RX: 0.000 KiB/s TX: 0.000 KiB/s
 GPU 360MHz  MEM 405MHz  TEMP  43°C FAN N/A% POW   2 W
 GPU[||                                5%] MEM[||||                  0.413Gi/3.820Gi]
100│GPU0 %                                                                                                            │
   │GPU0 mem%                                                                                                         │
   │                                                                                                                  │
   │                                                                                                                  │
   │                                                                                                                  │
 75│                                                                                                                  │
   │                                                                                                                  │
   │                                                                                                                  │
   │                                                                                                                  │
   │                                                                                                                  │
 50│                                                                                                                  │
   │                                                                                                                  │
   │                                                                                                                  │
   │                    ┌───┐                                                                     ┌───┐               │
   │                ┌───┘   │                                                         ┌───┐       │   │               │
 25│                │       │           ┌───┐       ┌───┐                             │   └───────┘   │               │
   │                │       │           │   │       │   │                             │               └─────┐         │
   │────┐     ┌─────┘       │   ┌───────┘   └───┐   │   │ ┌───────┐   ┌───────────┐   │                     │         │
   │                        └───┘                                                                                   └─│
  0│                                                                                                                  │
115254   me   0 Graphic   0%    104MiB   3%     1%    223MiB /usr/lib/brave-bin/brave --type=gpu-process --field-trial-
  1827   me   0 Graphic   0%     43MiB   1%     1%    447MiB /usr/bin/gnome-shell
114827   me   0 Graphic   0%     32MiB   1%     0%    160MiB /usr/lib/slack/slack --type=gpu-process --field-trial-hand
123952   me   0 Graphic   0%      8MiB   0%     3%     62MiB alacritty
164054   me   0 Graphic   0%      8MiB   0%     0%     57MiB alacritty

I hope this helps! :)

And this is the output that optimus-manager --statusshould give if you're running completely on the dedicated card:

optimus-manager --status
Optimus Manager (Client) version 1.4

Current GPU mode : nvidia
GPU mode requested for next login : no change
GPU at startup : nvidia
Temporary config path: no

Here's my /etc/optimus-manager/optimus-manager.conf


# This parameter defines the method used to power switch the Nvidia card. See the documentation
# for a complete description of what each value does. Possible values :
# - nouveau : load the nouveau module on the Nvidia card.
# - bbswitch : power off the card using the bbswitch module (requires the bbswitch dependency).
# - acpi_call : try various ACPI method calls to power the card on and off (requires the acpi_call dependency)
# - custom: use custom scripts at /etc/optimus-manager/nvidia-enable.sh and /etc/optimus-manager/nvidia-disable.sh
# - none : do not use an external module for power management. For some laptop models it's preferable to
#          use this option in combination with pci_power_control (see below).

# Enable PCI power management in "integrated" mode.
# This option is incompatible with acpi_call and bbswitch, so it will be ignored in those cases.

# Remove the Nvidia card from the PCI bus.
# May prevent crashes caused by power switching.
# Ignored if switching=nouveau or switching=bbswitch.

# Reset the Nvidia card at the PCI level before reloading the nvidia module.
# Ensures the card is in a fresh state before reloading the nvidia module.
# May fix some switching issues. Possible values :
# - no : does not perform any reset
# - function_level : perform a light "function-level" reset
# - hot_reset : perform a "hot reset" of the PCI bridge. ATTENTION : this method messes with the hardware
#         directly, please read the online documentation of optimus-manager before using it.
#         Also, it will perform a PCI remove even if pci_remove=no.

# Automatically log out the current desktop session when switching GPUs.
# This feature is currently supported for the following DE/WM :
# GNOME, KDE Plasma, LXDE, Deepin, Xfce, i3, Openbox, AwesomeWM, bspwm and dwm
# If this option is disabled or you use a different desktop environment,
# GPU switching only becomes effective at the next graphical session login.

# GPU mode to use at computer startup.
# Possible values: nvidia, integrated, hybrid, auto, intel (deprecated, equivalent to integrated)
# "auto" is a special mode that auto-detects if the computer is running on battery
# and selects a proper GPU mode. See the other options below.
# GPU mode to select when startup_mode=auto and the computer is running on battery.
# Possible values: nvidia, integrated, hybrid, intel (deprecated, equivalent to integrated)
# GPU mode to select when startup_mode=auto and the computer is running on external power.
# Possible values: nvidia, integrated, hybrid, intel (deprecated, equivalent to integrated)


# Driver to use for the Intel GPU. Possible values : modesetting, intel
# To use the intel driver, you need to install the package "xf86-video-intel".

# Acceleration method (corresponds to AccelMethod in the Xorg configuration).
# Only applies to the intel driver.
# Possible values : sna, xna, uxa
# Leave blank for the default (no option specified)

# Enable TearFree option in the Xorg configuration.
# Only applies to the intel driver.
# Possible values : yes, no
# Leave blank for the default (no option specified)

# DRI version. Possible values : 2, 3

# Whether or not to enable modesetting for the nouveau driver.
# Does not affect modesetting for the Intel GPU driver !
# This option only matters if you use nouveau as the switching backend.


# Driver to use for the AMD GPU. Possible values : modesetting, amdgpu
# To use the amdgpu driver, you need to install the package "xf86-video-amdgpu".

# Enable TearFree option in the Xorg configuration.
# Only applies to the amdgpu driver.
# Possible values : yes, no
# Leave blank for the default (no option specified)

# DRI version. Possible values : 2, 3


# Whether or not to enable modesetting. Required for PRIME Synchronization (which prevents tearing).

# Whether or not to enable the NVreg_UsePageAttributeTable option in the Nvidia driver.
# Recommended, can cause poor CPU performance otherwise.

# DPI value. This will be set using the Xsetup script passed to your login manager.
# It will run the command
# xrandr --dpi <DPI>
# Leave blank for the default (the above command will not be run).

# If you're running an updated version of xorg-server (let's say to get PRIME Render offload enabled),
# the nvidia driver may not load because of an ABI version mismatch. Setting this flag to "yes"
# will allow the loading of the nvidia driver.

# Set to yes if you want to use optimus-manager with external Nvidia GPUs (experimental)

# Comma-separated list of Nvidia-specific options to apply.
# Available options :
# - overclocking : enable CoolBits in the Xorg configuration, which unlocks clocking options
#   in the Nvidia control panel. Note: does not work in hybrid mode.
# - triple_buffer : enable triple buffering.

# Enable Runtime D3 (RTD3) Power Management in the Nvidia driver. While in hybrid mode,
# this feature allows the Nvidia card to go into a low-power mode if it's not in use.
# - The feature is still experimental
# - It's only supported on laptops with a Turing GPU or above, and an Intel Coffee Lake CPU
# or above (not sure about the state of support for AMD CPUs).
# - if your Nvidia card also has an audio chip (for HDMI) or a USB port wired to it, they may not
# function properly while in low-power mode
# For more details, see
# https://download.nvidia.com/XFree86/Linux-x86_64/460.39/README/dynamicpowermanagement.html
# Available options:
# - no (the default): RTD3 power management is disabled.
# - coarse: the card only goes to low-power if no application is using it.
# - fine: the card is also allowed to go to low-power if applications are using it but have not
# actively submitted GPU work in some amount of time.

# The Nvidia driver handles power to the video memory separately from the rest of GPU.
# When dynamic_power_management=fine, this options controls the threshold of memory utilization
# (in Megabytes) under which the memory is put in a low-power state.
# Values over 200MB are ignored. Leave blank for the default (200MB).
# Setting this value to 0 keeps the memory powered at all times.

And finally, this is what I have under the hood:

                    /-                      me@machine
                   ooo:                     ----------
                  yoooo/                    OS: ArcoLinux
                 yooooooo                   Kernel: 5.15.2-arch1-1
                yooooooooo                  Uptime: 4 hours, 18 mins
               yooooooooooo                 Packages: 1464 (pacman)
             .yooooooooooooo                Shell: zsh 5.8
            .oooooooooooooooo               Resolution: 1920x1080
           .oooooooarcoooooooo              DE: GNOME 40.4
          .ooooooooo-oooooooooo             WM: Mutter
         .ooooooooo-  oooooooooo            WM Theme: Adwaita
        :ooooooooo.    :ooooooooo           Theme: Arc-Dark [GTK2/3]
       :ooooooooo.      :ooooooooo          Icons: Sardi-Arc [GTK2/3]
      :oooarcooo         .oooarcooo         Terminal: alacritty
     :ooooooooy           .ooooooooo        CPU: Intel i7-10750H (12) @ 5.000GHz
    :ooooooooo   /ooooooooooooooooooo       GPU: Intel CometLake-H GT2 [UHD Graphics]
   :ooooooooo      .-ooooooooooooooooo.     GPU: NVIDIA GeForce GTX 1650 Ti Mobile
  ooooooooo-             -ooooooooooooo.    Memory: 5465MiB / 15762MiB (34%)
 ooooooooo-                 .-oooooooooo.
ooooooooo.                     -ooooooooo

Carefully follow the Installation Wiki for your Arch Linux Desktop Environment and be sure to check the FAQ before you make the switch and could end up in the tty not knowing what to do. The best utility do far for handling the graphic cards on Linux.

May your htop stats be low and your beard grow long! :D

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .