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

failed with old xorg #413

Closed
zaza42 opened this issue Oct 15, 2017 · 16 comments
Closed

failed with old xorg #413

zaza42 opened this issue Oct 15, 2017 · 16 comments
Milestone

Comments

@zaza42
Copy link

zaza42 commented Oct 15, 2017

I am using an old version of Xorg (due to a deprecated driver), and the new version of dunst fails to start:

$ dunst
X Error of failed request:  BadRequest (invalid request code or no such operation)
  Major opcode of failed request:  149 (RANDR)
  Minor opcode of failed request:  42 ()
  Serial number of failed request:  28
  Current serial number in output stream:  28

Xorg 1.12.4, dunst 1.2.0

@tsipinakis
Copy link
Member

Looks like this is because you're missing the xrandr extension, or its an outdated version. What does xrandr --version say?

@zaza42
Copy link
Author

zaza42 commented Oct 15, 2017

$ xrandr --version
xrandr program version       1.5.0
Server reports RandR version 1.3

@bebehei
Copy link
Member

bebehei commented Oct 15, 2017

See #364

@tsipinakis
Copy link
Member

Dunst requires xrandr of 1.5 and above to work. It was supposed to automatically detect the outdated version and use Xinerama by default but there's a bug in the detection logic (fixed by #364) that prevents it.

As a workaround you can enable force_xinerama in the config but keep in mind that by doing that dunst won't be notified of monitor layout updates and it can cause some very weird glitches if you change it without restarting dunst.

@zaza42
Copy link
Author

zaza42 commented Oct 15, 2017

Thanx! force_xinerama fixed this issue.
(this is an old laptop, i never change any layout)

@tsipinakis
Copy link
Member

tsipinakis commented Oct 15, 2017

I'll keep this issue open until #364 is merged since it's directly related.

@tsipinakis tsipinakis added this to the v1.3.0 milestone Oct 24, 2017
@bebehei
Copy link
Member

bebehei commented Oct 30, 2017

@zaza42 I'm curious. Which distro and distroversion are you using?

@zaza42
Copy link
Author

zaza42 commented Oct 31, 2017

@bebehei Debian Buster with Xorg 1.12.4

@bebehei
Copy link
Member

bebehei commented Oct 31, 2017

@zaza42 and how do you manage to get such an old X11 version?

@bebehei
Copy link
Member

bebehei commented Oct 31, 2017

@zaza42 I'm wondering, because repology lists only Ubuntu 14.04 and ROSA Linux 14.1 as the only two distros left using xrandr < 1.5. (While for both ship xrandr 1.5 in their updates and trusty is outdated in 6 months anyway.).

<Edit>And on the debian packages site lists xorg 1.12.4 only for oldoldstable(wheezy).</Edit>

Honestly, on that databasis, I don't see any reason checking for xrandr < 1.5 anymore.

@zaza42
Copy link
Author

zaza42 commented Nov 1, 2017

@bebehei: I've followed these instructions: SiS 771/671 VGA driver in Debian Jessie [hacky solution]
Yes, this package is from wheezy. I personally own 3 laptops with this crappy sis671 vga chip, which driver became deprecated after 1.12.4 (because of abi changes). My 4 friends also have a laptop like this. This vga chipset was a very famous years ago, because it was shipped with cheap laptops. A lot of users still use these machines. My other friend has Fujitsu Stylistic LT C-500 handheld, and he is also forced to use old xorg because of deprecated touchscreen driver.

I thought one of goals of dunst is being lightweight (on old hardware). I've tried a bunch of notification daemons, and arrived to dunst, which is as lightweight as it can. I suggest to support these old hardware, because the more heavier notification daemons still support it. I have no idea why can't fit some lines of codes to support old xorg on old hardwares.

At least please put in documentation this "force_xinerama" workaround, or please, please keep supporting old hardwares which never get newer drivers in newer xorgs!

(Or what other lightweight notification daemon do you suggest for these machines?)

@bebehei
Copy link
Member

bebehei commented Nov 1, 2017

@zaza42 I see your point. I started caring about this issue, when I realized #364's author is unresponsive and it's on our roadmap for 1.3. I wanted to give it a try and setup a VM for reproducibility. I searched for distros, which match xrandr < 1.4, but there were only these two pretty old distros left. I got sceptical and it also smelled fishy when you stated your xorg and distroversions.

But your explanation makes absolutely sense.

I have no idea why can't fit some lines of codes to support old xorg on old hardwares.

You're right. Based on your thorough explanation, I had enough reasons to put some effort into this. I configured today different VMs and Ubuntu installs. But I hadn't been able to install a VM with xorg supporting xrandr protocol up to 1.4 and libxrandr == 1.5. I'm not able to do anything here. I can't deliver a fix in code. Maybe someone else has got more luck.

@zaza42
Copy link
Author

zaza42 commented Nov 2, 2017

You can easily reproduce the problem. Install Debian Buster i386 in VM, and add my repository to sources.list: deb http://flerp.hu/debian/aptly/public stretch main contrib
And create /etc/apt/preferences.d/flerp with:

Package: *
Pin: origin flerp.hu
Pin-Priority: 1079

...aand apt-get dist-upgrade, then you will got my "frankendebian" system with old xserver-xorg-core (and some new packages).

@bebehei
Copy link
Member

bebehei commented Nov 2, 2017

@zaza42 The path was much harder. I had to find your GPG key and for some reasons, your repo does not provide libudev0 (but requires it). And then dist-upgrade doesn't work although you pin it.

Also I had to find the old packages for my mouse driver.

I had been to tweak my VM very hard, until xrandr --version reported the right tuple and the bug was reproducible.

@bebehei
Copy link
Member

bebehei commented Nov 4, 2017

Fixed on master via #364

@bebehei bebehei closed this as completed Nov 4, 2017
@zaza42
Copy link
Author

zaza42 commented Nov 5, 2017

@bebehei : Sorry, I forgot to mention to use the original wheezy repo as well, which contains libudev0 and all xorg drivers for that old version.

Thanx for the fix, anyway!

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

No branches or pull requests

3 participants