OnePad evdev support and more
#1
Hello everyone,

So, as some might know I work on evdev version of onepad.
However, I have a few questions and remarks:
1) Evdev can handle keyboard, should I handle keyboard with it then? The rational to do that would be to remove x11 dependence. Which lead to sub question, are there any other usages of x11?
2) I guess some of you might have understood that pretty much everything there is getting redone(GUI is fully redone, evdev will replace SDL and maybe even x11/ whole keyboard.* stuff and I could not avoid myself to cppfy even more btw, sorry, I am like a junkie). Wouldn't it be coherent to start fresh with a new name(and put copyright to "PCSX2 Team" instead of individual contributors)? If so, what would be your idea of a name? Wink

3) About ETA, my modifications are conflicting with a few bits and pieces of the GUI collaterals, so I will merge/prepare for merge only after it is mainlined, however, I move forward as I refactor my little class at the same time. I would guess that the time I make a usable implem + unit testing + wider tests myself, the first test build will be early next week(unless problems). Then shoe knows what he has to do ;Wink Once that is done merge will go on etc...
4) At the same time, should I make SDL optional in SPU2-X? Even if I don't link to libpulse directly, this would allow to finally have Ctrl-c to work, it would be nice right? ;Wink Besides, it could solve sound bugs for some who have them since pulse can emulate ALSA anyway.

Voilà, end of my speech. Don't hesitate to give your thoughts.
Reply

Sponsored links

#2
1) Keep X11, it is nice and it's working. GSdx (others GS too) still depends on it. Wx too and potentially GTK too.
2) Actually I was thinking to bump it to 2.0. Yes you can set the copyright to "PCSX2 Team" for file that are heavily changed. I already rewrite some parts of the plugin. too.
3) Let's finish the gui first.
4) OoO, so it is SDL2 the culprit! Let's keep it for the moment, no need to rush it.
Reply
#3
(10-27-2015, 07:40 PM)gregory Wrote: 1) Keep X11, it is nice and it's working. GSdx (others GS too) still depends on it. Wx too and potentially GTK too.
2) Actually I was thinking to bump it to 2.0. Yes you can set the copyright to  "PCSX2 Team" for file that are heavily changed. I already rewrite some parts of the plugin. too.
3) Let's finish the gui first.
4) OoO, so it is SDL2 the culprit! Let's keep it for the moment, no need to rush it.

1) OK, maybe I can make optional code path for that later then(after 1.4). Wx(I think), SDL and especially GTK do not depend on X11, they possess wayland codepaths. It's kinda sad to have xwayland being used just for onepad.
2) Okay, sounds good to me. I guess the bump is really deserved
3) Well almost everything is in my little sub class so it will not break a lot of stuff. Promise(cross fingers). But I will wait that GUI is finished before I add a pile of work onto you, don't worry  Wink
4) Yap, SDL is at least one culprit(in pcsx2, always assume the worst right? So there might be others). I don't plan to remove, just add option to compile SDL less, even though the SDL part is probably quite not useful(I don't even really understand why it's there in the first place) as Portaudio/ALSA backend is kinda universal.
Reply
#4
1/ I think we have plenty of time before wayland is really mainstream. People said that X11 was completely dead 5 five years ago and still it is the default. Reality that drivers aren't available (except the free driver).
4/ It must be. It used to work here and failed very recently. SDL2 is real PITA.

Portaudio/ALSA is maybe univeral but it fails to work for various people. Nowadays default driver is pulseaudio. Pulseaudio emulate the ALSA part but it isn't perfect (or portaudio is buggy, well it could be us too but win is fine so.....). SDL is a working alternative (at least SDL1 because SDL2 has others issue).
Reply
#5
For 1/ X11 is not dead for sure, but fedora is planning to default to wayland early next year whenever driver support it, others will follow, nvidia driver is very near too this time(only a handful of EGL left) and amd probably too. After that it will just chain. Of course it will live on but I guess more and more people will use wayland, if only because it solves real problems such as dual screen. X11 will certainly survive in Xwayland no matter what i would guess, if only for X11 forwarding which will rendered kinda safe by it anyway(backed up by some tomoyo or SELinux rules).
for quite some time,
Okay, houray for SDL2... Well, it is made for video games. To be fair, the way it is used here is the exact opposite of what it's done for(event driven and all).
Possibly portaudio problem, though I don't know the state of ALSA "emulation"(more a controlled pass through).
Pulseaudio is not a driver. It is just a bloat over ALSA. One of its very few interest was to have software mixing. Which is nowadays handled well by ALSA with dmix and is, in any way, utterly useless as even my now almost 7 years old integrated sound chip has an hardware mixer.
A lot of work has been done to be rid of the sound server too, keeping the interface only(which, to be fair, is quite nice) and ALSA can emulate it perfectly as long as there is no hard link to server(in which case apulse is your friend). Hence the libpulse. The worst disadvantages of the full server is that it does not cooperate with other apps which don't want to use it and it heavily degrades sound quality(and force software mixing if that did not change). Make a try with and without, esp with a good 2.1/5.1 sound track, the attenuation and noise are annoying to quite some degree. Hopefully it's not default, ALSA resists quite well still, ArchLinux and such still default to ALSA(houray for that). We are not quite in the same case as InitV VS Systemd since pulse is not a replacement but a mere add on, even if poettering has tried to force it down everyone's throat, it clearly does not bring the advantages such as the one from Systemd.
I see for SDL1 yes Wink SDL2 seems to be one hell of a problem as I have seen.... Can try to see the problem with portaudio over pulse, it seems strange.
Reply
#6
(10-27-2015, 10:10 PM)3kinox Wrote: For 1/ X11 is not dead for sure, but fedora is planning to default to wayland early next year whenever driver support it, others will follow, nvidia driver is very near too this time(only a handful of EGL left) and amd probably too. After that it will just chain. Of course it will live on but I guess more and more people will use wayland, if only because it solves real problems such as dual screen. X11 will certainly survive in Xwayland no matter what i would guess, if only for X11 forwarding which will rendered kinda safe by it anyway(backed up by some tomoyo or SELinux rules).
for quite some time,

Don't care, I'm on debian (stable now). I'm safe for the next century Tongue2 Seriously EGL drivers don't work. I try to use EGL to do the rendering, and behavior is random. I know the move is ineluctable but I will let the other manage the bugs.
(by the way dual screen is working nicely here).

By the way, there is a libinput associated with wayland. I don't know what the lib does. But it could be the X counterpart to handle keyboard/mouse event.
Reply
#7
(10-28-2015, 12:48 AM)gregory Wrote: Don't care, I'm on debian (stable now). I'm safe for the next century Tongue2 Seriously EGL drivers don't work. I try to use EGL to do the rendering, and behavior is random. I know the move is ineluctable but I will let the other manage the bugs.
(by the way dual screen is working nicely here).

By the way, there is a libinput associated with wayland. I don't know what the lib does. But it could be the X counterpart to handle keyboard/mouse event.

Haha indeed, debian wayland will probably not be before 2020. For me it's opposite to you, dual screen is completely screwd up but EGL randering for my WM/DE is working perfect, much better than GLX.
Libinput is something over evdev/libevdev (it's more like xf86-input-evdev) that translate X11 or wayland calls to evdev. X11 can use it too.
Reply




Users browsing this thread: 1 Guest(s)