You are not logged in.
In looking around for a solution to this problem I've found that most of the solutions involve some kind of remote server that people are messing up, but I'm not using anything like that.
When I use "echo $DISPLAY" I get nothing, and kitty isn't opening due to missing the environment variable.
I've tried all kinds of variables using export, but none of them seem to work when I try launching kitty. I'm also having issues with Hyprland not displaying or opening windows, but that might be totally unrelated for all I know. I'm mostly wondering what DISPLAY is supposed to be, and how I can fill it in.
Last edited by Zurite (2024-01-19 20:13:15)
Offline
How are you starting Hyprland?
If I run `Hyprland` from a TTY login DISPLAY is set correctly with no configuration needed.
Jin, Jîyan, Azadî
Offline
It would and should be filled, is xorg-xwayland installed?
Offline
How are you starting Hyprland?
If I run `Hyprland` from a TTY login DISPLAY is set correctly with no configuration needed.
I'm doing the same thing.
It would and should be filled, is xorg-xwayland installed?
I just installed it and it didn't seem to change anything, is there more setup that I need to do?.
Offline
restart hyprland after having it installed.
Offline
I rebooted my system and started Hyprland. It looked exactly the same as before, with no windows opening when I press the key binds. After I closed it, however, I got a new error that didn't show up before.
[glfw error 65544]: Wayland: Failed to connect to display
GLFW initialization failed
Which is the same error that kitty has been throwing back at me.
Also, echo $DISPLAY still returns nothing.
Offline
Can you "xdpyinfo -display :0" ?
Online
The command is not found.
Offline
I installed xorg-xdpyinfo and reran the command.
It returned:
xdpyinfo: unable to open display ":0"
Offline
FWIW I still get the correct DISPLAY value in Hyprland even without xorg-xwayland.
@OP: what is your graphics hardware?
lspci -k -d ::03xxJin, Jîyan, Azadî
Offline
00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07
Subsystem: ASUSTek Computer Inc. Mobile 4 Series Chipset Integrated Graphics Controller
Kernel driver in use: i915
Kernel modules: i915
00:02.1 Display controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)
Subsystem ASUSTek Computer Inc. Mobile 4 Series Chipset Integrated Graphics Controller
For the record, I do know that I am using a computer from around 2006, and I really should have mentioned that earlier, but that still doesn't explain to me why DISPLAY is missing.
Edit: I also wanted to mention that when I boot up hyprland I do get a cursor, so something is rendering even without the DISPLAY variable.
Last edited by Zurite (2024-01-19 18:40:44)
Offline
Going back to the OP:
When I use "echo $DISPLAY" I get nothing, and kitty isn't opening due to missing the environment variable
How are you using `echo $DISPLAY` if kitty won't open? How do you know that kitty is failing "due to missing the environment variable"?
Jin, Jîyan, Azadî
Offline
Edit: I also wanted to mention that when I boot up hyprland I do get a cursor, so something is rendering even without the DISPLAY variable.
Sorry if this is too obvious - but you're sure that's not just the tty? Rather than `echo $DISPLAY`, what do you get from just entering `tty`?
Also, while the suspicion I'm getting at above is the most relevant, DISPLAY is specifically an X11 thing. If a compositor is using Xwayland, there should be a DISPLAY variable, but otherwise there would not be, though there would be a WAYLAND_DISPLAY variable. Do you have this variable set (e.g., `echo $WAYLAND_DISPLAY`)?
I'm also having issues with Hyprland not displaying or opening windows
That almost certainly is relevant. What windows are not opening? E.g., which ones would you expect to see?
Last edited by Trilby (2024-01-19 19:14:04)
"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman
Offline
How are you using `echo $DISPLAY` if kitty won't open? How do you know that kitty is failing "due to missing the environment variable"?
I'm sorry, but I'm not really knowledgeable enough in this stuff to answer this question in a smart way. I'm not using kitty to do anything, I'm using whatever basic terminal you start with in arch. Since hyprland isn't working I don't have a window manager of any kind.
what do you get from just entering `tty`?
It returns '/dev/tty1'
Also what I meant by cursor was my mouse cursor, not a text cursor. Sorry if I was misleading.
Do you have this variable set (e.g., `echo $WAYLAND_DISPLAY`)?
This also returns nothing.
What windows are not opening? E.g., which ones would you expect to see?
When I run Hyprland I get a blank screen with my cursor on it. No windows open with any of the shortcuts set in the config. Honestly, at this point I think the issue is that any window it wants to open doesn't open because it can't find the display, since running any of these programs in the terminal tells me they can't find the display. SUPER+M does work to close Hyprland, but sometimes closing Hyprland gives me a blank screen that I can't interact with, forcing me to restart.
Offline
So hyprland isn't even running - that is the problem that needs to be fixed.
"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman
Offline
The "basic terminal" is called a TTY or console and it's not supposed to have DISPLAY set. Your thread title & OP are an XY-problem, which I should have picked up on sooner. Sorry about that.
The actual problem here is that you can't open kitty. Which keys are you using to attempt that, exactly?
Please also share the output of
grep '$terminal' ~/.config/hypr/hyprland.conf
pacman -Q kittyEDIT: crossposted, Trilby is right. Ignore my request.
EDIT2: check the logs: https://wiki.hyprland.org/Crashes-and-Bugs/
Last edited by Head_on_a_Stick (2024-01-19 19:47:59)
Jin, Jîyan, Azadî
Offline
So you're saying that Hyprland is the issue and that the error kitty is giving me makes sense because it should only be able to run when there is a DISPLAY variable anyways? That makes a lot of sense actually, but I am somewhat confused as to how Hyprland is broken. I haven't gotten any kind of error messages from anything relating to it.
Since the actual issue I have has nothing to do with the OP and title, do I need to make a new post? Sorry for leading you guys on a wild goose chase with this issue.
Offline
Kitty can't be run from a TTY and it doesn't need DISPLAY to be set to work under Wayland.
Edit the title to reflect the actual problem and follow the suggestion in my second EDIT above.
No need to apologise, I should have picked up on this immediately. Props to Trilby for actually using their brain, unlike me.
Jin, Jîyan, Azadî
Offline
Just goes to show: there are no stupid questions, only basic questions and stupid people who neglect to ask them ![]()
"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman
Offline
EDIT2: check the logs: https://wiki.hyprland.org/Crashes-and-Bugs/
I'm not really sure how to check the log, putting in the first command on that page prints out a pretty short log and I don't know how to use debug:disable_logs or debug:enable_stdout_logs.
Also, I'm not sure if that's the best name for the topic, so if anyone has any better ideas I'd be happy to change it again.
Also Also, since I'm doing everything in TTY I don't really have any way (that I know of) to copy and paste any of the log onto here to show you guys, just an FYI.
Offline
Jin, Jîyan, Azadî
Offline
Here is the log, but it doesn't have much information and I'm not sure how to enable the debug option. I tried adding debug:enable_stdout_logs into the conf file, but that didn't seem to change anything.
[LOG] Instance Signature: 03ebbe18ed8517ee22591eac82cd54322f42cb7d_1705704449
[LOG] Hyprland PID: 390
[LOG] ===== SYSTEM INFO: =====
[LOG] System name: Linux
[LOG] Node name: asus
[LOG] Release: 6.7.0-arch3-1
[LOG] Version: #1 SMP PREEMPT_DYNAMIC Sat, 13 Jan 2024 14:37:14 +0000
[LOG] GPU information:
00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller [8086:2a42] (rev 07) (prog-if 00 [VGA controller])
[LOG] os-release:
NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://bugs.archlinux.org/"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=archlinux-logo
[LOG] ========================
[INFO] If you are crashing, or encounter any bugs, please consult https://wiki.hyprland.org/Crashes-and-Bugs/
[LOG]
Current splash: "Hello everyone this is YOUR daily dose of ‘read the wiki’" - Vaxry
[LOG] Creating the HookSystem!
[LOG] Creating the KeybindManager!
[LOG] [hookSystem] New hook event registered: configReloaded
[LOG] Creating the AnimationManager!
[LOG] Created a bezier curve, baked 255 points, mem usage: 4.08kB, time to bake: 11146.04µs. Estimated average calc time: 0.35µs.
[LOG] Creating the ConfigManager!
[LOG] NOTE: further logs to stdout / logfile are disabled by default. Use debug:disable_logs and debug:enable_stdout_logs to override this.Also, after closing Hyprland an error was written after my prompt
It reads:
[019 17:56:44.395811] [glfw error 65544]: Wayland: Failed to connect to display
GLFW initialization failedEDIT:
By the way, I'm having the same issue with sway, where I'm pressing the keybinds to spawn windows and nothing spawns. Also, when I run sway I can see the toolbar, background and mouse, and I can switch workspaces. My guess would be that there's something wrong with Wayland, particularly in spawning/displaying windows. Hopefully this makes the issue clearer.
Last edited by Zurite (2024-01-19 23:21:22)
Offline
How about this outputs:
echo $DISPLAY
echo $XDG_CURRENT_DESKTOP
echo $WAYLAND_DISPLAY
env | grep -i waylandIs wlroots installed ?
The problem of Mod+q Mod+m is not responding after logged in, thats some packages are missing. It happened to me too.
Last edited by jojo06 (2024-01-19 23:56:21)
Offline
Just to be clear, you've started hyprland, figured the shortcuts don't work and then have tried to start stuff from a console either by switching the VT or terminating hyprland??
pacman -Qs kittypost your hyprland.conf and can you autostart kitty w/ hyprland?
Online
My understanding of what's going on is that I've started Hyprland, figured that windows weren't opening and then tried to start stuff from TTY, which didn't work because there's not supposed to be any display variables set there. I'm almost certain that hyprland's shortcuts do actually work because I can quit it with SUPER+M. What I think it might be is some kind of rendering issue causing windows to not appear, probably with Wayland since using sway resulted in the same kind of issue where windows wont appear but the shortcuts for exiting and switching workspaces still work.
pacman -Qs kittyreturns:
local/kitty 0.31.0-1
A modern. hackable, featureful, OpenGL-based terminal emulator
local/kitty-shell-integration 0.31.0-1
Shell integration scripts for kitty, an OpenGL-based terminal emulator
local/kitty-termingo 0.31.0-1
Terminfo for kitty, and OpenGL-based terminal emulatorHere's my hyprland config file.
# This is an example Hyprland config file.
#
# Refer to the wiki for more information.
#
# Please note not all available settings / options are set here.
# For a full list, see the wiki
#
# See https://wiki.hyprland.org/Configuring/Monitors/
monitor=,preferred,auto,auto
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
# Execute your favorite apps at launch
# exec-once = waybar & hyprpaper & firefox
# Source a file (multi-file configs)
# source = ~/.config/hypr/myColors.conf
# Set programs that you use
$terminal = kitty
$fileManager = dolphin
$menu = wofi --show drun
# Some default env vars.
env = XCURSOR_SIZE,24
env = QT_QPA_PLATFORMTHEME,qt5ct # change to qt6ct if you have that
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input {
kb_layout = us
kb_variant =
kb_model =
kb_options =
kb_rules =
follow_mouse = 1
touchpad {
natural_scroll = false
}
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
}
general {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
gaps_in = 5
gaps_out = 20
border_size = 2
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
col.inactive_border = rgba(595959aa)
layout = dwindle
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
allow_tearing = false
}
decoration {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
rounding = 10
blur {
enabled = true
size = 3
passes = 1
vibrancy = 0.1696
}
drop_shadow = true
shadow_range = 4
shadow_render_power = 3
col.shadow = rgba(1a1a1aee)
}
animations {
enabled = true
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
animation = windows, 1, 7, myBezier
animation = windowsOut, 1, 7, default, popin 80%
animation = border, 1, 10, default
animation = borderangle, 1, 8, default
animation = fade, 1, 7, default
animation = workspaces, 1, 6, default
}
dwindle {
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
pseudotile = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = true # you probably want this
}
master {
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
new_is_master = true
}
gestures {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
workspace_swipe = false
}
misc {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
force_default_wallpaper = -1 # Set to 0 to disable the anime mascot wallpapers
}
# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
device:epic-mouse-v1 {
sensitivity = -0.5
}
# Example windowrule v1
# windowrule = float, ^(kitty)$
# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
windowrulev2 = nomaximizerequest, class:.* # You'll probably like this.
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
$mainMod = SUPER
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod, Q, exec, $terminal
bind = $mainMod, C, killactive,
bind = $mainMod, M, exit,
bind = $mainMod, E, exec, $fileManager
bind = $mainMod, V, togglefloating,
bind = $mainMod, R, exec, $menu
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, J, togglesplit, # dwindle
# Move focus with mainMod + arrow keys
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
# Switch workspaces with mainMod + [0-9]
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10
# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10
# Example special workspace (scratchpad)
bind = $mainMod, S, togglespecialworkspace, magic
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindowOffline