Xfce Cannot Manage Display & Mouse from Xfce4 settings menus

I installed FreeBSD for the first time yesterday and installed Xorg and Xfce4 with Slim to manage logging in. I can boot into slim and login to the desktop and everything seems to work. But the settings menu doesn't have the monitor in the list of displays, and the mouse settings show "sysmouse" which doesn't seem to affect any change to how my mouse is actually working.

I've installed xf86-input-synaptics xf86-input-mouse but that doesn't seem to help. I also tried to generate an Xorg.conf file to manual set drivers but it fails with using the -configure param, although I was told that this parameter is no longer supported/working.

*I also cannot change screen brightness via the keyboard keys, but I'm assuming that will be fixed or at least requires xfce to be able to manage the display settings.


My hardware is a Dell Latitude E6540, Intel CPU, Intel Embedded and AMD HD 8690M GPUs (not sure which one is HDMI out and which is onboard display).
 
I installed FreeBSD for the first time yesterday and installed Xorg and Xfce4 with Slim to manage logging in

Hi, unfortunately Slim is discontinued, so odds ratio foresees we'll have to switch to another DM sooner or later :(
If you want a full XFCE desktop, and not only the base packages, install x11/xfce4-goodies as well, or pick out the single utilities you need, provided you haven't already done so

I've installed xf86-input-synaptics xf86-input-mouse but that doesn't seem to help
x11-drivers/xf86-input-synaptics is meant for use in conjunction with Synaptics Touchpads, if you're using an external peripheral (USB, parallel, serial mouse) or a non-Synaptics Touchpad (Ex. ALPS) you shouldn't need, nor use it ;).
I also tried to generate an Xorg.conf file to manual set drivers but it fails with using the -configure param, although I was told that this parameter is no longer supported/working
Xorg's -configure param is still supported, it shouldn't result in an error, unless you lack some driver (ex Nvidia binaries), your / root file system is full, .xinitrc is wrongly set, or you're are trying to running it while another X instance is already running (you should use it from ttyv*( without having prior launched Xorg, or after having killed it). Still, since Xorg shall best optimize its own configuration automatically the first time you launch it, the usage of -configure is to be discouraged, unless some problem arose, as the new configuration might results in issues the first one did not have.
Hence, any additional custom configuration should be appended as a dedicated .conf file inside /usr/local/etc/X11/xorg.conf.d, always following the default xorg.conf(5) syntax see: 5.4 Xorg Configuration

But the settings menu doesn't have the monitor in the list of displays
You mean the model is not recognized and is just listed as '1'? You still should be able to set resolution for DISPLAY 0, mine is "not recognized" either ;) You should also be able to adjust parameters with xfce4-diplay-settings from command-line

Anyway proper display settings should be set in stead /usr/local/etc/X11/xorg.conf.d, refer again to the Handbook Section. Supported resolutions for all available monitors can be listed with xranrdr(1). If you need it, you can also use xrandr to dynamically change output and resolution for the current session, instead of permanently change configuration in Xorg's .conf files...for example:

xrandr --output LVDS-0 --off --output HDMI-0 --mode 1920x1080.
This will disable your current laptop monitor's (if LVDS), and pass the Xorg output to a connected HDMI monitor, with the specified resolution (given that mode is listed among defaults, or you'll have to try add it). To subdivide the output between the laptop's and the HDMI monitor:
xrandr --auto --output LVDS-0 --right-of HDMI-0.
Obviously you can add a xrandr entry in your ./xinitrc, or wherever start-up functions are stored, but really, most stable and reliable standard configuration, if ever not set automatically, is gained by tweaking with Xorg's .conf files, following xorg.conf man page.
Always check also if auto-generated main file /etc/X11/xorg.conf does not contain any option/section that conflicts with your custom .conf files.

and the mouse settings show "sysmouse" which doesn't seem to affect any change to how my mouse is actually working.

Now, I've never used xfce4-settings, but if it displays /dev/sysmouse as detected device, then you likely have
Code:
Option "Device" "/dev/sysmouse"
under Mouse0 InputDevice in /etc/X11/xorg.conf.

sysmouse(4) driver is meant to be used in conjunction with moused(8) daemon enabled (which allows using a pointer in ttyv*s without Xorg running), so as to share the mouse driver from console to user processes like Xorg, and avoid issues when running an X session with moused active FreeBSD also provides psm(4) driver for parallel mouses, and ums(4) for USB ones. If a parallel/usb mouse is detected, respective driver will be loaded, an you should see a /dev/psm* or a /dev/ums* device listed, along with /dev/sysmouse. Touchpads will be listed in /dev as psm too.

Speaking of Xorg instead, there are many input/pointer drivers to use, see x11-drivers, but for mouses you're generally going to use x11-drivers/xf86-input-mouse, while for synaptics touchpads x11-drivers/xf86-input-synaptics . Now There's also the more recent x11-drivers/xf86-input-libinput, which should provide good support for both mouses and touchpads, but I haven't given it a try yet.

Again, it is much better to handle Mouse/Touchpad configuration through a .conf file in /usr/local/etc/X11/xorg.conf.d, than relying on DE-specific configuration tools.

In Xorg configuration files, xf86-input-mouse drive is always referred in as "mouse" while xf86-input-synaptics as "synaptics".

A generic USB mouse entry should look like that:

Code:
Section "ServerLayout"
  InputDevice "Mouse0" "CorePointer"
.....
EndSection

...

Section "InputDevice"
  Identifier "Mouse0"
  Driver "mouse"
  Option "Protocol" "auto"
  Option "Device"   "/dev/ums0"
  .....
EndSection
Option "Device" needs to point to your device listed under "/dev" in accordance the FreeBSD's driver loaded: ums* for USB devices, psm* for PS/2 devices and Synaptics Touchpads (sysmouse should work as well, though it's been reported sometimes synaptics does not get along well with moused enabled), sysmouse in conjunction with moused. In my experience moused+sysmouse+xf86-input-mouse is the only choice if coping with serial mouses and unsupported Touchpads (like ALPS).

Basic concepts if dealing instead with a synaptics touchpad:

a) "Mouse0" has to be replaced with "Touchpad0" under InputDevice and Identifier

b) "mouse" under Driver, needs to be replaced with "synaptics", like stated above

c) Option "Device" needs point to "psm0" in most cases

Now I don't know which kind of device are you on, but if it's listed as "dev/sysmouse" you can leave it the way it is, what you have to change ar other params (like "Driver"), and above all, add more "Option"(s) so as to match you're pointer's case, and tweak with them until reaching a comfortable and satisfying configuration. Bear in mind that if you're onto a non-Synaptics Touchpad (unlikely case), there's little to be done, and it will never behave they way you expected.

To learn of the various options and tunables available, and what do they do, please refer to official X11-mouse man page, while for synaptics xorg configuration in FreeBSD, see synaptics(4).

In order to use the Xorg synaptics driver, you'll also need to enable synaptics extended support for psm driver, by adding:
Code:
hw.psm.synaptics_support=1
to /boot/loader.conf

There are also many sysctl(8)values available to be adjusted for synaptics touchpads; look at FreeBSD wiki, SynapticsTouchpad.
To set them permanently, you'll have to add them to your /etc/sysctl.conf

I also cannot change screen brightness via the keyboard keys, but I'm assuming that will be fixed or at least requires xfce to be able to manage the display settings.

If laptop model is supported by any of the specific acpi drivers:
Then look over any of those man pages to find out how to adjust brightness; naturally tou'll have to load the kernel module matching your computer's brand

If not, try checking if standard acpi_video(4) supports brightness tuning on your monitor:

1) load the driver: kldload acpi_video (to load it permanently at boot add acpi_video_load="YES" to /boot/loader.conf)

2) find your monitor supported brightness levels: [I]sysctl hw.acpi.video.[/I]<[I]device[/I]>[I].levels[/I]. Replace device with your monitor. For my LCD screen, acceptable values are:
Code:
hw.acpi.video.lcd0.levels: 90 34 26 34 44 57 69 80 90 100

3) set the brightness to the supported value of your like: sysctl
[I]hw.acpi.video.[/I]<[I]device[/I]>[I].brightness[/I]=<value>

Put this string in /etc/sysctl.conf to set it as default

Now, provided acpi_video supports dynamical brightness adjusting on your monitor, you can more easily tweak it for the current session using xbacklight(1) for backlight and xbrightness(1) for brightness, or even xrandr --brightness

Given always your monitor is supported by acpi_video, you can make the multimedia keys for brightness work, by going into XFCE keyboard settings, and associating

a)
Code:
XF86MonBrightnessUp
to a working command of your choice for brightness increasing (Ex. exec xbacklight -inc 10)
b)
Code:
XF86MonBrightnessDown
to a working command for brightness decreasing (Ex. xbacklight -dec 10

However, instead of relying on a DE specific tool, I'd try to achieve this with a more suitable generic utility, like x11/xbindkeys. Place any bound keyboard button inside your Xorg init script (.xinitrc, .xsession, .xprofile) so that Multimedia keys will be always available regardless of which DE/WM you're on
 
Back
Top