Blinking Underscore when system starts up

I’m a new nixos user. I have gotten nixos working well on my laptop that uses an nvidia gpu. I’m now trying to get it working on my desktop, which has an intel arc A550.

I installed the iso for the gnome preset, which worked fine. However, now when I launch my system, it shows a blinking underscore in the top left corner. If I wait for a while I get:

[      62.622276] snd_hda_intel 0000:04:00.0: HSW/BDW HD-audio HDMI/DP requires binding with gfx driver

What should I try? I have already confirmed that fast boot is disabled in my bios.

Welcome!

Check BIOS again for an integrated graphics setting and if it’s there try to disable it. If there’s an option akin to System preferred GPU trying setting that to the proper GPU

You might have seen this in your searching Starting Systems with Intel® Arc™ Graphics Cards and Ubuntu...

I changed “Primary Graphics Adapter” in my asrock from “auto” to “PCIE4” and that caused the same result. Is there anything else I should look at?

thank you so much!

did you also Disable Integrated graphics Multi-Monitor option as the link suggested? Also, “auto” might be a bad idea, could you explicitly pick the card?

also might as well try this boot.initrd.kernelModules = [ "i915" ] in your configuration; although I’m not sure that’s the right driver.

My options were “auto” “PCIE4” or “onboard.” I’m not seeing anything for Integrated graphics Multi-Monitor.

how would I go about editing my config if I always get stuck on the underscore of doom?

ah, try “PCIE4” - might need to reinstall and set the option?

I’ll try a reinstall

reinstall has the same results :frowning:

that’s disappointing! I’m baffled

Tonight I’m going to try installing with no DE so that I can access the config and try to get i3 working from there.

I tried installing with no DE and installing the i915 drivers like you said. That didn’t work. I’m admitting defeat and am just going to use the nix package manager on Linux Mint.

If you are reading this thread with the same problem as me and are able to solve it, please leave a reply.

last ditch effort is to attempt to disable that option if you can. Sorry I couldn’t help!

That also didn’t work. Thanks for trying. Let this be a warning to Linux users considering getting an Intel arc

https://www.reddit.com/r/NixOS/comments/116b81k/how_to_use_arc_gpu_with_nixos/

A new hope…

1 Like

I fixed it. Two options need to be set in your config for it to work properly:

boot.initrd.kernelModules = ["i915"];
boot.kernelPackages = pkgs.linuxPackages_latest;

The main issue has to do with intel arcs only being supported in kernel 6, which nixos does not use by default.

You also need to do the thing in the BIOS where you set Integrated graphics Multi-Monitor option to disabled like this link shows:
https://www.intel.com/content/www/us/en/support/articles/000092607/graphics.html

If you’re experiencing the blinking underscore and can’t escape, I’d try doing a reinstall with no DE and then manually editing your config.

This config got me up and running with i3wm:

# Edit this configuration file to define what should be installed on
# your system.  Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running ‘nixos-help’).

{ config, pkgs, callPackage, ... }:

{
  imports =
    [ # Include the results of the hardware scan.
      ./hardware-configuration.nix
    ];

  environment.pathsToLink = ["/libexec"];

  services.xserver = {
    enable = true;

    desktopManager = {
      xterm.enable = false;
    };
    
    displayManager = {
      defaultSession = "none+i3";
    };

    windowManager.i3 = {
      enable = true;
      extraPackages = with pkgs; [
        dmenu
        i3status
        i3lock
        i3blocks
      ];
    };
  };

  # Bootloader.
  boot.loader.systemd-boot.enable = true;
  boot.loader.efi.canTouchEfiVariables = true;
  boot.initrd.kernelModules = ["i915"];
  boot.kernelPackages = pkgs.linuxPackages_latest;

  networking.hostName = "nixos"; # Define your hostname.
  # networking.wireless.enable = true;  # Enables wireless support via wpa_supplicant.

  # Configure network proxy if necessary
  # networking.proxy.default = "http://user:password@proxy:port/";
  # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";

  # Enable networking
  networking.networkmanager.enable = true;

  # Set your time zone.
  time.timeZone = "America/Chicago";

  # Select internationalisation properties.
  i18n.defaultLocale = "en_US.UTF-8";

  i18n.extraLocaleSettings = {
    LC_ADDRESS = "en_US.UTF-8";
    LC_IDENTIFICATION = "en_US.UTF-8";
    LC_MEASUREMENT = "en_US.UTF-8";
    LC_MONETARY = "en_US.UTF-8";
    LC_NAME = "en_US.UTF-8";
    LC_NUMERIC = "en_US.UTF-8";
    LC_PAPER = "en_US.UTF-8";
    LC_TELEPHONE = "en_US.UTF-8";
    LC_TIME = "en_US.UTF-8";
  };

  # Configure keymap in X11
  services.xserver = {
    layout = "us";
    xkbVariant = "";
  };

  # Define a user account. Don't forget to set a password with ‘passwd’.
  users.users.firesquid = {
    isNormalUser = true;
    description = "firesquid";
    extraGroups = [ "networkmanager" "wheel" ];
    packages = with pkgs; [];
  };

  # Allow unfree packages
  nixpkgs.config.allowUnfree = true;

  # List packages installed in system profile. To search, run:
  # $ nix search wget
  environment.systemPackages = with pkgs; [
     vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
     wget
     firefox
     git
     neovim
     rofi
     kitty
  ];

  # Some programs need SUID wrappers, can be configured further or are
  # started in user sessions.
  # programs.mtr.enable = true;
  # programs.gnupg.agent = {
  #   enable = true;
  #   enableSSHSupport = true;
  # };

  # List services that you want to enable:

  # Enable the OpenSSH daemon.
  # services.openssh.enable = true;

  # Open ports in the firewall.
  # networking.firewall.allowedTCPPorts = [ ... ];
  # networking.firewall.allowedUDPPorts = [ ... ];
  # Or disable the firewall altogether.
  # networking.firewall.enable = false;

  # This value determines the NixOS release from which the default
  # settings for stateful data, like file locations and database versions
  # on your system were taken. It‘s perfectly fine and recommended to leave
  # this value at the release version of the first install of this system.
  # Before changing this value read the documentation for this option
  # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
  system.stateVersion = "23.11"; # Did you read the comment?

}
3 Likes

very nice! I should have mentioned the kernel but glad you’re running NixOS on your desktop. Enjoy!

1 Like