Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Doesn't work on armv7h (RPi2) #143

Closed
mkf opened this issue Aug 27, 2015 · 26 comments
Closed

Doesn't work on armv7h (RPi2) #143

mkf opened this issue Aug 27, 2015 · 26 comments

Comments

@mkf
Copy link

mkf commented Aug 27, 2015

Hi,

I am running Arch Linux on my Raspberry Pi 2 B, and I have installed sway from the AUR.

When I try to run it in tty, it does nothing.

$ sway
$

When I try to run it on i3, a white window appears for a split second.

Also, apparently returns 0:

$ sway && echo teststring
teststring
$

Are you gonna think of support for the ARM architecture in the near future? I would love to have sway working on my RPi, as Wayland is much more optimized for it then X11.

@ddevault
Copy link
Contributor

Can you run with sway -d 2> sway.log to enable debug logging, and post the contents of sway.log?

ARM support is mostly up to wlc.

@mkf
Copy link
Author

mkf commented Aug 27, 2015

Hm, after update which I performed few minutes ago I didn't try -d, and now it outputs some messages.

Contents of sway.log:

Loading config
Handling command 'set $home /home/mf'
Handling command 'set $config /home/mf/.config'
Checking for config at /home/mf/.sway/config
Checking for config at /home/mf/.config/sway/config
Handling command 'set $mod Mod4'
Handling command 'set $term urxvt'
Handling command 'set $menu dmenu_run'
Handling command 'bindsym $mod+Return exec $term'
bindsym - Bound Mod4+Return to command exec urxvt
Handling command 'bindsym $mod+Shift+q kill'
bindsym - Bound Mod4+Shift+q to command kill
Handling command 'bindsym $mod+d exec $menu'
bindsym - Bound Mod4+d to command exec dmenu_run
Handling command 'floating_modifier $mod'
Handling command 'bindsym $mod+Shift+c reload'
bindsym - Bound Mod4+Shift+c to command reload
Handling command 'bindsym $mod+Shift+r restart'
bindsym - Bound Mod4+Shift+r to command restart
Handling command 'bindsym $mod+Shift+e exit'
bindsym - Bound Mod4+Shift+e to command exit
Handling command 'bindsym $mod+h focus left'
bindsym - Bound Mod4+h to command focus left
Handling command 'bindsym $mod+j focus down'
bindsym - Bound Mod4+j to command focus down
Handling command 'bindsym $mod+k focus up'
bindsym - Bound Mod4+k to command focus up
Handling command 'bindsym $mod+l focus right'
bindsym - Bound Mod4+l to command focus right
Handling command 'bindsym $mod+Left focus left'
bindsym - Bound Mod4+Left to command focus left
Handling command 'bindsym $mod+Down focus down'
bindsym - Bound Mod4+Down to command focus down
Handling command 'bindsym $mod+Up focus up'
bindsym - Bound Mod4+Up to command focus up
Handling command 'bindsym $mod+Right focus right'
bindsym - Bound Mod4+Right to command focus right
Handling command 'bindsym $mod+Shift+h move left'
bindsym - Bound Mod4+Shift+h to command move left
Handling command 'bindsym $mod+Shift+j move down'
bindsym - Bound Mod4+Shift+j to command move down
Handling command 'bindsym $mod+Shift+k move up'
bindsym - Bound Mod4+Shift+k to command move up
Handling command 'bindsym $mod+Shift+l move right'
bindsym - Bound Mod4+Shift+l to command move right
Handling command 'bindsym $mod+Shift+Left move left'
bindsym - Bound Mod4+Shift+Left to command move left
Handling command 'bindsym $mod+Shift+Down move down'
bindsym - Bound Mod4+Shift+Down to command move down
Handling command 'bindsym $mod+Shift+Up move up'
bindsym - Bound Mod4+Shift+Up to command move up
Handling command 'bindsym $mod+Shift+Right move right'
bindsym - Bound Mod4+Shift+Right to command move right
Handling command 'bindsym $mod+1 workspace 1'
bindsym - Bound Mod4+1 to command workspace 1
Handling command 'bindsym $mod+2 workspace 2'
bindsym - Bound Mod4+2 to command workspace 2
Handling command 'bindsym $mod+3 workspace 3'
bindsym - Bound Mod4+3 to command workspace 3
Handling command 'bindsym $mod+4 workspace 4'
bindsym - Bound Mod4+4 to command workspace 4
Handling command 'bindsym $mod+5 workspace 5'
bindsym - Bound Mod4+5 to command workspace 5
Handling command 'bindsym $mod+6 workspace 6'
bindsym - Bound Mod4+6 to command workspace 6
Handling command 'bindsym $mod+7 workspace 7'
bindsym - Bound Mod4+7 to command workspace 7
Handling command 'bindsym $mod+8 workspace 8'
bindsym - Bound Mod4+8 to command workspace 8
Handling command 'bindsym $mod+9 workspace 9'
bindsym - Bound Mod4+9 to command workspace 9
Handling command 'bindsym $mod+0 workspace 10'
bindsym - Bound Mod4+0 to command workspace 10
Handling command 'bindsym $mod+Shift+1 move container to workspace 1'
bindsym - Bound Mod4+Shift+1 to command move container to workspace 1
Handling command 'bindsym $mod+Shift+2 move container to workspace 2'
bindsym - Bound Mod4+Shift+2 to command move container to workspace 2
Handling command 'bindsym $mod+Shift+3 move container to workspace 3'
bindsym - Bound Mod4+Shift+3 to command move container to workspace 3
Handling command 'bindsym $mod+Shift+4 move container to workspace 4'
bindsym - Bound Mod4+Shift+4 to command move container to workspace 4
Handling command 'bindsym $mod+Shift+5 move container to workspace 5'
bindsym - Bound Mod4+Shift+5 to command move container to workspace 5
Handling command 'bindsym $mod+Shift+6 move container to workspace 6'
bindsym - Bound Mod4+Shift+6 to command move container to workspace 6
Handling command 'bindsym $mod+Shift+7 move container to workspace 7'
bindsym - Bound Mod4+Shift+7 to command move container to workspace 7
Handling command 'bindsym $mod+Shift+8 move container to workspace 8'
bindsym - Bound Mod4+Shift+8 to command move container to workspace 8
Handling command 'bindsym $mod+Shift+9 move container to workspace 9'
bindsym - Bound Mod4+Shift+9 to command move container to workspace 9
Handling command 'bindsym $mod+Shift+0 move container to workspace 10'
bindsym - Bound Mod4+Shift+0 to command move container to workspace 10
Handling command 'bindsym $mod+h splith'
bindsym - Bound Mod4+h to command splith
Handling command 'bindsym $mod+v splitv'
bindsym - Bound Mod4+v to command splitv
Handling command 'bindsym $mod+s layout stacking'
bindsym - Bound Mod4+s to command layout stacking
Handling command 'bindsym $mod+w layout tabbed'
bindsym - Bound Mod4+w to command layout tabbed
Handling command 'bindsym $mod+e layout toggle split'
bindsym - Bound Mod4+e to command layout toggle split
Handling command 'bindsym $mod+f fullscreen'
bindsym - Bound Mod4+f to command fullscreen
Handling command 'bindsym $mod+Shift+space floating toggle'
bindsym - Bound Mod4+Shift+space to command floating toggle
Handling command 'bindsym $mod+space focus mode_toggle'
bindsym - Bound Mod4+space to command focus mode_toggle
Handling command 'bindsym $mod+a focus parent'
bindsym - Bound Mod4+a to command focus parent
Handling command 'bindsym $mod+Shift+minus move scratchpad'
bindsym - Bound Mod4+Shift+minus to command move scratchpad
Handling command 'bindsym $mod+minus scratchpad show'
bindsym - Bound Mod4+minus to command scratchpad show
[wlc] WLC-1 Chose mode (0) 1280x1024
Output 1 resolution changed to 1280 x 1024
[wlc] /opt/vc/lib/libEGL.so: undefined symbol: glPointSizePointerOES
[wlc] Could not initialize any context
[wlc] Removed bsurface from output (1)
Added output 1:WLC-1
Adding 0x9a8a30 (1, 1280.000000x1024.000000) to 0x357b0 (0, 0.000000x0.000000)
Workspace: Generating new name
Got valid workspace command for target: '1'
Workspace: Found free name 1
Added workspace 1 for output 1
Adding 0x9a3ad0 (2, 1280.000000x1024.000000) to 0x9a8a30 (1, 1280.000000x1024.000000)
Setting focus to 0x9a8a30:1
[wlc] Added output (1)
[wlc] become active
[wlc] Cleanup wlc
[wlc] Closing Xwayland

EDIT: Tried the same on tty and the file is empty (maybe due to i3wm with midori with this issue page open on tty1, though (tried on tty2)).

@ddevault
Copy link
Contributor

That log isn't super helpful. Can you try running orbment instead of sway and see if you get different results?

@mkf
Copy link
Author

mkf commented Aug 27, 2015

Tried running sway -d 2> sway.log as the first command after reboot, still an empty file.

Will try orbment in a moment.

Update: Orbment is installing. BTW, if it will finally work for me, could you add armv7h to arch in AUR? I will use sway everyday, so I can be the tester ;)

@mkf
Copy link
Author

mkf commented Aug 27, 2015

orbment on tty (printed to stderr, I had to copy using gpm):

wlc: logind: session control granted
wlc: Running on vt 1 (fd 0)
(WARN) wlc: Failed to open X11 display
(WARN) wlc: Failed to open device: /dev/dri/card0
wlc: Closed drm
(WARN) wlc: Could not initialize any backend
(ERROR) wlc: Failed to init compositor
wlc: Parent exit (455)
wlc: Restoring vt 1 (0x4) (fd 0)


orbment on i3 (also stderr, had to copy using mouse) (also, a white window for a split second):

 mf  ~  orbment 
registered plugin orbment () Hook api.
(WARN) Could not open plugins directory: plugins
registered plugin core-dpsm () Core display power management.
registered plugin layout () Layout api.
registered plugin compressor () Compression api.
registered plugin compressor-ppm () Compression to ppm image format.
registered plugin keybind () Keybind api.
registered plugin configuration-ini () Configuration backend for the INI format.
registered plugin core-screenshot () Screenshot functionality.
registered plugin core-functionality () Core functionality.
registered plugin compressor-png () Compression to png image format.
registered plugin configuration () Configuration api.
registered plugin autostart () Launch programs on startup.
registered plugin core-layouts () Core set of layouts.
(WARN) Could not open plugins directory: /home/mf/.local/share/orbment/plugins
Loading plugin 'orbment'
Loading plugin 'configuration'
Loading plugin 'configuration-ini'
(WARN) configuration-ini: Failed to open '/home/mf/.config/orbment/orbment.ini': No such file or directory
Loading plugin 'keybind'
Loading plugin 'core-dpsm'
keybind: Added keybind: Go to sleep (<P-d>)
Loading plugin 'layout'
keybind: Added keybind: cycle clients (<P-h>)
keybind: Added keybind: next layout (<P-w>)
Loading plugin 'compressor'
Loading plugin 'compressor-ppm'
Loading plugin 'compressor-png'
Loading plugin 'core-screenshot'
keybind: Added keybind: take screenshot ppm (none)
keybind: Added keybind: take screenshot png (<SunPrint_Screen>, <P-s>)
Loading plugin 'core-functionality'
keybind: Added keybind: exit (<P-Escape>)
keybind: Added keybind: close client (<P-q>)
keybind: Added keybind: spawn terminal (<P-Return>)
keybind: Added keybind: spawn bemenu (<P-p>)
keybind: Added keybind: toggle fullscreen (<P-f>)
keybind: Added keybind: focus next output (<P-l>)
keybind: Added keybind: focus next client (<P-j>)
keybind: Added keybind: focus previous client (<P-k>)
keybind: Added keybind: focus space 0 (<P-1>, <P-KP_1>)
keybind: Added keybind: focus space 1 (<P-2>, <P-KP_2>)
keybind: Added keybind: focus space 2 (<P-3>, <P-KP_3>)
keybind: Added keybind: focus space 3 (<P-4>, <P-KP_4>)
keybind: Added keybind: focus space 4 (<P-5>, <P-KP_5>)
keybind: Added keybind: focus space 5 (<P-6>, <P-KP_6>)
keybind: Added keybind: focus space 6 (<P-7>, <P-KP_7>)
keybind: Added keybind: focus space 7 (<P-8>, <P-KP_8>)
keybind: Added keybind: focus space 8 (<P-9>, <P-KP_9>)
keybind: Added keybind: focus space 9 (<P-0>, <P-KP_0>)
keybind: Added keybind: focus left space (<P-Left>)
keybind: Added keybind: focus right space (<P-Right>)
keybind: Added keybind: move to space 0 (<P-F1>)
keybind: Added keybind: move to space 1 (<P-F2>)
keybind: Added keybind: move to space 2 (<P-F3>)
keybind: Added keybind: move to space 3 (<P-F4>)
keybind: Added keybind: move to space 4 (<P-F5>)
keybind: Added keybind: move to space 5 (<P-F6>)
keybind: Added keybind: move to space 6 (<P-F7>)
keybind: Added keybind: move to space 7 (<P-F8>)
keybind: Added keybind: move to space 8 (<P-F9>)
keybind: Added keybind: move to space 9 (<P-F0>)
keybind: Added keybind: move to output 0 (<P-z>)
keybind: Added keybind: move to output 1 (<P-x>)
keybind: Added keybind: move to output 2 (<P-c>)
keybind: Added keybind: focus view (<B0>)
Loading plugin 'autostart'
Loading plugin 'core-layouts'
layout: Added layout: nmaster
layout: Added layout: grid
layout: Added layout: monocle
keybind: Added keybind: grow nmaster (<P-i>)
keybind: Added keybind: shrink nmaster (<P-o>)
Loaded 13/13 plugins
-- Orbment started --
wlc: Activating tty
wlc: WLC-1 Chose mode (0) 1280x1024
(WARN) wlc: /opt/vc/lib/libEGL.so: undefined symbol: glPointSizePointerOES
(WARN) wlc: Could not initialize any context
wlc: Removed bsurface from output (1)
wlc: Added output (1)
wlc: become active
wlc: Cleanup wlc
wlc: Closing Xwayland
keybind: Removed keybind: Go to sleep
keybind: Removed keybind: exit
keybind: Removed keybind: close client
keybind: Removed keybind: spawn terminal
keybind: Removed keybind: spawn bemenu
keybind: Removed keybind: toggle fullscreen
keybind: Removed keybind: focus next output
keybind: Removed keybind: focus next client
keybind: Removed keybind: focus previous client
keybind: Removed keybind: focus space 0
keybind: Removed keybind: focus space 1
keybind: Removed keybind: focus space 2
keybind: Removed keybind: focus space 3
keybind: Removed keybind: focus space 4
keybind: Removed keybind: focus space 5
keybind: Removed keybind: focus space 6
keybind: Removed keybind: focus space 7
keybind: Removed keybind: focus space 8
keybind: Removed keybind: focus space 9
keybind: Removed keybind: focus left space
keybind: Removed keybind: focus right space
keybind: Removed keybind: move to space 0
keybind: Removed keybind: move to space 1
keybind: Removed keybind: move to space 2
keybind: Removed keybind: move to space 3
keybind: Removed keybind: move to space 4
keybind: Removed keybind: move to space 5
keybind: Removed keybind: move to space 6
keybind: Removed keybind: move to space 7
keybind: Removed keybind: move to space 8
keybind: Removed keybind: move to space 9
keybind: Removed keybind: move to output 0
keybind: Removed keybind: move to output 1
keybind: Removed keybind: move to output 2
keybind: Removed keybind: focus view
keybind: Removed keybind: grow nmaster
keybind: Removed keybind: shrink nmaster
layout: Removed layout: nmaster
layout: Removed layout: grid
layout: Removed layout: monocle
keybind: Removed keybind: cycle clients
keybind: Removed keybind: next layout
keybind: Removed keybind: take screenshot ppm
keybind: Removed keybind: take screenshot png
Deloaded plugins
-- Orbment is gone, bye bye! --
wlc: Parent exit (1327)
 mf  ~  

@ddevault
Copy link
Contributor

@Cloudef

@Cloudef
Copy link

Cloudef commented Aug 27, 2015

AFAIK pi needs to be supported separately as it does not have standard way to do contextes. (But I've heard there is recently some DRM enabled kernel)

As you see in logs, it fails to init any backend.

@ddevault
Copy link
Contributor

http://dri.freedesktop.org/wiki/VC4/

You could try using the appropriate kernel branch if you like.

@Cloudef
Copy link

Cloudef commented Sep 2, 2015

(WARN) wlc: /opt/vc/lib/libEGL.so: undefined symbol: glPointSizePointerOES <- I'm also not sure what this is, but it most likely isn't the real EGL implementation?

@pickfire
Copy link

+1, I can't run sway too. Maybe this is the reason why velox doesn't work too.

@soredake
Copy link

Same problem, sway not starting and returns absolutely nothing.

@pickfire
Copy link

@fenque, can you please try velox.

@soredake
Copy link

@pickfire, i trying, but swc unable to fine wld Makefile:69: *** Could not find package wld.

@pickfire
Copy link

@fenque, I had that error too. Look at michaelforney/swc#26 (comment).

@ddevault
Copy link
Contributor

The new driver has been upstreamed in linux 4.5, but the devicetree wasn't updated. I would guess that we'll see Sway running on the Pi on linux 4.6, though a particularly dedicated person could probably get it working now.

@pickfire
Copy link

I uses the pi on arch which currently uses linux 4.1.20, I heard that 4.5 is a bit experimental. I will try it out if I get a chance.

@ddevault
Copy link
Contributor

I wouldn't expect much without that devicetree.

@pickfire
Copy link

What do you mean by that devicetree? I am actually not very sure what is devicetree.

@ddevault
Copy link
Contributor

It's a thing Linux uses on ARM to describe the interface to devices like a GPU.

@ddevault
Copy link
Contributor

This seems to work with some additional configuration - running Sway on a misconfigured Raspberry Pi will now print details about how to configure it correctly. Please test this and let me know how it goes!

@pickfire
Copy link

@SirCmpwn Tested and working but sway is awfully slow when running on the pi even with gpu_mem=128. The display start to lag on mouse movement or keyboard input when I start an X-window application.

@ddevault
Copy link
Contributor

Gotcha. Out of curiousity, can you build wlroots and try out the examples?

@pickfire
Copy link

@SirCmpwn I tried building the latest git but it doesn't build. Logs at http://sprunge.us/PaUP

@refacto
Copy link
Contributor

refacto commented Sep 16, 2017

@pickfire Did you try with the latest firmware? I can't reproduce, not on raspbian nor arch.

@pickfire
Copy link

@refacto I don't recall where I tried it, either alarm or alpine (probably not raspbian).

@enricoT
Copy link

enricoT commented Sep 25, 2017

default_border none
this prevent wlc to make work mouse as a whip

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

7 participants